Skip to content
Hananiah Asare

Intra Bus Mobile

Conductor app for bus shift management and on-board ticketing, built to keep working when the signal drops.

Flutter · Riverpod

The source for this one is in a private repository, so there's no public link. Happy to walk through it on request.

screens

Conductor sign-in, by employee ID
Shift dashboard with quick actions
Starting a shift: pick the bus and route
An active shift, with live revenue and transaction counts
Recording a fare against boarding and alighting stops
Reporting a breakdown, accident or dispute
Past shifts, each showing its reconciled state

overview

The conductor-facing companion to Intra Bus Server. Conductors use it to manage their shift and issue tickets on board.

Buses lose signal constantly on intercity routes, so the app is built offline-first: tickets are written to a local Hive store and reconciled with the server once connectivity returns, rather than failing at the point of sale.

highlights

  • Offline-first ticketing with local persistence
  • Connectivity-aware sync back to the server
  • Riverpod for state management
  • Declarative routing with go_router
  • Credentials in platform secure storage

stack

Framework

Flutter Dart

State

flutter_riverpod

Networking

dio connectivity_plus

Storage

hive hive_flutter flutter_secure_storage

Routing

go_router