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.
Refactor
Improve structure and code quality without changing how the application behaves.
Partial renewal
Critical areas are replaced piece by piece. The rest stays in place for now.
Full rebuild
A rebuild on a modern foundation with the full feature set, when patching costs more than building new.
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 studyAI 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:
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.
- Legacy system
- Understandapprox. 2 to 4 weeks
- Decideapprox. 1 to 2 weeks
- Builddepends on the project
- Cut overapprox. 4 to 8 weeks
- 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.
Software rebuilds and migrations in real projects
Replacing, migrating and rebuilding aging systems has been core to our business for years.
LANXESS catalog system
eProcurement
A rigid system replaced by a flexible procurement platform with more than five million items and direct SAP integration.
Read the case study
Acon Digital download shop
Replacement and data migration
Manual sales replaced by an automated platform, including licensing integration, migration of existing data and multiple languages.
Read the case study
McGame shop
Platform migration
Taken over in 2014 and migrated from Ruby on Rails to a new platform in 2015, with all product and customer data. Then developed further for eight years.
Read the case study
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
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
Software modernization FAQ
Related topics
- Cloud & DevOps
- Software Audit
- Business tools
- IT security
- Proof of concept in software development
- Outsourcing
- Consulting
- Case study: Thüros, moving from Magento to Shopware 6
- Case study: Manley, relaunch from Squarespace to Nuxt and Strapi
- Case study: maintenance planning app
- Digital workplace
- Enterprise web applications
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.