All work
Logistics · Mar 2024 – Feb 2025

PowWater

Shipped

Automated dispatch for water delivery across fill-site assignment, route optimisation and fleet management, cutting delivery from 2–3 hours to roughly 45 minutes.

Role
Senior Software Developer
  • TypeScript
  • React
  • Node.js
  • RabbitMQ
  • Postgres
  • Google Maps
What is checkable

Delivery from 2–3 hours to roughly 45 minutes, with higher driver utilisation. Data-driven load balancing across high-volume dispatchers.

Problem

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.

Architecture

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.

Build

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
Outcomes

What changed.

45min
Delivery time, from 2–3 hours
Tradeoffs

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.