Skip to content
Utkarsh Jaiswal

Services · Legacy system migration

Replacing a legacy system without taking production down

An old system still runs the business and cannot go down. I model the replacement, write the migration that carries the records across with their validation intact, and keep the legacy estate read-only while it happens.

01

Who it is for

The teams this suits

  • Teams replacing a system that has run the business for years and cannot go offline for the switch
  • Products whose records carry validation rules, per-customer mappings, and corrections that live in spreadsheets
  • Engineering leads who need a migration they can re-run and explain, not a one-shot script
02

Deliverables

What you get

  • A target data model for the replacement — JSONB where shapes genuinely vary per tenant, real columns where you filter
  • A migration tool that maps legacy records field by field, validates them, and folds in the corrections customers send
  • A cutover plan that keeps the old system read-only, so there is always one source of truth
  • Import output the new system can load, and load again, while the mapping is still changing
03

Proof

Where I have done it

04

Boundaries

What this is not

  • General staff augmentation or open-ended long-term support
  • Pure front-end work
  • Work with no agreed target at the end of it
05

Questions

Before you write

Does the old system have to go offline?

No. On the Balio replacement the legacy V1 stays in production, read-only, while records move across. That is the default plan.

What if the legacy data is messy?

It always is. The migration validates each record — budgets, required fields — and client corrections from Excel are folded into the pipeline rather than patched by hand, so a re-run gives the same answer.

How big a record can it carry?

The Balio tool carries 200–500-field records across per-jurisdiction mappings, out of an estate of 38 databases and 142K compliance and expense reports.

06

Next

Tell me what is under strain

The system, the problem, and the constraints. I read everything and reply myself, usually within a day.