Logistics & Supply Chain

HaulPilot

Every mile planned, priced and accounted for.

Client
Crossland Logistics
Year
2020
Duration
9 months
Team size
6 engineers
HaulPilot

Interactive Demo

A hands-on mock of the product we built — click around.

app.haulpilot.com
NETWORK LIVE · re-plan every 15 min08:16:09OPS · Crossland
On-time delivery
94.2%▲ 0.6
Active loads
142▲ 3 today
Empty miles
18.4%▼ from 31%
Fuel cost / mile
61.7p▼ 2.1p WoW
LiverpoolManchesterLeeds ▣HullYorkNewcastleSheffieldBirminghamHP-214HP-087HP-342HP-156HP-501
Live alerts
  • 08:16Booking window risk: ASOS Leeds drop #4481 closes in 40 min
  • 08:16Solver re-plan complete: 3 routes improved, 41 road-miles saved
  • 08:16HP-342 held at J24 M6 — traffic incident, +22 min projected

Demo interface shown in English.

01

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.

02

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.

03

Results

-14%
Fuel spend across the fleet
+22%
On-time deliveries
40 min
Daily planning time, down from 9 hours
-31%
Empty miles driven

Technology stack

PythonOSRMPostGISApache KafkaReactMapboxKubernetes

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 project

Next case study

Lumina Learn →