Modernise it without stopping it.
iLeaf modernises systems that cannot be switched off. We work in phases that each ship on their own and can be reversed, strangling the legacy application rather than rewriting it — then, where it earns its place, we add AI on top. Fifteen years of maintaining long-lived systems informs every step.
Ask Lia about modernizationWhat this includes
- Codebase assessment
- A written read on structure, dependencies, test coverage and risk, with the order we would change things in and why.
- Incremental replacement
- New functionality fronts the old system and takes over route by route, so there is never a single terrifying cutover.
- Platform migration
- Framework, language and runtime upgrades done behind a stable interface, with the old path kept warm until the new one proves itself.
- Data migration
- Schema evolution and backfill with reconciliation at every step, so you can prove nothing was lost.
- Interface refresh
- Bringing the front end up to current standards and accessibility without touching the business rules underneath.
- AI retrofit
- Once it is stable, existing APIs become skills an agent can call — the path Adaptive AI is built around.
How we run it
Every phase ships something usable on its own, so you are never holding a half-finished system waiting on the next milestone.
Read before writing
We spend the first phase understanding what the system actually does — including the behaviour nobody documented but everybody depends on.
Put a seam in
A stable interface goes in front of the legacy system so pieces can be replaced behind it without callers noticing.
Replace the painful part first
Sequencing follows cost of pain, not architectural neatness. The thing that wakes people at night goes first.
Keep the way back open
Every phase is reversible until the new path has run in production long enough to be trusted.
What we build it with
- PHP
- Laravel
- Node.js
- Python
- Java
- .NET
- PostgreSQL
- MySQL
- Docker
- Terraform
- Model Context Protocol (MCP)
- Strangler-fig patterns
Questions we get asked
Should we rewrite from scratch instead?
Almost never. A rewrite means running two systems while the new one catches up on years of accumulated edge cases, and most stall halfway. Incremental replacement behind a stable interface delivers value earlier and can be stopped at any point without leaving you stranded.
Can you work on a system you did not build?
Yes — that is most modernization work. We begin with a read-only assessment and a written plan before changing anything, and the first phase is deliberately small so you can judge how we work before committing further.
Can we add AI to a legacy system?
Often yes, and without rebuilding it. If the system has APIs, those can be wrapped as skills an agent calls — which is exactly what Adaptive AI does. The system keeps running untouched while intelligence is added over the top, phase by phase.
Let’s talk about modernization.
Tell us what you are running and what it needs to do next. We will tell you honestly whether we are the right team for it.
