Offline-first field operations for a logistics company
Paper forms retired. Field records now arrive as work happens — from the road, without signal — and the branch office stopped re-keying data at the end of every day.
The situation
Drivers and field inspectors worked on paper. Delivery confirmations, inspection notes, and exception reports were filled in by hand and re-entered at branch offices at the end of each day. The result was a familiar one: data arrived late, errors slipped through re-keying, and dispatch had no live view of what was happening in the field.
Connectivity made the obvious solution impossible. Much of the daily route runs through areas with weak or no mobile signal, so a conventional “just use an online app” design would have failed on day one.
The approach
We started with paid discovery: riding along with drivers, sitting with dispatchers, and mapping where each paper form actually went. That defined the scope — and ruled out several features that looked good in a workshop but had no user in the field.
The application is native Android in Kotlin, built offline-first: every record is stored locally first, then synchronized when connectivity returns, with conflict handling designed around how field staff actually correct mistakes. Task assignment, proof of delivery with photo capture, and exception reporting replaced the paper forms one-for-one, so training took hours rather than weeks.
Rollout was staged branch by branch, with training materials in Vietnamese. Automated tests and a release pipeline let us ship fixes within days of field reports, and monitoring tells us when sync failures or crashes appear before users complain.
The outcome
End-of-day re-keying at branch offices was eliminated. Records arrive as work happens, not hours later.
Synchronization is measured and monitored; field data reaches the back office intact, without manual intervention.
The rollout expanded branch by branch after the first deployment proved itself in daily use.
Where it stands now
The product runs on a post-launch retainer: monitoring, maintenance, and a steady stream of improvements driven by field feedback. The paper forms have not come back.