Service · Web development

Modernising legacy software without disrupting your business.

An Access file keeping the business running. A VB6 application nobody dares touch. A WordPress site from 2009 that breaks again every month. We help you pragmatically replace or upgrade old software, preserving the business logic that has crept in over the years.

Web app rebuildBusiness software upgradeData migrationStrangler fig

Legacy software is rarely just a tech problem.

The developer who built it left long ago. The documentation consists of a handful of screenshots in a shared folder. A few colleagues know exactly which button not to press on Thursday mornings. Yet the business relies heavily on that application — invoicing, stock, customer data, or the entire core process runs through it.

Modernising therefore starts not with code, but with understanding. We want to know what the software does, who uses it, and what would become impossible if it went offline tomorrow. Only then do we look at the building blocks: replace, upgrade, move to the cloud, or perhaps retire altogether. For organisations with a broader, messier IT landscape, we tackle this question together with an IT modernisation consultant who looks beyond this one application.

We mainly work on web applications and business software at the scale of Dutch small and medium-sized businesses and mid-sized organisations. No multi-year mainframe migrations, but concrete projects that deliver tangible results within one or two years. For the heavier end, we refer to our page on legacy software modernisation, where we go deeper into enterprise modernisation and strangler fig architecture.

The legacy software we typically encounter spans several generations of technology. On the desktop side we see Visual Basic 6, Delphi and older .NET versions. On the web side, Classic ASP, PHP 5, jQuery-driven sites on outdated frameworks, and WordPress installations from the early 2010s. In the office, these are often MS Access databases and Excel VBA files that have grown heavier over the years. On the business software side we see Oracle Forms, D2K and industry-specific packages on AS/400 or RPG. And sometimes there are remnants of Flash, Silverlight or Java applets that were officially deprecated in 2017, 2020 and 2021 but are still in everyday use. All of these share the same basic approach; only the migration route differs.

Three common modernisation routes.

Not every legacy application needs to be rebuilt from scratch. Together we choose the route that fits your situation, based on business risk, user base, and how deeply the software is woven into other processes.

Compact project · fixed sprint budget

Upgrading while preserving logic

For applications that do what they need to do functionally, but run on an outdated stack. Think of a PHP 5 web application being brought up to PHP 8 and a modern framework, or a WordPress 3.x site going headless while keeping the same editorial workflow. The business logic stays, the foundation is renewed. This closely relates to the resolving technical debt service we also offer on its own.

RefactoringFramework upgradeSecurity patchingTest safety net
Mid-sized project · fixed sprint budget

Web rebuild on a modern stack

For desktop applications or heavily outdated web software where the stack itself is no longer sustainable. We rebuild the core functionality in React, Vue or Astro with a REST or GraphQL backend, and migrate the data from the old system. Often using a strangler fig approach: replacing modules one by one while the old system is still running.

React / VueREST APIData migrationSide-by-side run
Advisory engagement · scope-dependent

Replacement with SaaS or a platform

Sometimes rebuilding isn't the right route. If an existing SaaS package already covers 80 per cent of the functionality, we'll help you establish that honestly, select the package and guide the transition. We only build the parts that are truly distinctive: an integration, a dashboard, or a specific workflow piece.

SaaS selectionImplementationIntegrationsData conversion

What you receive at the end of a modernisation project.

Alongside working software, we want your organisation to be able to maintain the new environment itself, or have another agency maintain it without lock-in.

  • The modernised applicationProduction and acceptance environments on a stack that remains maintainable for years to come. Cloud (GCP, AWS, Azure) or on-premise, your choice.
  • Clean codebase and documentationSource code in a Git repository, build and deployment instructions, and an architecture overview that gets a new developer up to speed within a day.
  • Migrated data with audit trailA validated data migration including a reconciliation report: what has been transferred, what has deliberately been left behind, and how discrepancies were handled.
  • Test safety netAutomated tests covering the critical flows, so that future changes don't quietly break something. We write these tests alongside the project, not as an afterthought.
  • Knowledge transfer and trainingSessions for key users and administrators, plus a recording that new staff can watch later. No knowledge left stuck in our heads.
  • Maintenance contract (optional)Ongoing monitoring, security updates and further development for a fixed monthly fee. You can also place it with another agency, with no vendor lock-in.

When modernisation is a sensible investment.

Four patterns we often see among organisations that approach us. If you recognise one or more of them, it's worth having a conversation.

Knowledge risk

The original developer has left

The software still works, but nobody in the organisation knows exactly how any more. With every change there is fear that something will quietly break. It's no longer about moving forward; it's about balancing.

Security

The stack no longer receives updates

PHP 5, old .NET versions, Windows Server 2008, Flash, Silverlight, Java applets. The runtime is no longer maintained, security patches are no longer released, and your IT provider refuses to host it.

Scalability

The system doesn't scale with the business

What worked in 2008 for 20 users now struggles under 200. Reports take an hour to run. Opening a new branch requires a manual database copy. Growth is held back by technology.

Acquisitions

After an acquisition you're left with a patchwork

Three applications, three technology stacks, three versions of the truth about the same customer. Modernisation is then often also consolidation: fewer systems, better aligned with one another. This frequently forms part of a broader enterprise software project serving several departments at once.

Concrete modernisations we have carried out often.

A few recognisable scenarios that illustrate our pragmatic approach. We don't invent client names, but we do describe patterns we encounter time and again, so you can judge whether your situation is a variant of one of them.

Office application

Access database becomes a web application with audit log

An MS Access file originally built by an internal employee grows into the beating heart of a department. Backups consist of copied files on a network drive. We migrate the data to PostgreSQL, build a web interface with role-based access, and ensure every change is traceable via an audit log. The business logic is extracted from the existing forms and macros, validated with the users.

MS AccessPostgreSQLAudit logRole-based access
Desktop application

VB6 desktop becomes a web app on a REST API

A Visual Basic 6 application that the entire back office uses every day. Installing it on new workstations is becoming harder, remote working is difficult, and the vendor of the old database has stopped supporting it. We build a React or Vue front end on a REST API, replace the old database with a modern equivalent, and connect the existing integrations through clearly documented interfaces. The user interface follows the original flow as closely as possible so that training stays brief.

VB6React / VueREST APIBrowser-only
Website

WordPress 3.x goes headless with Astro or Next.js

A corporate website from the early 2010s running on an outdated WordPress version. The editorial team is used to the admin panel, but the site is slow, hard to keep secure and struggling under modern SEO requirements. We deploy WordPress as a headless CMS behind an Astro or Next.js frontend, keep the editorial workflow intact, and gain speed, security and build quality. Content moves across one-to-one.

Headless WordPressAstro / Next.jsCore Web VitalsSEO preservation
Excel legacy

Turning Excel macros into a validated web form

An Excel file with VBA macros that production or administration depends on. A single faulty cell or a forgotten column can disrupt the whole chain. We convert the logic into a web form with server-side validation, link the outcome to your existing systems, and keep a record of every version entered. Excel remains available for standalone calculations where that makes sense, but the business process no longer runs on a single file.

Excel VBAWeb formValidationAudit trail

Compliance and risk management in modernisation.

Alongside the technical work, every modernisation project runs up against your organisation's policies and the regulations of your sector. We think along with you, not as lawyers, but as builders who understand how to translate these requirements into practice.

GDPR / privacy

Personal data in data migration

During modernisation it often becomes clear that the old application holds more personal data than is strictly necessary. We help with a privacy check on the data, decide together what should be carried over and what can be cleaned up, and document how data is processed and stored in the new environment.

BIO / NIS2

Government and critical sectors

Government bodies (Baseline Informatiebeveiliging Overheid) and organisations in critical sectors (NIS2) face stricter requirements for logging, access control and incident response. We build these requirements into the design and deliver documentation that aligns with your own ISMS.

NEN 7510

Healthcare domain

When modernising healthcare software, we work in accordance with NEN 7510. Patient data remains within Dutch or European hosting, audit logs are standard, and authorisations are demonstrable at the level of the individual user.

ISO 27001

Aligning with your management system

If your organisation is ISO 27001 certified, we deliver documentation and processes that fit within your existing management system. No separate security silos, just an extension of what is already in place.

This is how we approach a modernisation project.

1

Assessment and user interviews

We map out what the application does, who uses it day to day and which invisible business rules are built into it. A few conversations with the people who truly know the software save many surprises later.

2

TCO and risk analysis

We lay out what it costs to keep the current application running for years to come, covering licences, hosting, external suppliers, security risks and loss of productivity, against the investment in modernisation. That turns it into a business decision rather than a gut feeling.

3

Decision matrix: rebuild, refactor, rehost, replace or retire

We determine the best route for each module. Not everything needs to be overhauled. Sometimes a module is already fine and only needs a hosting migration; sometimes it has to be rebuilt entirely; and sometimes it can simply be dropped because nobody uses it any more.

4

Pilot on a clearly defined core flow

We start with a module that is manageable in scope but where success is tangible for the organisation. That builds confidence, delivers a working example, and surfaces unknown risks early.

5

Full modernisation in sprints

Module by module, we build the rest while the old system is still running. Users experience a gradual transition rather than a big-bang weekend. Strangler-fig in practice, with validation after every release.

6

Data migration and user transition

The data is cleaned, validated and migrated. Users receive training and a short transition period in which the old and new systems run side by side, so they can get comfortable with the new environment safely.

7

Handover to operations

A runbook for incidents, monitoring with clear thresholds, and clear agreements about who does what. Whether we continue to run the system ourselves or you take it over in-house is entirely up to you, as long as it is properly owned.

Frequently asked questions.

What clients usually want to know first in a conversation about modernisation.

What do you actually mean by "legacy software"?
Anything where the technology stack is no longer actively maintained, or where the knowledge needed to manage the software is no longer available. In practice, we often encounter Visual Basic 6, Delphi, Classic ASP, PHP 5, WordPress 3.x, Microsoft Access with VBA, Oracle Forms and Java applets, plus discontinued technologies such as Flash and Silverlight. Modern stacks can also be functionally legacy if they have gone years without updates, if the original developer left long ago, or if the architecture no longer suits current requirements. The age in years matters less than how maintainable the software is today.
What is the difference between modernisation and replacement?
With modernisation, we keep the business logic and renew the stack around it: the same rules, a different foundation. With replacement, we build from scratch, often with an adjusted scope because it is an opportunity to do things differently. Modernisation is safer and faster when the current logic works well; replacement is wiser when the requirements have changed significantly or when the old implementation causes so much trouble that untangling it takes longer than starting again.
Should I replace or upgrade?
That depends on how deeply the business logic is intertwined, how outdated the stack is, and how much your requirements have changed since the original build. A PHP 5 application that works well functionally can often be upgraded to PHP 8 with a framework. A VB6 desktop application or a Microsoft Access database almost always calls for a rebuild on a modern web stack. We advise what fits, and not everything needs to be rebuilt from scratch.
Big bang or phased migration?
Preferably phased, using a strangler fig approach. We place a modern layer around the old system and replace modules within it one by one. Users barely notice the transition, the risk per release stays limited, and you can pull back at any point without losing a whole migration. We only go big bang when the old software truly cannot be broken down.
How long does a project like this take?
Too variable for a general answer. A pilot on a clearly defined core flow can sometimes be ready after a few sprints. A full modernisation of a business-critical system is a programme spanning several sprints, sometimes longer if there are many modules and integrations. We work with fixed sprint budgets so that you can choose at any time to continue, pause or adjust the scope.
What determines the investment?
The scale of the business logic, the number of integrations with other systems, the complexity of the data migration, and how much is unknown in the old system. An Access database with a few tables is a different conversation from an Oracle Forms application with hundreds of screens. In the first conversation we give a range, and only after the inventory a concrete quote. We work without surprise costs.
What are the biggest risks in modernisation?
Losing implicit business logic is the greatest, which is why we invest a lot of time in assessment and user interviews. Other risks include user resistance to change, data conversion errors, and maintaining two parallel systems temporarily during the transition. We mitigate these with side-by-side runs, validation reports, training and a phased rollout, rather than a cut-and-paste migration.
The original developer is no longer around. What now?
That's more the rule than the exception with legacy software. We work from the code itself, ask users follow-up questions, and reverse-engineer the business rules from how the application behaves. Sometimes we find documentation in unexpected places: a Word document on a network drive, scripts in a mailbox. Anything we can't reconstruct, we'll validate with you specifically before it makes its way into the new version.
Can the new application go to the cloud straight away?
Almost always, and usually that's a good idea. We work with Google Cloud, AWS and Azure, and can also deliver on-premise if your sector requires it. For compliance-sensitive domains - healthcare with NEN 7510, government with BIO, critical sectors under NIS2 - we deliberately opt for regionally hosted infrastructure. Our page on platform migration goes into the hosting side in more detail.

Talk to us about your legacy software.

A thirty-minute introductory call, no obligation. We listen to what's running now, which headaches it's causing, and which direction makes sense. No sales pitch, just an honest picture of what's realistic. After that, you can decide for yourself whether it's worth continuing the conversation.

Edit content