Mobile Apps
A React Native delivery app tracking 5,000 couriers live
Swiftly's couriers ran on WhatsApp and phone calls. We built a React Native app with live GPS tracking, smart route batching, and offline support for 5,000 daily riders.
0K
couriers tracked daily
0%
fewer failed deliveries
0x
battery life on shift
01 · The challenge
Swiftly dispatches 5,000 couriers a day across three cities, and the entire operation ran on WhatsApp groups. Dispatchers could not see where riders were, customers could not track parcels, and failed deliveries were discovered hours later.
Courier phones are the hard part: cheap Android devices, patchy data coverage, and batteries that die mid-shift. An app that only works on good hardware with good signal would have failed on day one.
02 · The solution
We built a React Native app designed for the worst phone on the worst network: an offline-first queue that syncs when signal returns, battery-aware GPS sampling, and a UI that works one-handed on a motorbike in traffic.
Dispatchers got a live map of every rider with automatic route batching, and customers got a tracking link with a real ETA. Proof of delivery photos upload in the background and never block the next job.
03 · How we did it
Ride along first
Two days shadowing couriers and dispatchers to see the real workflow, the real phones, and the real dead zones.
Offline as the default
Every action queues locally and syncs opportunistically, so the app works the same with zero bars as with full signal.
Battery-aware tracking
Adaptive GPS sampling that tightens near pickup and drop points and relaxes in transit, doubling battery life on shift.
Roll out city by city
One city as pilot with daily feedback loops, then the playbook repeated across the remaining fleet in two weeks.
“We went from WhatsApp chaos to watching the whole fleet live on one screen. Failed deliveries dropped by a third in the first month.”
Want results like this?
Tell us where your numbers are today and we will show you what they could look like.