Web Application Development

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
Faster onboarding of new customers
The challenge

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.

Our approach

Four decisions that shaped the outcome.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

The outcome

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.
61% fewer support tickets
Priya RaghunathanVP Engineering, Corvid Logistics
The service behind it

Web Application Development

Dashboards, portals, marketplaces and SaaS platforms built on a stack your team can still ship on three years from now.

Explore Web Applications
Similar problem?

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