Bridging legacy systems without a rewrite
Most modernisation projects don't fail on the new build — they fail at the seam where new meets old. Here's how we bridge instead of rip-and-replace.

The pitch for a rewrite is always seductive: throw away the twenty-year-old core, start clean, ship something modern. It almost never survives contact with reality. The legacy system isn’t just code — it’s two decades of edge cases, regulatory rules, and quiet handshakes with other systems nobody fully documented.
So we rarely rewrite. We bridge.
The seam is the system
The interesting engineering isn’t in the shiny new front end. It’s at the seam — the thin layer where a modern interface has to speak to a core that was never designed to be spoken to over HTTP.
A good seam does three things:
- Translates between the old data model and the one your new app actually wants.
- Protects the core from traffic patterns it was never built for — caching, batching, and back-pressure.
- Isolates change, so the front end can ship weekly while the core moves on its own slow, careful clock.
Treat the legacy core as a fixed point. Your job is not to change it — it’s to make it look modern from the outside.
What this looks like in practice
For a recent insurance platform, the core handled quoting and policy issuance through a batch interface measured in hours. The business wanted real-time online purchasing. We didn’t touch the core. We built a middleware layer that:
- Exposed a clean, typed API to the new front end.
- Maintained a read model so browsing and quoting felt instant.
- Queued writes back to the core and reconciled asynchronously.
// The seam, in spirit: never let the front end feel the core's latency.
async function getQuote(input: QuoteInput): Promise<Quote> {
const cached = await readModel.quote(input);
if (cached) return cached; // instant path
return enqueueAndProject(input); // slow path, projected forward
}
The result: customers got a real-time experience, the core kept its integrity, and the rewrite that everyone feared never had to happen.
When you should rewrite
Bridging isn’t dogma. If the core can’t meet a hard requirement — security, compliance, or a cost ceiling — no seam will save you. But that’s rarer than the rewrite evangelists suggest. More often, the boring bridge ships sooner, costs less, and carries far less risk than the clean-slate dream.
Keep reading
Building something we should write about?
start a build
