Skip to content
Gradual modernization

Improve your software while the business keeps running

Replace the parts that slow you down, one useful step at a time. I plan and lead the migration with your team.

Let’s discuss your projectWant the architecture looked at on its own first? Start with an architecture review
Oleg Sotnikov
Oleg Sotnikov · AppMaster

I help modernize an older system in stages. With your team, I map dependencies, check existing behavior and plan the migration of individual capabilities. I use AI to study code and draft changes, then review the results before release.

What AI-Assisted Modernization Involves

Six pieces of work. The assessment decides how much of each your system needs.

Assessment and dependency mapping

What the system is made of, what calls what, and which parts carry real load. Undocumented integrations and scheduled jobs nobody remembers are what turn migrations into outages, so they get found before anything is planned.

AI-assisted code comprehension

Use AI to find dependencies and draft a system map. Review the results with engineers who know the product and identify areas that need closer inspection.

A test harness before anything moves

Legacy systems are usually untested, which is exactly why nobody dares change them. Agents generate characterization tests from the behavior already in the code, including the behavior that looks like a bug and turns out to be load-bearing. Nothing migrates until that net is underneath it.

Incremental strangler-fig migration

New components take over selected capabilities from the old system. For each stage, define the checks, cutover steps and recovery plan.

Data migration safety

Plan data transfer, reconciliation and recovery from failures. Check which changes can be rolled back and where a different recovery procedure is needed.

The cost of keeping the old stack

An aging system bills you twice: the infrastructure it needs to stay upright, and the payroll of the people whose job is keeping it upright. Both belong in the business case, and the second number is usually the larger one.

How Modernization Runs

1

Assessment

Agents read the code and produce the dependency map. I rank the risks by what they would actually cost you and pull out the quick wins worth doing regardless of the larger plan. You get a written picture of what you own, including the parts that are cheaper to leave alone.

2

Plan

A migration sequence ordered by risk and business value, with the test coverage each step needs before it starts and a rollback for each one. Tests are the safety net that makes an incremental plan honest instead of optimistic.

3

Execute

The migration runs in increments, and something reaches production in the first month instead of on a launch date two years out. Stop after any step and you keep everything gained up to that point, which is the property a big-bang rewrite does not have.

Why Me

  • 25+ years in IT and 1,000+ projects, most of them involving systems that were already running before I arrived
  • Enterprise IT background, including Head of IT at a mining subsidiary of Glencore, where the old systems were the business
  • Advised QueueStone on modernizing its ERP platform for mental-health providers, from architecture through delivery

Frequently Asked Questions

Should we modernize or rewrite?

That gets decided after the assessment, and the answer is rarely all-or-nothing. Whether you call it app modernization or legacy code modernization, the economics are the same. A rewrite earns its price when the core data model is wrong for the business you have now, or when the stack blocks something you must ship. Otherwise incremental modernization wins, because the system keeps earning while it changes. Big-bang rewrites are where modernization budgets die: the new system has to reproduce years of accumulated behavior before it can carry a single user, and until that day arrives you are paying for two systems and shipping from neither.

How does AI change legacy modernization?

AI helps find dependencies, explain older code and draft tests. Engineers review the results. Time and effort depend on system size, documentation and migration risks.

Can you handle our stack? It is very old.

The assessment comes first, and I do not make promises about a specific technology before I have read the system. The approach itself is stack-agnostic: agents map the system, tests characterize its behavior, then capabilities move out one at a time behind a routing layer. That holds for a monolith nobody has tested as much as for a batch system that predates the current team. If what you have needs a specialist I am not, I will tell you that instead of learning on your budget.

How long does legacy modernization take?

That comes out of the assessment, because the honest answer depends on how much undocumented behavior the system carries and how tightly it is wired into the rest of your operation. The useful part of working incrementally is that you are not waiting for an end date. Value lands from the early increments: a capability moved off the old system, a test harness that did not exist before. That value stays yours even if priorities shift and the work pauses.

What does legacy modernization cost?

It is scoped per engagement, after the assessment, because a two-service system and a fifteen-year-old platform with a database nobody has migrated are not the same job. Ongoing work runs as a fractional CTO engagement at $5,000–10,000 per month, month to month, or as advisory from $3,000 per month; both rates are published on my pricing page. When part of the question is the team keeping the old system alive, the $5,000 Team & AI Audit is a good fixed-price entry point: five business days across the system and the people around it.

Start With an Assessment

Before anyone argues about rewriting, it is worth knowing what the system actually contains. That starts as a conversation, not a proposal.

English or Russian, US Pacific hours, async-first. NDA on request.

Book a call

On a free 30-minute call, we’ll discuss what’s holding you back and work out where to start.

Prefer to write first?Message on TelegramSend a message