PowWater
ShippedAutomated dispatch for water delivery across fill-site assignment, route optimisation and fleet management, cutting delivery from 2–3 hours to roughly 45 minutes.
- TypeScript
- React
- Node.js
- RabbitMQ
- Postgres
- Google Maps
Delivery from 2–3 hours to roughly 45 minutes, with higher driver utilisation. Data-driven load balancing across high-volume dispatchers.
What was broken.
Water delivery was dispatched by hand. A dispatcher picked the fill site, the driver and the route for each order out of their own head, deliveries took two to three hours, drivers idled between jobs, and the dispatchers handling the most volume were the ones most likely to become the bottleneck.
How it is wired.
A dispatch service in TypeScript on Node over Postgres, with RabbitMQ and the Google Maps APIs. It automates what a dispatcher had been doing by hand across three areas — fill-site assignment, route optimisation and fleet management — with data-driven load balancing across the high-volume dispatchers. The logistics front end was redesigned in React.
What I shipped.
- Automated fill-site assignment, route optimisation and fleet management across the dispatch flow
- Data-driven load balancing across the high-volume dispatchers
- Redesigned the logistics front end in React
- Unit, integration and end-to-end test coverage
What changed.
- 45min
- Delivery time, from 2–3 hours
Why these choices.
Automated the per-order decision rather than leaving it to a dispatcher with a better screen in front of them, and redesigned the front end in the same engagement rather than instead of it.