What we build

Legacy software modernisation

Old systems are often the ones a business depends on most. We modernise legacy PHP applications, outdated frameworks and ageing internal tools onto current Laravel, one piece at a time, so the business keeps running while the software improves.

Step by step

We migrate one area at a time, so there is never a risky switch-over weekend.

Secure and supported

Move off unsupported PHP and framework versions that no longer get security fixes.

AI-assisted refactoring

AI tools map the old code and do the repetitive conversion work. Engineers check every change.

Easier to hire for

Laravel is one of the most popular PHP frameworks, so you are never stuck looking for rare skills.

When legacy becomes a problem

Legacy software is not bad software. It is software that has outlived the people, versions and assumptions it was built on. It becomes a problem when:

  • it runs on a PHP or framework version that no longer gets security fixes,
  • only one person understands it, and they are leaving or have left,
  • simple changes take weeks because nothing is tested,
  • it cannot connect to the modern services your business now uses, or
  • it is too slow, or too fragile, to grow with the business.

Why we avoid big-bang rewrites

The tempting answer is to start again. In practice, full rewrites are among the riskiest projects a business can take on. The old system holds years of business rules that nobody wrote down, and the new one has to match all of them before it can replace anything.

Instead, we use an incremental approach, often called the strangler fig pattern. Laravel sits alongside your existing system, shares its data and takes over one area at a time. Each step is small enough to test properly and release safely, and the business keeps running throughout.

How AI helps with legacy code

Legacy modernisation is one of the areas where AI coding tools help most. They are good at reading large amounts of unfamiliar code, explaining what it does, finding the hidden business rules and doing the repetitive conversion work. Our engineers use that to move faster, then review, test and own every change.

Starting with an inherited platform

Certify came to us with a partly built platform from a previous developer and a long list of features still to deliver. We built on the foundations worth keeping and delivered an OpenBadges platform with blockchain verification, localised for the Brazilian market.

Scope

What's included

  • Assessment of the current system, its data and its integrations
  • A modernisation roadmap with costs, risks and priorities
  • Tests that capture how the current system behaves before anything changes
  • Incremental migration onto Laravel 13, area by area
  • Database clean-up and migration, with data checks at every step
  • PHP and server upgrades, or a move to managed infrastructure
  • Documentation of business rules that previously lived only in the code
  • Training and handover for your team

Process

How it works

  1. Assess

    We read the code, talk to the people who use the system and map where the risks are.

  2. Protect

    We add tests and monitoring around the current behaviour before changing anything.

  3. Migrate

    Laravel runs alongside the old system and takes over one area at a time.

  4. Retire

    Once everything has moved, the old code and servers are switched off for good.

Case study

Certify: Blockchain-verified digital credentials

We took over a partly built platform and delivered an OpenBadges system that lets schools and training providers issue credentials verified on the blockchain.

Read the Certify case study

We could not be happier with the relationship. They're super responsive, transparent and detailed in all they do, and the quality of what has been delivered has been excellent.

Patricia ValerioCertify

FAQ

Frequently asked questions

Should we rewrite our legacy system from scratch?

Usually not all at once. Big-bang rewrites often run late, miss business rules hidden in the old code and force a risky switch-over. We prefer to run Laravel alongside the old system and move one area at a time, which spreads the cost and lets you stop at any point with something that works.

Our system is built with plain PHP, CodeIgniter or CakePHP. Can it move to Laravel?

Yes. These are common starting points. Laravel can share the same database and sit behind the same domain, taking over pages and features one by one until the old code can be removed.

Our app is on an old version of Laravel. Is that modernisation?

Usually it is an upgrade, which is simpler and cheaper. See our Laravel upgrade service, which covers every version back to Laravel 4.2.

How do you make sure nothing gets lost?

Before we change anything, we write tests that capture how the current system behaves, including the odd rules nobody remembers. Those tests then prove the new version behaves the same way.

Keep exploring

Talk to a senior Laravel engineer

Book a free 30-minute call. Tell us what you are building or what is worrying you, and we will tell you honestly what we would do, what it costs and how long it takes.