HaulPilot
Every mile planned, priced and accounted for.
- Client
- Crossland Logistics
- Year
- 2020
- Duration
- 9 months
- Team size
- 6 engineers

Interactive Demo
A hands-on mock of the product we built — click around.
Demo interface shown in English.
The challenge
Crossland’s planners built each day’s routes in spreadsheets, starting at 4 a.m. and often finishing after the first trucks should already have left. Fuel was the second-largest cost line and rising; 31% of miles were driven empty, and one in five deliveries missed its window, triggering penalty clauses with two national retailers. Telematics data existed — tachographs streamed it into a legacy system — but nobody could see vehicle position, driver hours and delivery promises on a single screen. The operations director needed optimisation that respected drivers’ hours rules, vehicle weight limits and customer time windows simultaneously, without hiring a team of mathematicians to run it.
Our solution
We built HaulPilot around a Python optimisation engine on OSRM and PostGIS that re-plans the network every fifteen minutes against live constraints: drivers’ hours, axle weights, traffic and booking windows. Kafka streams tachograph and GPS events into a React dispatch console rendered with Mapbox, so planners drag exceptions into place instead of rebuilding plans. A companion driver app handles navigation, proof-of-delivery photos and digital signatures. Everything runs on Kubernetes with blue-green deploys, and the solver is benchmarked nightly against the previous day’s actuals — its suggestions now beat manual plans in 94% of simulated days.
Results
Technology stack
Facing a similar challenge?
We've solved this class of problem before. Let's talk about how that experience applies to your situation.
Discuss your projectNext case study
Lumina Learn →