Kestrel Industrial · 2023
Moving Kestrel Industrial off a 19-year-old shop-floor system without stopping a line
Four plants, 300 machines and a VB6 application nobody could test safely. We replaced it one production cell at a time behind a routing gateway, keeping Oracle as the book of record until the final cell was live. Total unplanned stoppage across the entire programme came to 11 minutes.
- Manufacturing
- 16 months
- 11 engineers, 2 OT specialists, 1 delivery lead
- 11 minutes
- Total unplanned stoppage across 4 plants
- 24 h to 90 s
- OEE reporting lag after cutover
- 2/year to 2/week
- Production release cadence
The challenge
What was wrong
Kestrel ran four plants on a 19-year-old VB6 shop-floor system against Oracle 10g, with OPC-DA links to about 300 machines. There was no test environment: changes were made on the live server after the night shift and reverted by hand when they went wrong. A minute of stopped line time costs roughly GBP 4,000, so a big-bang cutover was never going to be approved, and plant WAN links drop for minutes at a time most weeks.
The approach
What we did
We strangled the old system cell by cell behind a gateway that routed each production cell to either the legacy application or its replacement. Oracle stayed the book of record for eight months while change data capture fed PostgreSQL, so rolling a cell back was a routing change rather than a data migration. Each plant runs an edge gateway holding 72 hours of local queue. We accepted up to 90 seconds of cross-site reporting lag instead of distributed transactions between plant and centre.
“They cut over Plant 3 on a Tuesday afternoon and nobody on the line noticed anything had changed. That is the highest compliment I can pay a software project.”
Stack
What it runs on
- C# .NET 8
- Oracle 10g
- PostgreSQL
- Debezium
- Apache Kafka
- OPC UA
- Azure IoT Edge
- Terraform
Services
Practices involved
Engineering
Legacy Modernisation
COBOL, Delphi, WebForms and Oracle Forms moved off, without a big-bang cutover.
Cloud & Platform
Cloud Migration
Wave-planned migration of running systems, with a rollback path we have actually tested.
Engineering
Enterprise Integration
Contracts, idempotency and replay — the unglamorous parts that keep 40 systems in step.
Cloud & Platform
DevOps
Delivery pipelines, release engineering and incident practice, measured by DORA metrics.
More work
Other engagements
Meridian Exchange · 2024
Bidding engine rebuild
Meridian was losing bids to lock contention in the closing seconds of every auction, and disputes over bid order had to be settled manually. We rebuilt the engine around per-lot single-writer partitions and an append-only log, trading cross-lot transactions for provable ordering at 1,800 bids per second.
Northwind Commodities · 2025
Incremental end-of-day valuation
A seven-hour overnight batch left Northwind's traders working from yesterday's P&L whenever a curve was corrected. We replaced it with an incremental graph over versioned inputs, cutting the full run to 34 minutes and a curve correction to 90 seconds, with 12 months of valuations replayable to the input.
Corvus Logistics · 2024
Dispatch planning and ETA models
Corvus planned 220 daily routes by hand and quoted ETAs that were often an hour wrong. We paired a solver seeded with the previous day's plan with a gradient-boosted ETA model, and gave drivers an app that queues work offline. Planning fell from four hours to 22 minutes a day.

