/ index· / work· / case-01
/01 · Northmark Bank

Cut a 40-year-old core banking system over to a modern distributed ledger — without a single minute of downtime.

A 28-month engagement with the 14th-largest retail bank in its region. Two parallel ledgers, a dual-write bridge, and a staged migration of 8.2 million customer accounts across 54 weekends.

/ industry
Financial Services · Retail Banking
/ engagement
28 months · 2023 → 2025
/ squad
42 engineers · 5 sub-teams
/ outcome
Zero-downtime cutover · live
/ time to open
-68%
Median onboarding dropped from 14m 20s to 4m 35s.
/ accounts migrated
8.2 M
Across 54 rolling weekends, zero customer-reported data loss.
/ downtime
00:00
Dual-write bridge kept both ledgers authoritative.
/ cost per txn
-81%
Unit cost of a ledger write, measured on comparable volumes.
/ 001 · context

A 40-year-old core in a new regulatory climate.

Northmark's core banking platform — a mainframe-era COBOL ledger with a complex mesh of middleware accreted over four decades — was approaching a regulatory inflection point. New open-banking mandates required sub-second settlement visibility that the existing system could not provide without fundamental re-architecture.

The bank had attempted two prior modernization programs. Both stalled on the same problem: the core could not be taken offline, not even for a single batch window, without cascading effects across branch operations, partner integrations, and real-time payment rails.

When we joined, the initial directive was narrow: design a migration strategy. Three months in, the engagement expanded to end-to-end delivery.

/ 002 · approach

Two ledgers. One truth. A bridge between them.

Rather than a flag-day cutover, we proposed a dual-ledger architecture: the legacy COBOL core and a new event-sourced ledger running side-by-side, mediated by a dual-write bridge that treated both as authoritative, reconciled per-transaction, and allowed reads to be progressively routed to the new system as confidence accrued.

The bridge itself became the engineering centerpiece. Written in Rust for its latency budget, it maintained a per-account vector clock, detected divergence within 50ms, and could roll back or replay either side with an operator-level audit trail. We ran it in shadow mode for four months before a single customer byte touched the new ledger.

/ 003 · discipline

The boring parts are the case study.

No hero deployments. No late-night cowboy runs. We instrumented divergence, ran property-based tests against production traffic shadows, and held a weekly migration review where any of the 42 engineers on the squad could veto the next weekend's cutover slice.

Seven slices were vetoed. Three were rolled back mid-weekend. All without customer impact. That's the system working.

The bridge, end-to-end.

Simplified. Omits the reconciliation sidecar, the shadow-read replay harness, and the seven-stage data-validation pipeline that gated each cutover slice.

/ edge Branch · Mobile · Open Banking API TLS · mTLS · rate-limited per tenant
/ gateway Envoy mesh with header-based read routing Progressive cutover via per-account shard flag
/ bridge Dual-write reconciler · Rust · < 8ms p99 Vector clocks per account · divergence detection 50ms
/ ledger (legacy) COBOL core · IBM z/OS · read-authoritative until slice N Untouched. All writes mirrored.
/ ledger (next) Event-sourced · Kafka + Postgres + Iceberg archive Append-only · reproducible from t=0 · < 180ms p99
/ observability Per-txn divergence trace · OpenTelemetry SLOs: divergence < 0.0001% · MTTR < 4 min

Five phases.

/ Q1 · 2023

Discovery

8-week strategy sprint. Regulatory mapping, data model archaeology, decision to pursue dual-ledger architecture.

/ Q2-Q3 · 2023

Bridge build

Rust bridge written, chaos-tested, shadow-deployed against production traffic. Zero writes yet.

/ Q4 · 2023

Shadow period

Four months of read-only shadow mode. Divergence tracking, replay harness, property-based test suite hardened.

/ 2024

Rolling cutover

54 weekends. 8.2M accounts. Vetoes used seven times. Three mid-weekend rollbacks. No customer impact.

/ Q1 · 2025

Legacy retirement

COBOL core decommissioned. Bridge retained as long-term reconciliation audit. Handover complete.

"They didn't just deliver the migration. They delivered the discipline that made the migration possible — and that discipline is still how our platform team operates today."
M. Svensson · Chief Technology Officer · Northmark Bank

Got a system
like this one?