Your PHP application is out of support. Your roadmap can't stop.

Before any new code is written, we build an automated suite against your existing system. Every phase of the migration ships only when that suite passes on both. A named senior engineer signs off every change.

No rewrite. No feature freeze. No big-bang cutover.

Check if your module qualifies

The problem

The framework is years past end of support, and security questionnaires are starting to fail.

One or two developers hold all the context, and neither can be spared for six months.

A previous attempt stalled halfway, or never started because nobody could estimate it.

Nobody can prove a change didn't break existing behaviour — so nothing gets changed.

How we work

Automated parity suite

Written against the old system before the new one exists, so every phase proves it behaves the same.

Strangler Fig, in phases

Each phase ships on its own. No freeze, no big bang.

Named human gate

No AI-assisted change reaches a pull request without a named senior engineer signing off. QA validates every cutover.

Documentation you keep

Architecture decision records, an operational runbook, and a parity report per phase.

Selected work

UK CONSUMER-CREDIT LENDER

CakePHP 4 to Laravel 12, in production since 2018: 256 controllers, 150,000 lines. Strangler Fig over a single shared database — no data migration.

55,000
lines removed
85%
code-complete at 7mo

Migrated module by module alongside the live service, with no data migration and no interruption to it.

FRENCH HEALTHCARE SAAS

Frontend architecture allowing Vue 2 and Vue 3 to coexist, so components migrated gradually with no pause in feature delivery.

2 → 3
Vue versions, coexisting

Later adopted as the company-wide standard.

US EDTECH PLATFORM

Spanish market opened on a legacy Symfony application, with A/B testing running in production on an unsupported Vue 2 frontend.

90+
Lighthouse score

No rebuild.

WHERE IT STARTS

Parity Baseline

From US$ 3,500 · Ten working days · One module

Before anyone writes new code, we write an automated suite against your existing system. It defines what "the same behaviour" means, in code, so the migration has a finish line nobody can argue with.

  • An executable Playwright suite, committed to your repository
  • An inventory of undocumented legacy behaviours: the rules nobody wrote down
  • A parity report with a migration estimate grounded in what the suite found

The suite is yours whether the migration is done by us, by your team, or not at all.

S US$ 3,500 · M US$ 5,000 · L US$ 8,500, sized by the number of flows under test.

We confirm your module qualifies before you pay: production system, reachable staging, test users per role.

Check if your module qualifies

For agencies

Your client has an old PHP app and you'd rather not touch it blind. We deliver the Parity Baseline under your name or alongside you. The suite lands in your client's repo, the account stays yours, and our contract includes a 12-month non-solicit on your clients.

Klim Works is led by Rodrigo Klim, tech lead on the migration described above. Every engagement has a named senior engineer accountable for it.