Rebuilding a live scheduling engine without stopping the trucks
A seven-year-old dispatch platform had become the bottleneck for a 240-vehicle fleet. We replaced it module by module while it stayed in production.
- Industry
- Freight & Supply Chain
- Year
- 2025
- Duration
- 16 weeks
Client
Corvid Logistics
- Days of downtime during migration
- 0Days of downtime during migration
- Peak dispatch board load time
- 11s → 0.9sPeak dispatch board load time
- Reduction in support tickets
- 61%Reduction in support tickets
- Faster onboarding of new customers
- 4×Faster onboarding of new customers
Where they were starting from.
Corvid ran 2,000 daily dispatches through a PHP monolith written by a contractor who had long since left. Adding a customer took an engineer half a day. Peak-hour page loads exceeded eleven seconds, and dispatchers had started keeping a parallel spreadsheet — which meant the system of record was no longer the system of record. A rewrite was necessary, but a big-bang cutover was unthinkable: a single lost dispatch day costs more than the entire project budget.
Four decisions that shaped the outcome.
- 01
Map the domain before touching code
Three weeks of sitting with dispatchers, drivers and finance to document what the system actually did — including the eleven undocumented behaviours the business depended on.
- 02
Strangle, do not replace
A routing layer sent each module to old or new code independently. We migrated scheduling first, then billing, then reporting, with instant rollback at every step.
- 03
Make the data trustworthy
Dual-write with continuous reconciliation between old and new databases, so any divergence surfaced within minutes rather than at month-end close.
- 04
Hand over the keys
Corvid's two in-house engineers pair-programmed the final two modules with our team, then ran the last deployment themselves while we watched.
Corvid now onboards a new enterprise customer in under two hours instead of two days, and the dispatch spreadsheet has been deleted. Their internal team has shipped fourteen features without our involvement since handover.
Built with
- TypeScript
- Next.js
- Node.js
- PostgreSQL
- Redis
- AWS
- Playwright
We had eighteen months of technical debt and a board deadline. OnyxEra rebuilt the core scheduling engine while the old one kept running — not a single day of downtime, and our support tickets dropped by more than half.
Web Application Development
Dashboards, portals, marketplaces and SaaS platforms built on a stack your team can still ship on three years from now.
Tell us where it hurts.
If any of this sounded familiar, the call is free and the advice is honest — even when the honest advice is that you do not need us.
Typical reply time: under 4 business hours