Legacy application modernization that keeps what works

Renew aging web applications and business software without losing the processes that work today.

Together we work out whether refactoring, a step-by-step replacement or a rebuild makes economic sense. AI speeds up the analysis. Our team owns the result.

Free 30-minute intro call. Only then do you decide whether a Software Audit makes sense.

Since 2010 we have been responsible for business-critical systems at LANXESS · SMS group · Acon Digital

All features carried over

Business logic and edge cases are captured systematically, not guessed

A rebuild only when it pays off

Assessment first, then a recommendation, even if it argues against a rebuild

No big-bang cutover

Step-by-step replacement, parallel operation and rollback procedures instead of a single switch date

Strong on the business side, maxed out technically

Many custom software systems still do their job very well. Technically, they have grown over the years: outdated frameworks, hard-to-maintain code, missing tests, old dependencies, or an architecture that makes every new requirement more expensive. What matters in these systems is rarely the code itself. It's the knowledge, the processes and the features built into it.

> 5 million items

Items managed in the catalog system

SAP-integrated eProcurement platform for LANXESS

in production since 2014

The replacement system still runs today

LANXESS catalog system, developed further without another replacement

since 2010

Experience rebuilding existing systems

Replacing and reworking aging systems while they stay in operation

Individual results from specific projects, each named with its project and reference point. These are not averages and not a promise for other projects.

When does modernization pay off, and for which systems?

It's usually not one trigger but several piling up. The more of the points below apply, the more likely it is that running the existing system costs more than renewing it.

  • The technology in use is no longer supported or no longer gets security updates.
  • New features get more expensive with every release, even though they're simple from a business point of view.
  • Developers take a long time to understand the existing code, or are afraid to change it.
  • There are hardly any automated tests, so every change has to be checked by hand.
  • Security updates can no longer be applied without putting other parts at risk.
  • Performance no longer keeps up with growing data volumes or user numbers.
  • Knowledge about the system sits with a few employees, or has already left the company.
  • The documentation no longer matches the actual state of the application.

Types of systems we take over

  • Custom web applications
  • B2B and customer portals
  • Ecommerce systems
  • eProcurement platforms
  • SaaS applications
  • Internal business software
  • Systems without current documentation
  • Applications with years of accumulated special logic

Source technologies we work with

Backend
PHP, including older Symfony, Laravel and Zend versions and homegrown legacy PHP. Also Java / Spring, Node.js and Python.
Frontend
jQuery-based interfaces, older Angular versions, server-side templating (Twig, Smarty, JSP).
Data
MySQL / MariaDB, PostgreSQL, MS SQL, Oracle, including schemas that grew without a migration history.
Connected systems
SAP, other ERP and CRM systems, PIM, payment providers, SSO / Active Directory, and legacy SOAP and REST interfaces.

Not on the list? The source technology matters less than whether the source code, database and interfaces are accessible. You can find our target stack under Technologies.

Rewrite, refactor or keep developing?

Not every existing application needs to be rebuilt. A full rebuild is one of several modernization strategies, and often not the most economical one. That's why we start with an assessment, not a recommendation.

Keep developing

The system still holds up. We extend it where needed and keep the technical foundation stable.

Example: LANXESS since 2014

Refactor

Improve structure and code quality without changing how the application behaves.

Our engineering standards

Partial renewal

Critical areas are replaced piece by piece. The rest stays in place for now.

First step: Software Audit

Full rebuild

A rebuild on a modern foundation with the full feature set, when patching costs more than building new.

Example: Acon Digital

What we check before we recommend a path
  • Architecture and technologies in use
  • Code quality and technical debt
  • Database and data model
  • Interfaces and third-party systems
  • Existing features
  • How the system is actually used day to day
  • Automated tests
  • State of the documentation
  • Deployment and infrastructure

We make the decision together with you, based on the Software Audit, not on what we'd like to sell.

B2B eProcurement at LANXESS: rigid legacy system replaced, in production since 2014

Reference project

The specialty chemicals company needed flexible procurement processes that its rigid existing system couldn't support. We replaced it with a custom catalog system, and we have operated and developed it ever since.

> 5M

items in the catalog

2014

in production since

12 years

of continuous development

24/7

monitoring and support

Starting point

A rigid legacy system without the flexibility needed: more than five million items to manage, manual purchase-to-pay processes, no end-to-end connection to the existing SAP landscape.

Approach

Replacement with a custom catalog system, developed iteratively. Direct SAP integration with contracts and part numbers, fine-grained permissions, product configuration via SmartForms.

Result

In production since 2014, continuously developed with 24/7 monitoring and regular updates. The system still carries the procurement processes today, without being replaced again.

This project shows that our replacements last. The AI-assisted analysis and rebuild approach on this page is more recent. Today it mainly shortens the phase in which an existing system has to be understood.

Read the case study

AI changes the effort behind a modernization

For years, the biggest problem with a rebuild wasn't writing code. It was understanding the old system: nobody fully knew everything it did anymore. That knowledge lives in the source code, in database structures and in the heads of individual employees, often people who left the company long ago.

AI engineering methods make exactly this part far more manageable today. The economic gain lies at least as much in understanding existing code as in generating new code.

AI-assisted code analysis

Large, aging codebases are mapped systematically instead of being read by hand for months.

Reverse engineering

We reconstruct what the existing system actually does for the business.

Extracting business logic

Calculations, approval workflows, pricing rules and edge cases are named and documented.

Dependency analysis

Connections between modules, database access and third-party systems become visible.

Test generation

Test coverage appears where the legacy system was only ever checked by hand.

Code migration and documentation

Repetitive refactoring steps run automatically, and the feature set is documented in writing.

AI writes code. Our developers own the system.

Architecture, security, business logic, reviews and quality stay a human responsibility, documented so you can follow it and backed by tests. It's not prompt in, software out. Every line that goes into your system is reviewed and signed off by a person.

Tools we use:

Claude Code
Cursor
ChatGPT
Automated code analysis
AI agents
Test automation

What we offer isn't a particular tool. It's the method behind it. How we handle your source code and confidential data is covered in the FAQ.

We don't carry over the old code. We carry over its business logic.

Anyone can rebuild an old screen. The real value is in the rules behind it, and those are rarely written down in documentation. They're in the source code.

Business logic

The actual core of the takeover

Approval rules, price calculations, volume discounts, ERP and SAP logic, edge cases, and the implicit rules that now exist only in the current code. This is where rebuilds fail, and it's the part we secure first.

Data

Which records need to be carried over, cleaned up or migrated, and in what structure they reflect your business.

Interfaces

SAP, ERP, CRM, PIM, payment, SSO and other third-party systems that must keep working without interruption.

Roles and permissions

Which roles, access levels and approval workflows exist, and which of them are still needed today.

Features and processes

What can the application do today, and how do your users actually work with it? The real workflow counts, not the manual. That includes features nobody remembers anymore.

User interface

What works in the current UI stays familiar. What has slowed users down for years, we fix.

From legacy system to new application

Four phases, each signed off on its own. After every phase you see where the project stands, and after the analysis you can change course at any time. Expand a phase for details.

  1. Legacy system
  2. Understandapprox. 2 to 4 weeks
  3. Decideapprox. 1 to 2 weeks
  4. Builddepends on the project
  5. Cut overapprox. 4 to 8 weeks
  6. New application
01Understand

Before anything gets built, we take stock: what the system does, what it depends on, what is actually used.

  • Analysis of source code, application, data model, interfaces and existing documentation
  • Reverse engineering: features and business logic are captured systematically and documented
  • Comparison with how your employees actually work
02Decide

The assessment turns into a target picture, including a recommendation on which modernization path makes economic sense.

  • Target system: what stays as is, what gets improved, what gets dropped
  • Architecture and a technology stack you can maintain for years
  • Sequencing, effort range and risks for each step
03Build

Development in increments you can sign off, each checked against the behavior of the legacy system.

  • Rebuild or rework by our developers, supported by AI-assisted tools
  • Functional comparison: old and new systems are checked against each other systematically
  • Automated unit, integration and end-to-end tests protect the application
04Cut over

The replacement happens step by step, not on a single date, with a defined rollback procedure for each step.

  • Parallel operation: old and new run side by side until the new system has proven itself
  • Data migration in controlled iterations with data integrity checks
  • Step-by-step go-live with a rollback option defined in advance for each cutover step
  • Handover: documentation, test suite, deployment pipeline and training for your team

Replacing a legacy system without a big-bang cutover

The first question from a decision-maker is rarely “How will you code this?” It's “Will my current system keep running in the meantime?” Our answer: step by step, using the strangler pattern, with clear interfaces, measurable increments and defined rollback procedures.

Strangler pattern

The new system grows around the old one and takes over area by area, instead of replacing it on a fixed date.

Parallel operation

Old and new run at the same time. Differences show up before they affect your users.

Defined rollback procedures

Before each cutover step, it's clear how to roll back and what that means for data that has already changed.

Measurable increments

Each step can be signed off on its own. You see progress instead of waiting for a final result.

Where the limits are: A full return to the legacy system is only possible as long as no data has been changed in the new system. Once the new system writes production data, a rollback becomes a data question, not a matter of flipping a switch. That's why, before every cutover step, we define how far back you can go and what that means for the data.

Why modernize legacy software instead of patching it for another five years?

In aging systems, the effort rarely goes into the new feature itself. It goes into everything around it: every change has to be built around old baggage and tested by hand.

Less development effort

New features no longer have to be built around old technical baggage.

Current technology

Current frameworks, clean APIs, containers, cloud infrastructure and automated deployments.

Easier maintenance

A clear architecture, documented code and automated tests instead of knowledge locked in a few heads.

Ready for AI

A clean architecture is what makes it possible to add AI features later in a useful way.

What is software modernization?

Software modernization means renewing the technology and architecture of existing applications. The features stay the same. What changes is the foundation they run on: technology stack, architecture, data model, interfaces, testability and operations. You'll also see it called application modernization or legacy modernization.

“Legacy” doesn't only mean twenty-year-old mainframe applications. A six-year-old PHP or JavaScript application can also carry enough technical debt to make every change disproportionately expensive. What counts isn't age. It's the ratio of effort to result.

Refactoring

Improving the existing codebase: better structure, readability and testability, without changing how the application behaves.

Replatforming and migration

Renewing the technical platform: a new runtime, database, cloud infrastructure or framework version. The application logic stays largely the same.

Rebuild

Redeveloping the application: features and business logic are carried over, and the implementation is rebuilt on a modern architecture.

Two stages. You decide after the first one.

You don't have to commit to an audit right away. It starts with a call where we find out whether the topic is worth pursuing for you at all.

Intro call

Stage 1 · free

30 minutes, by phone or video

  • You describe the situation, the system and what prompted you to act
  • We tell you openly whether the project is a fit for us, and if not, why
  • A first take on which modernization path is realistic
  • No proposal, no obligation, no preparation needed
Book a call

Software Audit

Stage 2 · fixed price

Two weeks, defined scope, €3,000 to €6,000

  • Assessment of architecture, code quality, integrations and operations
  • Prioritized risks and quick improvements
  • A recommended modernization strategy, with the reasoning behind it
  • Roadmap with sequencing and effort range
See audit scope and price

Software modernization FAQ

Does modernization, refactoring or a rebuild make sense for you?

Start with a free 30-minute call about where things stand. If it's a fit, the Software Audit comes next: architecture, code quality, integrations and operations assessed in two weeks for a fixed price of €3,000 to €6,000, with a clear recommendation and roadmap.

I take the intro call myself. I'm not in sales. I'm someone who would also assess your system afterward. If modernization isn't the right path in your case, I'll tell you on the call.

Jens Bohl · your contact · founder and managing director · 15+ years of platform architecture and operations

Project inquiries

Platforms, integrations, and hosting and operations

projekt@onveda.de+49 2173 2972 20

General inquiries

Everything else

kontakt@onveda.de

Careers at Onveda

Questions about working at Onveda, or from recruiters

Go to the contact form