01
WordPress Development
Custom themes built from a design, not a page builder — and the unglamorous work of making an inherited site behave.
- Custom themes
- ACF
- WooCommerce
- Multisite
Services
Most projects need a bit of everything: theme work, a plugin fix, a server that is misconfigured, and someone who can read the code that is already there. That is the job.
01
Custom themes built from a design, not a page builder — and the unglamorous work of making an inherited site behave.
02
Plugins that do one job properly, including commercial add-ons for Gravity Forms and other platforms with real user bases.
03
Storefront work and custom apps for merchants who have outgrown what the theme editor can do.
04
When the job is not a CMS: Laravel and CodeIgniter applications, integrations, dashboards, and long-running back-office tools.
05
Getting LCP, INP and CLS into the green on sites that were not built with any of them in mind — and keeping them there.
06
Taking over a codebase someone else left behind, fixing what was called unfixable, and keeping it patched afterwards.
How it works
You describe the problem. I read the existing code before quoting.
Fixed price for defined work, hourly for open-ended work.
Staging first, regular check-ins, nothing lands live unannounced.
Code, documentation, and support only if you want it.
Questions
Yes — it is a large part of the work. I read the codebase first and tell you honestly whether it is worth keeping, repairing, or replacing. That answer comes before any quote.
Both. Defined work with a clear finish line is quoted fixed. Open-ended work — maintenance, ongoing development, “we will know it when we see it” — is hourly, because a fixed price for undefined work is a guess someone always loses on.
Small fixes usually within a few days. Larger builds depend on what is already booked — ask and I will tell you the real date rather than the one you want to hear.
Yes, and several of my Upwork engagements have run for years on that basis. It is optional: you own the code either way, and there is no retainer you have to buy to keep your site working.
Usually, and often substantially. Start with the performance page — it shows this site’s own Core Web Vitals, measured from real visits rather than a lab test.
That is genuinely enough to start a useful conversation.