Il client del conducente è scritto in Kotlin con Jetpack Compose per l'interfaccia utente e un foreground service sviluppato sulle API di posizione Android. Il foreground service è obbligatorio: sulle famiglie di dispositivi Samsung, Xiaomi, OnePlus e Pixel, gli ottimizzatori aggressivi della batteria terminano i processi di streaming della posizione solo in background entro pochi minuti, rompendo il contratto di dispatch a cui un conducente aderisce implicitamente all'inizio di un turno. Il servizio mostra una notifica persistente minimale, richiede il permesso di posizione in foreground con una comunicazione chiara dello scopo che il revisore Google Play si aspetta, e pubblica la posizione GPS su una connessione WebSocket persistente a cadenza di un secondo. WorkManager gestisce le operazioni non urgenti — sincronizzazione guadagni, ricaricamento documenti, riepiloghi del turno — con semantica di backoff che rispetta la modalità Doze e il risparmio batteria su Android 10 fino ad Android 14.
Il ciclo di vita del turno è la spina dorsale dell'esperienza del conducente. Un conducente apre l'app, completa un rapido controllo del veicolo, tocca «Vai online» e l'app si muove attraverso una macchina a stati chiara — online, in rotta, in corsa, in chiusura, offline. Ogni stato scrive nel registro immutabile degli eventi di corsa sul backend, che alimenta successivamente i report audit-ready per le autorità di regolamentazione USA e UE. I pagamenti in contanti e carta chiudono entrambi la corsa attraverso lo stesso flusso: un tap per accettare il contante, o una ricevuta di pagamento con carta che il passeggero vede istantaneamente nella propria app. Lo stesso team ingegneristico porta iOS e Android in lockstep nell'ambito della nostra pratica di sviluppo di app mobile.