Legacy software modernization — no big bang, no feature freeze

Your legacy system is slowing you down — but a big-bang rewrite is usually the most expensive answer. We modernize business-critical software step by step: a TypeScript layer grows alongside your Java or PHP core, module by module, while operations keep running. And if keeping the system as it is turns out cheaper, that is exactly what our assessment will say — before you spend a euro of budget.

It starts with an assessment: a code audit, a TCO comparison, and a prioritized module roadmap — a document you can take straight into a management decision. From there, a Next.js/NestJS layer grows alongside your existing system using the strangler pattern, taking over one well-scoped process at a time. Delivery is senior-first: experienced developers instead of a nearshore bench, EU hosting, identity with Keycloak or Supabase.

Not every legacy system deserves to be modernized. If your system runs stably, maintenance costs sit well below the cost of a rebuild, and no support deadline is looming, our recommendation is: keep running it and harden it. We put that in the assessment even when it costs us a project — you are paying for a decision, not a sales document.

Logo von 20moments
Logo von Bemer
Logo von Berliner Volksbank
Logo von Clinomic
Logo von Consentmanager
Logo von Deloitte
Logo von DFDC
Logo von einhorn
Logo von Cushman & Wakefield
Logo von in-motion
Logo von myticket
Logo von TES H2

Terms you should know

Definition

Legacy modernization
The step-by-step renewal of business-critical existing software — architecture, language, operations — while the system stays in production. It is the counter-model to the big-bang rewrite. The trigger is rarely the software's age but the risk behind it: at one in two companies, continued operation of legacy systems is no longer assured in the medium term (Lünendonk study, 2025).

Definition

Strangler fig pattern
New modules grow around the legacy system behind an integration layer (facade); requests move route by route to the new system until the old one can be switched off. The approach pays off measurably: strangler projects fail roughly 40 percent less often than big-bang rewrites (Security Boulevard, 2026).

Definition

Two-speed IT
The stable core system — Java or an ERP, say — keeps running on its own release cadence while a fast TypeScript layer next to it ships new features, coupled via APIs and events. You gain speed without touching or replacing the core system.

The pressure to modernize is measurable: 62% of companies consider parts of their business-critical applications so outdated they need to be renewed, 83% are raising their IT modernization budgets in 2026 — and at one in two companies, continued operation of legacy systems is no longer assured in the medium to long term (Lünendonk study 2025). At the same time, more than 50% of enterprise IT transformation programs run over budget, while projects following the strangler pattern see roughly 40% lower failure rates than big-bang rewrites (Security Boulevard, July 2026).

Security & compliance

Your customers trust you with sensitive data. We take that responsibility seriously.

Whether it's your data protection officer, your IT security team or a major customer's procurement: when security questions come up, you have solid answers. We build in data protection and security from day one and follow the principles of the Twelve-Factor App. That makes approvals and audits easier and gives you the technical foundation to meet requirements under GDPR, ISO 27001 or HIPAA.

Frameworks whose technical requirements we implement in our projects

  • GDPR
  • ISO 27001
  • HIPAA
  • NIS2
Discuss your requirements in an intro call

Keep running, modernize, or rebuild?

Not every legacy system deserves a project. This table is the short version of our assessment logic — including the option we don't earn a cent on: keep running it.

Keep running & harden

When it makes sense
System runs stably, little need for change, maintenance costs well below rebuild costs, no support deadline
Risk
Technical debt and staffing risk keep growing; regular reassessment required
Investment range
Ongoing maintenance as before, targeted hardening per the assessment's recommendation
Time horizon
Immediately — no project, just hardening measures

Modernize step by step (strangler / two-speed)

When it makes sense
Maintenance costs above 50% of rebuild costs, support deadlines such as the end of commercial Spring Boot 2.7 support in December 2026, a growing feature backlog
Risk
Low: operations keep running in parallel; strangler projects fail roughly 40% less often than big-bang rewrites
Investment range
First module €8,000–20,000, full modules €20,000–60,000, retainer €4,000–12,000/month
Time horizon
First module in production quickly, then predictable replacement module by module

Big-bang rewrite

When it makes sense
Almost never — at most for small systems without critical parallel operation
Risk
High: feature freeze during the rebuild; the domain knowledge hidden in the legacy system is routinely underestimated
Investment range
Hard to estimate — more than 50% of enterprise transformation programs run over budget
Time horizon
A long dry spell with no usable interim results

Rebuild (planned)

When it makes sense
The business domain has fundamentally changed, or the legacy system barely carries any processes anymore; the 50% rule of thumb clearly triggers
Risk
Medium: a clean cut, but budget for migration and parallel operation
Investment range
MVP class €8,000–20,000, full web app €20,000–60,000 — details on our web app page
Time horizon
Depends on scope; the legacy system keeps running until cutover

This page assumes an existing system. If there is none because you are building greenfield, you will find our approach and price ranges for new builds on our web app page. If the legacy system should stay untouched and all you need in front of it is a self-service frontend for your customers, that is a case for our customer portal page. And once the decision to modernize has been made and the conversation turns to the technology behind it, our TypeScript agency page shows what we build the new layer with.

If you are building a new product rather than replacing a system, and it is still open whether customers will use and pay for it, start with an MVP: scope, pricing and process are on our MVP development page.

What you can buy from us

Three clearly scoped offerings — from the decision document to ongoing replacement on a retainer.

Modernization assessment

You find out whether modernization pays off before any budget flows.

  • Code and architecture audit

    You see where your existing system stands.

  • TCO comparison

    Keep running, modernize or rebuild.

  • Prioritized replacement roadmap

    Which module gets replaced first.

  • Decision document for management

    Even if it says “keep running and harden.”

  • Fixed price

    Set once discovery is done.

Step-by-step migration

from €8,000

for the first replaceable module

A Next.js/NestJS layer takes over module by module, with no feature freeze in day-to-day business.

  • Facade in front of the existing system

    Strangler or two-speed: your Java or PHP core keeps running.

  • First module at MVP size

    One self-contained part moves first.

  • Full modules

    With authentication and roles.

  • EU hosting

    Identity management with Keycloak or Supabase.

Operations & development on retainer

from €4,000

a month for operations and replacement

A senior team keeps replacing modules and runs the new layer, without you having to hire.

  • Module replacement along the roadmap

    In the agreed order.

  • Operations and monitoring

    With ongoing security updates.

  • Paying down technical debt

    Predictable, step by step.

  • Cancel monthly

    Speed without hiring risk.

All prices exclude VAT, as of October 2026.

Packages and pricing

We publish price ranges before you have to ask. The exact quote depends on your existing system, but you should know the order of magnitude you are planning in before the first call — every range comes from real projects.

Modernization assessment

Scope
Audit, TCO comparison, module roadmap, management decision document
Price range
Fixed price after discovery

Strangler entry: first module

Scope
One well-scoped process as a TypeScript module alongside the existing system (MVP class)
Price range
€8,000–20,000

Module replacement with auth & roles

Scope
Full web-app class incl. integration with the existing system
Price range
€20,000–60,000

Integration layer & identity setup

Scope
Next.js/NestJS facade, initial Keycloak/Supabase setup
Price range
€5,000–20,000

Ongoing modernization on retainer

Scope
Continuous replacement, operations, and further development
Price range
€4,000–12,000/month
As of July 2026
All prices net of VAT. We prepare a binding quote after discovery.

Who works on your project

Our senior team in Berlin, from the first draft to production. You talk directly to the people who write your code.

Meet the team

FAQ

Straight answers to the questions IT decision-makers ask us about modernization in the first call — no detours.

Not when the software is old, but when it becomes a risk: according to the 2025 Lünendonk study, at one in two companies, continued operation of legacy systems is no longer assured in the medium term. Concrete triggers include expiring support — such as the end of commercial Spring Boot 2.7 support in December 2026 — dwindling talent for the legacy stack, and this rule of thumb: once maintenance costs exceed 50 percent of rebuild costs, replacement belongs on the table.

In most cases, step-by-step modernization beats a rebuild: more than 50 percent of enterprise transformation programs run over budget, while strangler projects fail roughly 40 percent less often than big-bang rewrites. A rebuild makes sense when the business domain has fundamentally changed or the legacy system barely carries any processes anymore. Our assessment runs the numbers on both paths — including the third option of simply keeping the system running.

We publish our price ranges: a first replaceable module at MVP size runs €8,000 to €20,000, a full module replacement with auth and roles €20,000 to €60,000, and the integration layer plus identity setup €5,000 to €20,000. Ongoing modernization on retainer costs €4,000 to €12,000 per month. The upfront assessment is quoted as a fixed price after discovery. Every range comes from real projects.

The cloud providers sort the field into 6R or 7R: rehost, replatform, refactor, rearchitect, rebuild, replace, and retain. For mid-sized companies, two patterns matter most: the strangler fig pattern, where new modules behind a facade replace the legacy system route by route, and two-speed IT, where a fast TypeScript layer ships new features alongside the stable core system. Both avoid the risky big-bang rewrite.

Application modernization is the term coined by cloud providers like Azure, IBM, and Red Hat for the same topic: technically renewing existing applications, usually with a focus on cloud migration and containers. For decision-makers, the label matters less than the question behind it — lowering operational risk, cutting maintenance costs, and regaining the ability to ship without interrupting live operations. That is exactly what the step-by-step approach on this page delivers.

If the system runs stably, there is little need for change, no support deadline is looming, and maintenance costs sit well below 50 percent of rebuild costs, keeping the system running and hardening it is usually the most economical option. We say so openly: if our assessment reaches that conclusion, that exact recommendation goes into the decision document — even when it costs us a modernization project. You pay for a sound decision, not a sales document.

No. With the two-speed approach, the Java core keeps running on its own release cadence while a TypeScript layer next to it ships new features — coupled via APIs and events. We build and run that new layer; your Java core stays with your existing team or vendor, because we deliberately do not offer JVM development. Only what pays off on its own gets replaced — module by module.

Always step by step: after the assessment, an integration layer goes in front of the existing system, then one well-scoped module after another moves to the new stack — operations keep running throughout. We have published the concrete paths as guides: Migrating from Spring Boot to NestJS and Migrating legacy PHP to a TypeScript stack.

Open for select projects

Let's talk about your project

Book a no-obligation call, send us an email, or use the form – we'd love to hear from you.

150+
Completed projects
15
Years of experience
7
Senior‑level team members