Case study · Logistics
A national logistics operator running 1,200 trucks across regional fleets needed to reduce fuel spend without increasing missed-delivery rates. We replaced their batch routing system with a real-time event-driven architecture, built a reinforcement-learning dispatch engine, and co-built the dispatcher UI with the operations team during rollout.
The challenge
The operator ran a batch routing system that processed dispatches twice daily. By midmorning, the schedule was outdated by traffic, weather, customer reschedules, and driver availability changes. Dispatchers spent the day overriding the schedule manually — and the routing engine learned nothing from those overrides.
Our approach
Migrated from batch jobs to event-driven workers on Kafka. Vehicle telemetry, dispatch events, customer reschedules, and traffic data flow as events; the dispatch engine reacts continuously rather than waking up twice a day.
Built an RL dispatch engine that learns from dispatcher overrides. Every override is a signal: the engine treats it as ground truth and updates its policy. Within four months, override rates dropped from ~60% to ~14%; the engine had absorbed most of the operational knowledge that lived in dispatcher heads.
We sat in dispatch centers for the first six weeks. The UI we shipped was the third iteration; the first two were rejected by dispatchers because they didn't surface the constraints dispatchers actually weighed. We didn't ship an algorithm-first UI — we shipped a dispatcher-first UI that the algorithm supported.
The solution
Production system: Kafka event spine, RL dispatch engine on SageMaker, predictive-ETA model fed by live telemetry, custom dispatcher UI on Next.js, and observability across the entire stack. Phased rollout by region with documented rollback; legacy system kept warm for 90 days post-cutover per region.
Results
Six months from kickoff, all 18 regional dispatch centers ran on the new system. Fleet-level fuel spend fell 12% against baseline; miles-per-delivery dropped 18%; on-time delivery improved 6 percentage points. Dispatcher override rates fell from 60% to 14% — the dispatchers who'd resisted the rollout most strongly reported they now trusted the engine on most routine decisions and used overrides for genuinely exceptional cases.
In their words
“We've had vendors pitch RL dispatch for years. They all pitched it as 'replace the dispatcher'. Prosigns built the only one our dispatchers actually trust — because they built it with us, not at us.”
Stack
Talk to us
A senior engineer plus the relevant department lead joins the first call. No discovery gauntlet, no junior reps.