
Overview
Nine people in a room in Bhiwandi spent their day being a relay. A customer called to ask where a truck was, a coordinator called the driver, the driver pulled over, and the answer came back four minutes later. Proof of delivery lived as photographs in personal WhatsApp chats, so detention disputes months later came down to whose memory sounded more confident.
The challenge
- Around 1,400 status calls a day into a nine-person control room.
- ePOD scattered across drivers' personal phones and chat threads.
- No dependable record of loading and unloading times, so detention was rarely billed.
- Long-haul routes with hours of no coverage, which most apps handle badly.
How we approached it
Offline first, because the highway does not care
Trip events, ePOD photos and signatures record locally and sync when signal returns, in the right order. We tested this on the Nashik and Nagpur routes with real drivers, not in an office with airplane mode on.
Let the customer ask the bot
A docket number sent to a WhatsApp number returns live location, ETA and the ePOD. Most of the 1,400 daily calls were this one question.
Timestamps nobody can argue with
Geofences record arrival and departure at each site automatically, so detention becomes a data question instead of an argument.
Show only what is going wrong
The control room screen lists late, idling and off-route trips. Everything running fine stays off the screen — that was the coordinators' own request.
What we built
Technology stack
Mobile
- Flutter
- Offline sync
- Background location
Backend
- Node.js
- PostgreSQL
- WebSockets
Channels
- WhatsApp Business API
- Maps APIs
The results
inbound support calls
trips handled per year
detention charges recovered
ePOD capture rate
"Driver adoption was my worry and it was slow for three weeks. Once they saw the app got them paid faster for waiting time, it sorted itself out. The control room manages exceptions now instead of answering the same question all day."



