Legacy application modernisation

An old application keeps a company in check: it works, but nobody wants to touch it. We move such a system onto modern technology together with its data, without downtime and without losing what it has learned over the years.

Call +48 22 378 48 62
  • ISO/IEC 27001
  • 3000+ workstations under care
  • NIS2 and national cybersecurity
  • DPO as standard
  • Since 2017

Plenty of companies run on applications written fifteen or twenty years ago: .NET Framework, Delphi, DOS databases, Access, terminal systems. They work until they do not. We move them onto modern technology, keeping the data and the logic that proved right over time, and add what did not exist back then, including AI.

What we modernise

Not every legacy system needs a rewrite. First we work out what is worth saving and what should be replaced.

  • .NET and Delphi desktop apps

    Systems on .NET Framework, WinForms, Delphi or Visual Basic. We move them onto a current stack and a web version reachable from outside the office.

  • Legacy databases

    DOS era databases (dBase, Clipper, FoxPro), Access and tired SQL instances. We migrate the data keeping history and the relationships between records.

  • Terminal and warehouse systems

    Applications running on terminals and data collectors. A new interface for mobile devices without abandoning warehouse processes that work.

  • A move to the cloud

    The server in the rack becomes an environment that can be updated, scaled and recovered after a failure, including in our own infrastructure inside the EU.

  • AI where it earns its place

    Search across company documents, hints while entering data, automatic descriptions and classification. Not for show, but for hours saved.

  • Documentation and no lock in

    You receive the new system with code, documentation and access. No more single person who alone understands how it works.

What is legacy application modernisation?

Modernisation means moving a system that runs on outdated technology onto a current one, together with its data and business logic. In practice it takes one of three routes: a rewrite, a gradual replacement of modules while the old system keeps running, or wrapping the old core in a modern interface and API. The choice depends on how much company knowledge sits in the old code and how costly an interruption would be.

What we meet most often are applications on .NET Framework, Delphi, Visual Basic and Access, databases in DOS era formats (dBase, Clipper, FoxPro) and terminal systems running on old Windows versions. They share one trait: the company depends on them and fewer and fewer people can change them safely.

When to rewrite and when only to cut the risk

A rewrite from scratch sounds attractive and is usually the most expensive and riskiest option. A legacy application holds dozens of decisions made over the years that nobody remembers but that are still needed. Rewriting blind means discovering them one by one, normally after go live and normally under pressure.

So we often start with gradual replacement: the new system takes over function after function while the old one keeps running until it is empty. The company works throughout and the risk spreads across stages instead of piling into a single switchover day. Sometimes less is enough: isolate the old system from the network, add backups and modern access, and postpone the rewrite until there is a business reason for it.

We will say plainly when modernisation makes no sense. If an off the shelf system covers ninety percent of your process, it is more honest to point at deployment and data migration than to rebuild the same thing.

What happens to the data in old databases

Data is usually the most valuable part of a legacy system and the most common source of trouble during migration. We start with an inventory: what sits where, which fields are actually used, where the duplicates and historical debris are, and which relationships exist between tables without any documentation to describe them.

Then we build a migration that can be run repeatedly and verified with numbers: how many records went through, how many were rejected and why. We rehearse it as many times as needed before touching production. The old data stays in a read only archive so nobody has to fear something disappeared.

Where AI fits into this

Modernisation is the best moment to add what did not exist when the system was written. What usually earns its place is natural language search across company documents and order history, hints while entering data, automatic description and categorisation of tickets, and pulling data out of incoming invoices and documents.

We approach it without excitement. AI goes where it shortens a specific task and the effect can be measured, and it goes in line with GDPR and the AI Act: it is clear what data reaches the model, where it is processed and who has access. When data cannot leave the company, we build something that runs locally or in our own infrastructure inside the European Union.

The rule is simple: first the system has to work and be secure, only then clever. Bolting AI onto an unstable application is the fastest way to put the team off it.

How we keep migration risk down

The biggest risk is not technology but an interruption to the business and data loss. So the old system stays alive until the new one proves it does the same job. For a period both run in parallel and we compare results on the same data.

Then come the boring things that actually decide the outcome: a full backup before every stage, a rollback plan, testing on a copy of the environment, and acceptance by the people who use the system daily rather than only by IT. Users learn the new tool before the old one is switched off, not on the day of the switchover.

Why we are the ones to do this

We do two things at once and that is the advantage here. We run company IT, so we understand the environment these applications live in: servers, network, permissions, backups and what happens when something stops working on a Wednesday afternoon. At the same time we build our own SaaS products that we maintain for years.

Because of that, modernisation with us does not end where a typical software house stops: code delivered, good luck. The new system stays under our care alongside the rest of your infrastructure, or we hand it to your team with documentation if you prefer.

How we run a modernisation

In stages, with the company working throughout. No big switchover in a single weekend.

  • inventorystart from data and functions actually used
  • stagesmodule by module, old system still running
  • rehearsed migrationsrepeatable and verified with numbers
  • code and documentationfull handover of ownership
  1. We start with an inventory. We establish what the system really does, which functions are used and where the data lives. Surprisingly often half the screens turn out to be unnecessary.
  2. We design a way out. We choose between a rewrite, staged replacement or wrapping the old core. The decision rests on risk and cost, not on technology fashion.
  3. We migrate data repeatedly. The migration is rehearsed as many times as needed and verified with numbers. Production is touched only once the result is repeatable.
  4. We switch over without downtime. Old and new run in parallel for a while. Users learn the new system before the old one is turned off.

Billing

We run modernisation in stages and quote each stage separately at a fixed price for an agreed scope. We start with an analysis that has value on its own, even if you go no further.

Included

  • Analysis of the legacy system and its data
  • A way out designed with options and costs
  • Data migration including verification
  • Rollout and user training

Beyond the plan

  • New features after go live
  • Integrations with further systems
  • Maintenance and development under a subscription

After the analysis you know the scope, the cost and the order of stages before committing to the whole project.

Frequently asked questions

We have an old .NET Framework application, can it be saved?

Usually yes, and the options go beyond a rewrite. We can move the application onto a current platform version, expose its functions as an API and add a modern web interface, or replace modules in stages. The decision comes after analysing the code and the data, because only then is it clear how much business logic sits inside.

Our data sits in an old DOS database, can it be migrated?

Yes. We have migrated data from dBase, Clipper and FoxPro formats as well as Access databases. We start with an inventory: which fields are used, where the duplicates are and what relationships exist between tables. The migration is rehearsed repeatedly and verified with numbers, and the old data stays in a read only archive.

How long does modernising a legacy system take?

The analysis and the design of a way out usually take two to four weeks. The modernisation itself depends on size: a single module is a matter of weeks, a whole company system usually several months up to a year, run in stages. We do not propose projects where nothing works for six months.

Can the company keep working during the migration?

Yes, and that is the basic assumption. The old system runs until the new one proves it does the same job. For a period both run in parallel and we compare results on the same data. Before every stage we take a full backup and prepare a rollback plan.

Why add AI to a system that just needs to work?

Only where it shortens specific work: natural language search across documents and history, hints while entering data, pulling data from invoices, automatic ticket descriptions. If AI shortens nothing in your process we will say so and not add it for the sake of it. First the system has to work and be secure, only then clever.

Will our data end up in an external AI model?

Only if you allow it and only if the nature of the data permits. It is always clear what reaches the model, where it is processed and who has access, and we describe it in an AI policy in line with GDPR and the AI Act. When data cannot leave the company we build something that runs locally or in our own infrastructure inside the European Union.

What if an off the shelf system would do?

Then we say so. If available software covers the vast majority of your process, it is more honest to deploy it and migrate the data than to rebuild the same thing. In that case we handle the deployment, the migration and the integrations rather than writing code for its own sake.

Who maintains the new system after go live?

We can keep it under our care alongside the rest of your IT, which is natural given that we look after the environment anyway, or hand over the code, documentation and access to your team. We do not build dependence on ourselves: ownership sits with you from day one.

Let us talk about your project

Answer 2 questions about your company. You will see a simple estimate right away, and we will prepare a full proposal within 24 business hours.

  • 2 minutes, no commitment
  • You talk to an engineer, not a salesperson
  • No spam, one contact about your quote