← Back to News & Media

How a fleet operator went paperless — 5,000+ jobs a day across drivers, dispatch and billing

5,000+jobs / day
−95%reconciliation time
Same-dayinvoicing
−88%delivery disputes

The customer (we’ll call them North Star Logistics) runs a regional fleet that moves between 4,500 and 5,500 jobs a day. When they came to us, every job started life on a paper docket, was dispatched over a WhatsApp group, and reconciled into three different spreadsheets at the end of the week. The week-end reconciliation took two full-time admins three days.

Today the entire flow runs on a custom platform we built — driver app, dispatcher web console, REST + event backbone, proof-of-delivery capture, automated invoicing. Reconciliation is twenty minutes. Here’s how it shipped.

The constraints

  • Don’t break the route. Drivers had to stay productive every single day of the migration. No “flag day.”
  • Patchy connectivity. Half the routes go through dead zones. The driver app had to be offline-first.
  • The dispatchers are the experts. Twenty years of routing knowledge between three people. The product had to amplify them, not replace them.
  • Paper as the source of truth, until it wasn’t. For the first six weeks, paper still won any disagreement.

The architecture

Boring on purpose:

  • React Native driver app with SQLite + a sync layer. All actions queue locally and replay when connectivity returns.
  • Node.js + TypeScript API behind an ALB; Postgres for state, Kafka for events, Redis for live dispatch board.
  • Dispatcher web console (React) driven by the same event stream so live job state is identical across drivers, dispatch and ops.
  • Generated PDFs for invoices and customer-facing proof-of-delivery, stored in S3 with KMS encryption.

The migration plan that actually worked

  1. Shadow week. Drivers carried the app and the paper docket. Every action got entered both ways. We compared the two sets nightly for a week and fixed every disagreement.
  2. App-of-record on one route. The route with the most patient driver and the friendliest customer. App becomes source of truth; paper becomes backup.
  3. Roll forward by route. One route per week, in order of difficulty. Every roll-forward had a documented rollback — we never used one, but it changes the conversation when you have it.
  4. Kill the spreadsheets last. Reconciliation moved into the platform only after sixty consecutive days of zero reconciliation deltas.
The hardest part of going paperless isn’t the software — it’s convincing the people who’ve been doing it on paper for twenty years that you’re not about to break their week.

What changed

  • Reconciliation: 3 admin-days per week → ~20 minutes.
  • Time from delivery to invoice: 6–9 days → same day.
  • Disputed deliveries: ~3.5% → under 0.4% (proof-of-delivery photos and timestamps did most of that).
  • Dispatcher capacity: same three people now comfortably handle ~20% more volume.
What we’d do differently

We under-invested in the dispatcher console for the first month. We thought driver UX was the risk; the real risk was a dispatcher tool that didn’t match how they actually planned. Lesson: ride the truck, sit with dispatch, then write the spec.

If you’re running a logistics, field-service or last-mile operation and reconciliation is eating your week, come and talk to us.

Have a job we could help with?

30-minute call. Senior engineer on the line. We’ll tell you whether AI, cloud or a custom build is the right tool — even if the answer’s no.