PHP development, including the legacy nobody else will touch

A PHP system that has been earning money for eight years is an asset, not an embarrassment. Most of the time it needs modernising rather than replacing — and knowing which is the actual skill.

Overview

Legacy PHP, valued honestly

A PHP system that has been earning money for eight years usually needs modernising rather than replacing — and knowing which is the actual skill.

Why a working PHP system is an asset, not an embarrassment

Most legacy PHP is not bad code; it is code whose context was lost. The business rules inside it are often the only written record of how the company actually works, which is exactly why rewriting from scratch loses more than it gains.

Modernisation means making change safe again: characterisation tests around the parts nobody understands, a supported PHP version, dependencies that receive security fixes, and a deployment anyone can run.

When to modernise rather than rewrite

Modernise when the data model still matches the business. Rewrite when it does not, or when the domain has changed beyond what the code can express — we cost both options before recommending one.

Signals your PHP system needs attention

  • you are on a PHP version that no longer gets security fixes;
  • nobody dares change one particular file;
  • deployment is a person with an FTP client;
  • dependencies are years behind and updating breaks things;
  • the only documentation is the code itself.
Signals a PHP system needs modernisation: unsupported version, risky files, manual deploys, stale dependencies

Price

From $7,990

Timeline

3 weeks to first release

Payment

50/50 by milestone

Pricing

What a project on this stack costs

Same packages as everywhere on the site — the stack does not change the price, the scope does.

Scoping Sprint

$4,490

Architecture, breakdown, risks and a fixed quote — credited in full against any package within 30 days

1 week

Launch-Ready

$18,900

Up to 6 flows, granular roles, 3+ integrations, tests and CI/CD

6–8 weeks

Hourly team

$28–55/hour

Open-ended work by role: mid, senior, tech lead, DevOps, QA, design

From 40 h/month

Dedicated team from three months: −10%. Agency partners from 320 hours a month: −15%. Full price list.

Comparison

Modernise or rewrite

The two options costed honestly, because the wrong choice here is expensive in both directions.

Criterion
RewriteModernise in place
ModerniseRewrite from scratch
Business rules preserved
Rediscovered by archaeology
Kept, then covered by tests
Time to first benefit
Months
Weeks
Risk to daily operations
Cutover risk on one day
Incremental, with rollback at each step
Cost
Full project
Fraction, spread over releases
When it wins
Data model no longer matches the business
The system still fits the business
Scope

What we build with it

Where this stack earns its place in a project, and what we would use instead if it did not.

Legacy modernisation

Systems without a framework, with logic in templates and no tests. We add characterisation tests first, then change things safely.

Version upgrades

PHP 5.6 or 7.x to a supported version, dependency by dependency, with a rollback plan at every step.

Gradual migration to Laravel or Symfony

Strangler approach: new modules in the new framework, old ones retired one at a time, business never stops.

Security and compliance work

Input validation, session handling, secrets, dependency vulnerabilities — the findings that turn up in every first audit.

Fit

When it is the right call — and when it is not

The best stack is usually the one your team can maintain after we leave.

Right for

Systems that work and generate revenue, where the goal is lower risk and faster change rather than a new logo on the admin panel.

Not right for

Cases where the business logic is genuinely simpler to rewrite than to decipher. We will show you the cost of both and let the numbers decide.

Rates

$28–55/hour by role

Fixed builds

From $7,990

Discounts

Dedicated −10% · partners −15%

How we work

Modernisation without stopping the business

The part that is specific to this stack rather than true of every project.

We start with characterisation tests around the parts nobody understands any more: capture current behaviour, including the bugs, so a refactor can be proven not to change it. Then the strangler pattern — new code beside old, traffic moved module by module, rollback available at every step.

Refactoring never changes behaviour: if we find a bug on the way, we report it and price the fix separately rather than quietly "improving" something your operations team depends on.

Why us

Why teams bring us in for this stack

Four things we can prove, not four adjectives.

Characterisation tests first

We capture current behaviour, including its bugs, so a refactor can be proven not to change it.

Strangler, not big bang

New code beside old, traffic moved module by module, rollback available at every step. The business never stops.

Refactoring never changes behaviour

If we find a bug on the way, we report it and price the fix separately rather than quietly improving something your operations depend on.

Long-term support available

Once the audit tells us what we are agreeing to support, Care from $790/month keeps it alive.

Industries

What we buildfor your industry

Legacy PHP runs quietly in logistics, manufacturing and property back offices — that is where we meet it.

18 sectors

  • IT companies and digital agencies
  • Insurers and brokers
  • Lenders and microfinance
  • E-commerce
  • Wholesale and distribution
  • Manufacturing
  • Freight and forwarding
  • Clinics and medical centres
  • Dental
  • Car dealers and service centres
  • EdTech
  • Legal and consulting firms
  • Equipment rental
  • Real estate agencies
  • Property developers
  • Travel and events
  • Beauty and wellness
  • Construction and renovation
FAQ

Questions we get about this stack

Answered by the people who would do the work, not by a sales team.

We are on PHP 5.6 / 7.2 — what now?

An audit first: dependencies, extensions, test coverage and the paths that carry money. Then an incremental upgrade plan with a rollback at each stage.

Rewrite or repair?

Repair, unless the data model is wrong at the root or the domain has changed beyond what the code can express. We cost both options before recommending one.

Can you upgrade without downtime?

Usually yes: parallel environments, traffic shifting and a rollback plan. Downtime windows, when unavoidable, are agreed in advance and kept short.

Will you work with our existing developer?

Yes — often the fastest setup, since they hold the domain knowledge and we bring the modernisation discipline.

Do you take over unsupported systems long-term?

Yes, on a Care plan from $790 a month, once the audit has told us what we are agreeing to support.

2–4×
faster on the code-writing share
in 3 weeks
from idea to MVP
230+
projects delivered
17 years
of engineering experience
Work

Work we can show you

Need this stack with a senior review included?

Tell us what exists today — a green field, a legacy codebase, or a team that needs two more pairs of hands. We answer with a scope, a price and a date.

We do not take work on a stack we cannot review internally at senior level.