I read PHP codebases that AI-assisted development has damaged, and I write them back into shape. The methodology is not a framework or a platform. It is reading, then measuring, then writing, in that order, and not shipping anything I cannot explain to the team in prose.
I treat the codebase as evidence. The repository tells me what the team believed when they wrote each line; my job is to read it before I change it, and to leave it in a state the next reader can trust.
Read first, measure second, write third. Each change is small enough to revert and large enough to matter. Nothing ships that I cannot explain to the team in prose; nothing ships without tests if behaviour changed.
Solo operator. No outsourced delivery, no junior bench, no slide-stage hand-off to someone else after the proposal. The person on the triage call is the person on the keyboard, every line.
The first hours go into reading the repository, not changing it. The artefact is a written map: where the value lives, where the damage lives, which files are load-bearing, and which directories the team should stop touching until the cleanup lands.
Test coverage, cyclomatic complexity, file churn, dependency depth. Where they help, mutation-testing scores on the modules I plan to touch. Numbers grounded in your repository on a given commit, not abstract benchmarks.
A written diagnosis in prose. Structural debt, the parts attributable to AI-assisted work, the parts that were already wrong before, and a prioritised remediation plan. Yours to act on with or without me on the repair.
Hands on the keyboard. Tests written before behaviour changes. Each change reviewable on its own. No big-bang refactor, no overnight rewrite, no "trust me, it works now" without a green CI run on a deterministic suite.
Senior PHP engineer. Zend & (ex-)CISSP certified. Based in Alicante, Spain, working CET hours. The engagement and the operator are one person by design — what you read on the triage call is what reaches your repository.
No. The model is engagements, not employment — hourly, by the project, or by the day. That keeps the methodology sharp and the operator independent. If you need a hire, I am happy to recommend people who fit.
Sometimes alongside your team. Never with a sub-contracted bench. Every line of code shipped on the engagement is written or reviewed by the named operator. There is no junior tier and no proposal-stage hand-off.
Alicante, Spain, working CET hours. Engagements run remote by default; on-site is available for the diagnosis phase by arrangement, billed at cost for travel.
The triage call is usually inside the first working week of you asking. The diagnosis follows once we agree scope. Repair work starts once you have read the diagnosis and decided what is in scope — never before.
Thirty minutes, no fee, no pitch deck. Bring the repository or a description of it. You leave with at least one next move you can run yourself, whether the engagement continues or not.