Ryan Ormrod
Remote · UK hours

Home · Services · Custom PHP development

Custom PHP development

Ryan Ormrod · independent developer

Custom PHP when plugins are the wrong tool

Bespoke PHP for systems that have outgrown off-the-shelf software, or never fitted it in the first place.

If a plugin maze would only make things worse, say what the system needs to do. I write and maintain custom PHP for agencies and businesses.

chips php // custom no plugin maze uk hours

Custom PHP

Software shaped around the job, not the plugin directory.

New builds

Small applications and services with a clear owner.

Integrations

Glue between systems without a fragile Zapier tower.

Legacy maintenance

Code that still runs the business, made safer to change.

Refactor slices

Improve one painful area without a full rewrite.

If that matches the job, send the brief.

Process

How custom work usually runs

Same delivery shape on every service page. The labels change with this job.

  1. 01 Done

    Brief

    What breaks today and what “fixed” looks like.

  2. 02 Now

    Estimate

    A slice you can approve.

  3. 03 Next

    Build

    Staging first wherever we can.

  4. 04 Next

    Handover

    Notes and access back with you.

Who

Who this is for

People with a workflow that will not fit a page builder or a SaaS template.

smb

Small business owner

Internal or customer-facing tools that matter day to day. Practical builds with staging, docs and a handover your staff can run.

See matching services
large

Large business owner

More stakeholders, staging discipline and handover that still makes sense across teams.

See matching services
agency

Agency

Client systems that need real PHP, delivered white-label. Custom modules, integrations and legacy glue without putting me on the client WhatsApp.

See matching services
other

Other

A module that should not live in WordPress. Scoped PHP that fits your architecture instead of another temporary plugin.

See matching services

Rates

£30 an hour. No retainer.

Pay for the hours the job needs. Nothing sitting on a retainer.

RATE£30/hourQuoted from the hours the job needs
MODELNo retainerNo unused support contract
START50% depositWork begins when it clears
STOPUnused hours backIf you withdraw from the deposit
AGENCYWhite-label / NDAYour client stays yours

Same commercial terms on every service page and the homepage. Estimate first, then deposit.

What happens next

After you send the brief

Same sequence on every service page. No surprise retainers.

  1. I reply

    Hours or a fixed figure, plus the access I will need to start.

  2. You decide

    Deposit clears, then work begins on staging. Nothing public until you approve.

  3. Handover

    Working change, notes your team can own, white-label if you asked for it.

Same path on every service page. Send the brief when you are ready.

Send the PHP brief

07 · Send me a job

Brief, Figma, ticket or repository

Studio name, the work, the stack, a Figma or Git URL, and the staging hostname you will point at my server. Include a digital NDA link. I quote that job and stay off your client’s inbox.

  • OperatorRyan Ormrod
  • ModelRemote · no retainer
  • ScopeCode · your client stays yours
  • StagingYour hostname, pointed at my server
  • After payYou deploy the code, or I do
ryanormrod / brief in / staging out

This brief comes to me. A quote for your slice follows by email or WhatsApp. Include the digital NDA link with it. Do not send passwords here. I do not take phone calls.

Send the PHP brief