Logistics · 2026
Replacing a spreadsheet-run dispatch process with a live platform
A 40-vehicle fleet was being dispatched from a shared spreadsheet. We replaced it with a real-time platform and gave the planners their mornings back.
- Client
- A UK third-party logistics operator
- Duration
- 14 weeks
- Services
- Software Engineering, Cloud & Infrastructure
- 3h → 20m
- Daily dispatch planning
- Zero
- Double-booked vehicles since launch
- 40
- Vehicles live on the platform
The challenge
Every morning a planner rebuilt the day's schedule by hand in a spreadsheet shared across three sites. Two people editing the same row meant double-booked vehicles, and the only way a driver could confirm a change was to phone the office. Nobody could answer 'where is that load right now' without making three calls. The process consumed roughly three hours of senior planner time a day, and got worse every time the fleet grew.
What we did
- 01
Spent the first two weeks on site shadowing planners and drivers rather than gathering requirements in a meeting room. The spreadsheet encoded years of undocumented rules nobody had written down.
- 02
Modelled the domain properly around jobs, vehicles, drivers, and shifts, so scheduling conflicts became impossible to represent rather than merely discouraged.
- 03
Built a live dispatch board backed by WebSockets so every site sees the same state within a second, with optimistic locking to make concurrent edits safe.
- 04
Shipped a lightweight driver app as an installable PWA — the fleet runs on mixed Android hardware, and a native app would have doubled the timeline for no benefit.
- 05
Integrated the existing telematics feed and incumbent ERP rather than replacing them, keeping the change contained to the process that was actually broken.
The outcome
Daily planning dropped from around three hours to under twenty minutes. Double-bookings stopped entirely, because the data model no longer permits them. Drivers self-serve their schedules, which removed most inbound phone traffic to the office. The platform went live site-by-site over three weeks with no interruption to operations.
Built with
- TypeScript
- React
- Node.js
- PostgreSQL
- WebSockets
- Cloudflare
“What surprised me was how much of the first month was them asking questions rather than writing code. By the time we saw software, it already worked the way we actually run.”
Next case study
Next step
Have something
similar?
Most of our work starts with a company that knows something is wrong but isn't sure what to build. That's a good place to begin.