Laravel and WordPress. Solid foundations for content-rich sites.
Laravel is one of the most thoughtfully-engineered PHP frameworks around. Real production stacks run on it, quietly, at scale.
It holds up under load, edge cases and real businesses. Good fit for bespoke applications, internal platforms, CRMs, workflow tools, and the kind of integration work that ties several systems together into one coherent operational flow.
WordPress is the standard CMS most agencies still run on. It carries serious editorial sites, production integrations, and Salesforce-to-WP pipes under real publishing pressure when it's used properly.
The hard parts (WP-cron pipelines, third-party API integrations, WP-CLI workflows, custom post types, the editor system, hosting moves, long-form editorial partnerships) are where the work tends to live.
Craft CMS for editorial briefs where the design language is strong and the team wants a CMS that bends to the brand instead of forcing the brand into a template. Statamic for flat-file, git-native setups built on top of Laravel - natural pairing when the engineering side wants version control over content rather than a separate database to wrangle. Both come up often enough that I keep current with them; neither's where the bulk of agency work lives today, so they sit as the side-lane rather than the main offer.
Modern JavaScript, AI-pair-coding workflows, and the integration know-how that turns separate tools into a coherent operational platform. The framework is rarely the answer on its own. It's how the pieces fit together that decides whether the work lasts.
The CMS work above is half of what I sell. The other half is how I work alongside your agency. Stack expertise without low-friction collaboration is just a CV bullet point. What agencies actually need is someone who slots into their existing flow without disrupting it.
What that looks like in practice:
Day-rate works for time-boxed engagements: a sprint, a delivery push, a rescue. Retainer works better for ongoing capacity (typically 10–18 hrs/month per relationship) - predictable cost on your side, predictable rhythm on mine, and the embedded relationship compounds instead of restarting every quarter.
For agencies running a rotation of 2–3 trusted freelance devs, being a named bench-member is the model. I aim to be the calm, low-friction one on that bench - the developer your PMs are quietly relieved is available when the new brief lands.
A 30-minute call to map the brief. If it's a fit, a small first piece of work - paid, time-boxed - so we both find out how the collaboration actually feels before committing to a bigger scope. Most ongoing relationships I have started this way.
The practical stuff, up front, instead of saved for a call.
I scope it before we start, so you get dates, not a shrug. A focused admin fix or a rescue is usually a few weeks; a full CMS build, a couple of months. The plan comes first, with real dates on it.
A free 30-minute call to work out what’s actually stuck. If it’s a fit, I turn that into a plan with dates and a fixed price. No deck, no pitch.
Almost always. I build on what you’ve already got - WordPress, Laravel, Craft, your integrations, your data - rather than insisting on a rebuild. Getting the existing pieces to talk to each other properly is half the job.
That’s the whole point. I build admin people can operate without a manual, and hand over clear notes. You own the code and the accounts. I’m on a retainer if you want me, not because you’re stuck with me.
That’s most of what I get called in for. A half-finished build, an admin nobody enjoys opening, data that’s quietly drifted out of sync. I untangle it, with no judgement about how it got there.
Often. I slot into your Slack and your board as a senior pair of hands, using your tools and conventions, or I work with you directly. Whichever suits the project.
A fixed price for a defined scope, or a retainer for ongoing work. Priced on the outcome and the accountability, not a clock ticking. You’ll know the number before anything starts.
Me. If I built it, I’m the one who sorts it. That’s the difference between hiring a tool and hiring someone accountable for the result.
Tell me which of these stacks you're on and what the project needs. Happy to talk integrations, rescues, or long-form partnerships.
Misbehaving stack? Codebase that won't play fair?