Google Sign-In Required

Use your company Google account to access the BetterFleet private content.

Back to private home

BetterFleet Support Private
Skip to content
BetterFleet Dev Wiki
Challenge
Initializing search
    bf-dev
    • Home
    • Process
    • Products
    • Reference
    • Decisions
    • Work
    • Operations
    bf-dev
    • Home
      • Process Handbook
      • BetterFleet Workflow Map
      • Product Development System
      • Product Engineering Workflow
        • Process Workflows
        • Work Intake and Weekly Planning
        • Product Engineering Workflow in Linear
        • Product Engineering Delivery
        • Agent Guidance
        • Workflow
        • Skills
        • Skill Sources
        • Process Guides
        • GitLab Feature Flags
        • In-App Docs Authoring
        • Release Notes
        • Process Templates
        • Release Plan: <title>
      • Process Publishing
      • Product overview
        • General Reference
          • Core Domain Training
          • System Topology
          • Two-Axis Ontology Model
          • Ontology Primer
          • Worked Example
          • Evidence, Ownership, and Lineage
          • Energy Management
          • Standards and Protocol Map
          • Charging, Roaming, and Commercial Model
          • Charge Planning and Operations
          • Cross-Cutting Domains
          • Domain Coverage Matrix
        • BetterFleet Product Ontology
        • Core Operations Data Ontology
        • BetterFleet R&D Plan
        • Index
        • Architecture
        • Manage Product Capabilities
        • Manage Data and State
        • Manage Service Interaction Flows
        • Manage Reference
        • Manage Internal Application Diagrams
          • Manage Authorization And Permissions
          • bf-manage-core Auth and Authorization Model
          • Manage Authorization and Permissions
          • bf-manage-web Auth and Permission Model
          • Manage Service Catalog
          • bf-depot-sim
          • bf-digital-twin (Manage Role)
          • bf-fleet-health
          • bf-manage-connect
          • bf-manage-core
          • bf-manage-incidents
          • bf-manage-roaming
          • bf-manage-sitepwrmon
          • bf-manage-web
          • bf-schedule-creator (Manage Role)
          • bf-support-microsite
          • bf-telematics
        • Index
        • Architecture
        • Plan Reference
        • Plan Internal Application Diagrams
        • Plan Migration and Flags
        • Plan Simulation Request Lifecycle
          • Plan Service Catalog
          • bf-bnl-schedule-analysis-compute
          • bf-bnl-settings
          • bf-bnl-ui
          • bf-digital-twin (Plan Role)
          • bf-route-modelling
          • bf-schedule-creator (Plan Role)
      • Where to Ask Product Questions
      • Reference
        • Platform Reference
        • Platform Architecture
        • Script Runtime Model
        • Compose Profiles and Modes
        • Repository Map
        • Monolithic Git Transition FAQ
        • Monolithic Git Sizing
        • CI and Release Integration
        • Shared Reference
        • Shared Infrastructure Architecture
        • Secrets and Env Strategy
        • Vendors and Local Dependencies
        • System Reference
        • Cloud Data Dependencies
        • Ports and URLs
        • Service Matrix
          • API Docs
          • OCPI API Docs
          • OCPP API Docs
          • OSCP API Docs
          • VDV API Docs
          • Yard State API Docs
        • System Design
        • System Design: BBA Microgrid Controller Generic Packet Translation
        • System Design: Depot Simulation
        • System Design: IoT Sensor Packet
        • System Design: Microgrid Energy Orchestration
          • System Design: OCPP Profile 3 And ISO 15118 PKI
          • Architecture: BetterFleet OCPP Profile 3 and ISO 15118 PKI
          • Specification: BetterFleet OCPP Profile 3 and ISO 15118 Certificate Lifecycle Management
          • System Design: On-Prem Control
          • Challenge
          • Specification: BetterFleet On-Prem Continuity Control
          • System Design: OSCP
          • OSCP Protocol Documentation
          • Depot Sim Testing Requirements
          • System Design: OSCP Flexibility Provider Domain
      • Decisions
        • Architecture Decision Records
        • 0001 - Record architecture decisions
        • 0002 - Cognito for Authentication and Authorisation
        • 0003 - AWS Amplify for Authentication
        • 0004 - DynamoDB for default database
        • 0005 - Data Persistence
        • 0006 - Trunk-Based Development
        • 0007 - Generalised principle for automation
        • 0008 - Naming Repositories, Services, and URLs
        • 0009 - Use Timezone Aware DateTimes and UTC
        • 0010 - Use semantic release
        • 0011 - Centralized feature flag repository
        • 0012 - Use Named Exports in Storybook
        • 0013 - RESTful TITLE GraphQL
        • 0014 - Service Granularity
        • 0015 - Async/co-routine exception handling pattern
        • 0016 - Logging & log levels
        • 0017 - Instantiated Models
        • 0018 - Repository Pattern for Database Access
        • 0019 - Use of Design Tokens in TypeScript React Application
        • 0020 - API backwards compatibility and versioning
        • 0021 - Alembic Migration strategy
        • 0022 - Consistent react-hook-form usage
        • 0023 - Domain Event-Driven Architecture
        • 0024 - Domain Event Bus Tech Stack
        • 0025 - No enum types in DB table columns
        • 0026 - In-Memory Ormar Stores for Repository testing
        • 0027 - Storing Tab State in Query and Local Storage
        • 0028 - Adopt OpenTelemetry Semantic Conventions for Structured Logging
        • 0029 - Adopt RFC 9457 for HTTP Error Responses
        • 0030 - Use GitLab registry and Terraform state for ECS services
        • 0031 - Adopt DDD, Hexagonal Architecture, and CQRS for Python Domain Services
      • Work
        • Active Work
          • Work: Bba Microgrid Controller
          • Implementation Specification: BBA Microgrid Controller
          • BBA Microgrid Controller Deliverables (Stories)
          • Work: BFDev Monolithic Git
          • Challenge
          • Specification: BFDev Monolithic Git v2
          • BFDev Monolithic Git v2 Stories
          • Work: Complex Circuit Load Balancing
          • Implementation Specification: Complex Circuit Load Balancing
          • Complex Circuit Load Balancing Deliverables (Stories)
            • COR-10 and COR-11 Consolidation Review
          • Work: Dispatch Reliability and Reconciliation
          • Challenge
          • Specification: Dispatch Reliability and Reconciliation
          • Dispatch Reliability and Reconciliation (Unit User Stories)
            • Dispatch populated vehicle cards grey surface snapshot
            • Dispatch Visual Review
          • Work: Enable Scheduled Managed Charger Access
          • Challenge: Enable Scheduled Managed Charger Access
          • Specification Exploration Dossier: Enable Scheduled Managed Charger Access
          • Specification Review: Enable Scheduled Managed Charger Access
          • Specification: Enable Scheduled Managed Charger Access
          • Work: Guided Cut-Off and Release Orchestration
          • Specification: Guided Cut-Off and Release Orchestration
          • Guided Cut-Off and Release Orchestration (Unit User Stories)
          • Work: Production Deployment Validation
          • Challenge
          • Work: Scheduled Report Parity
          • Specification: Scheduled Report Parity
          • Work: Telematics
          • Telematics EventBridge Path
          • Telematics Ingress Architecture
          • Specification: Telematics Migration into bf-manage-core with 5-Minute Freshness and Health Visibility
          • Telematics Core Migration MVP (Implementation-Time BDD)
          • Work: Vector Derms
          • Implementation Specification: Vector DERMS
          • Vector DERMS Deliverables (Stories)
          • Work: Visiting Vehicle Charging Visibility
          • Specification: Visiting Vehicle Charging Visibility
          • Visiting Vehicle Charging Visibility (Unit User Stories)
          • Work: Workspace Owned Stripe Roaming
          • Specification: Workspace-Owned Stripe Credentials for Roaming Payments
        • Backlog Work
          • Work: Microgrid
          • Microgrid Backlog Stories
          • Work: Mobile Ops Companion
          • Challenge
            • Challenge: Mobile Operations Companion
            • Motivation
            • Context
              • High-Level Use Cases / JTBD
            • Current State -> Desired State
            • Assumptions & Open Questions
            • Constraints & Out of Scope
            • Evaluation
            • Risks & Opportunities
            • Solution Ideas & Tradeoffs
            • Release Sequencing
          • Specification: Mobile Operations Companion v1
          • Mobile Operations Companion Deliverables (Stories)
          • Work: Oscp
          • OSCP Backlog Stories
        • Archived Work
          • Work: Code Canonical Orchestration
          • Challenge
          • Specification: Product Engineering Workflow
          • Product Engineering Workflow Deliverables (Unit User Stories)
          • Work: Release Notes Automation
          • Release Plan: Release Notes Automation
          • Release Notes Automation Backlog Stories
      • Operations
      • Onboarding Runbook
        • Operations Runbooks
        • Production Hotfix Release
        • Staging Hotfix Release
        • Manage Staging Release Validation
        • Terraform Plan Dry Runs
        • Operations Tooling
        • Code Indexing
        • Operations Evidence
        • Database Restoration Test Report
      • Daily Operations Runbook
      • Testing Guide
      • Troubleshooting
    • Challenge: Mobile Operations Companion
    • Motivation
    • Context
      • High-Level Use Cases / JTBD
    • Current State -> Desired State
    • Assumptions & Open Questions
    • Constraints & Out of Scope
    • Evaluation
    • Risks & Opportunities
    • Solution Ideas & Tradeoffs
    • Release Sequencing
    1. Home
    2. Work
    3. Backlog
    4. Mobile ops companion

    Challenge

    Challenge: Mobile Operations Companion¶

    How might we deliver a focused, WCAG-conscious mobile companion inside BetterFleet Manage so depot-floor operators can monitor chargers, vehicles, and active incidents while walking the yard without changing how the main desktop tool operates?

    Motivation¶

    • The current Manage experience is desktop-first and assumes a fixed sidebar workspace suited to planning, configuration, and wide-table analysis.
    • Yard operators and depot floor supervisors need a faster, smaller workflow for checking live charging activity, spotting issues, and acting on a limited set of operational controls from a phone-sized screen.
    • The first mobile slice needs to stay narrow so it can ship safely without rewriting the desktop tool or introducing a new backend surface.
    • Accessibility needs to be explicit from the start for the delivered mobile slice, especially around reflow, touch targets, focus order, and non-color status cues.

    Context¶

    • The mobile slice will live inside bf-manage-web under a separate /mobile namespace.
    • The primary user is a depot-scoped operator who is already authenticated and is working within one selected depot while physically moving around the site.
    • Existing auth, depot context, permissions, feature flags, charger actions, and data hooks should be reused.
    • The desktop routes, layout, nav, and service-worker behavior should continue to operate exactly as they do today.

    High-Level Use Cases / JTBD¶

    • As a yard operator, I want a phone-friendly home screen so I can see whether the site has active incidents, chargers needing attention, or vehicles needing attention before I start walking the yard.
    • As a yard operator, I want a list-first yard view so I can check vehicle and charger location/status without relying on pinch, drag, or precise spatial gestures.
    • As a depot floor supervisor, I want charger detail screens with a very small set of confirmed actions so I can request soft reset, remote start/stop, or cable release without exposing the wider desktop action surface.
    • As an operations user, I want active incident detail with affected assets and event history so I can move from an alert to the relevant charger quickly.
    • As a product team, I want the mobile slice to remain isolated so we can iterate without destabilising the main web tool.

    Current State -> Desired State¶

    Current State (Pain/Gain) Desired Outcome Success Measure
    Pain: desktop-first layout is cumbersome on phones A dedicated /mobile shell supports key mobile tasks Users can complete core mobile tasks without using desktop nav
    Pain: yard-walk use cases are buried inside broad desktop screens Mobile screens focus on depot-scoped awareness and limited action Operators can reach incidents, chargers, and yard state within one or two taps
    Pain: existing spatial yard views are not sufficient on their own for mobile accessibility Yard data is available through an accessible synchronized list-first experience Primary mobile yard interactions work without relying on spatial interpretation
    Pain: mobile actions could easily expand into unsafe parity with desktop controls Only a narrow, approved operational action set is exposed Soft reset, remote start/stop, and cable release are the only mobile controls
    Gain to unlock: iterative mobile delivery A small separate slice can evolve without changing the desktop surface Desktop regression risk stays low while mobile scope can grow deliberately

    Assumptions & Open Questions¶

    • Key assumptions:
      • Mobile use is depot-scoped, not workspace-wide, in phase 1.
      • Existing data contracts are sufficient for the first mobile slice.
      • WCAG 2.2 AA compliance claims apply to the delivered mobile slice only.
    • Open questions:
      • No blocking open questions remain for phase 1 delivery.

    Constraints & Out of Scope¶

    • Constraints:
      • Keep desktop routes and desktop shell behavior intact.
      • Reuse existing auth session, depot context, permissions, and feature flags.
      • Do not add offline mode, background sync, or service-worker caching.
      • Keep the mobile action surface deliberately narrow and confirmation-driven.
    • Out of scope:
      • Desktop route rewrites.
      • Dispatch, timeline, settings, and workspace-wide mobile administration.
      • Out-of-depot telematics map.
      • Charger settings edits, power overrides, hard reset, and depot vehicle-location editing.
      • Incident resolution from mobile in phase 1.

    Evaluation¶

    • User value:
      • Faster situational awareness for people physically working in the depot.
      • Fewer taps and less visual noise on a phone-sized screen.
      • Safer action flows with accessible confirmation and feedback.
    • Business value:
      • Unlocks a mobile-specific operations surface without forcing a broad product redesign.
      • Creates a governed, testable iteration path for future mobile expansion.

    Risks & Opportunities¶

    • Risks:
      • The mobile slice becomes a partial desktop clone instead of a focused companion.
      • Yard visibility becomes inaccessible if the visual layout is treated as the primary interface.
      • Mobile actions become harder to govern if feature-flag and permission seams drift from desktop rules.
    • Opportunities:
      • Establish a reusable mobile shell and route namespace for future small-scope mobile capabilities.
      • Improve accessibility discipline by making WCAG requirements explicit in a narrowly defined surface.

    Solution Ideas & Tradeoffs¶

    • Idea A (Preferred): build a separate /mobile companion shell with focused screens and existing service hooks.
      • Best for protecting the desktop surface while shipping mobile value quickly.
    • Idea B: retrofit the current desktop routes into responsive variants.
      • Reuses more UI, but carries much higher regression risk and weaker task focus.
    • Idea C: create a standalone mobile app or PWA-first offline surface immediately.
      • Could support richer mobile workflows later, but is unnecessary and too broad for the first slice.

    Release Sequencing¶

    • Natural order:
      • Define the governed challenge, specification, and story set.
      • Add the mobile route namespace, feature flag, and dedicated shell.
      • Deliver the four phase-1 screens and narrow charger actions.
      • Add targeted tests, docs, and release-note updates.
    Made with Material for MkDocs
    BFDev Docs Assistant
    New conversation?
    Ask one focused question at a time, this helps the assistant provide accurate answers about what's been implemented in BetterFleet.