EzeFare Driver & Employee
One React Native codebase, two Android apps on Google Play: live trips for drivers and the employees they pick up.

The product
Drivers start trips, verify each pickup with a 4-digit code and can raise an SOS; employees opt out of or re-join their next trip and watch the vehicle arrive on a live map. One Expo codebase picks which app it is at build time.
These are the mobile half of the EzeFare platform. I built the socket layer, the driver GPS publisher, the optimistic updates and the release and store-readiness fixes.
Under the hood
THE ENGINEERING
- 01
APP_ROLE picks Driver or Employee at build time; 8 EAS profiles cover development, preview and production for both
- 02
Driver GPS over Socket.IO while a trip is in progress, with an HTTP fallback and a heartbeat that keeps a parked vehicle live on the map
- 03
Optimistic updates with rollback: opt-outs, pickups and no-shows update the TanStack Query cache first and restore a snapshot on error
- 04
The rider's map re-joins the trip room on every reconnect
- 05
Release fixes: text went blank in release APKs until the fonts were embedded natively; a root error boundary replaces a white screen; Play-flagged permissions stripped
- 06
Store readiness: in-app account deletion, legal links and driver vehicle documents
In the product

Next case study
GeoStamp →