No public price list. Honest estimates, within 24 hours.
Engineering work isn't a menu, and a fixed sticker price either over-charges easy projects or under-prices hard ones. Send the brief — we'll return a fixed-hours estimate tailored to what you actually need.
Real scope never fits a price card.
Two “WordPress sites” can be 5× apart in effort
20 pages with a clean Figma and a working template is a different project from 20 pages with broken design specs and a custom plugin requirement. A flat price punishes the simple project to insure against the messy one.
You'd spend more calibrating than briefing
Anyone serious comparing quotes wants to know what's included, what's not, who handles QA, what hosting assumes. That conversation is the estimate. Skip the price card, get the conversation.
Honest pricing is the real differentiator
If we charged headline rates we'd lose simple projects to cheaper shops and over-price the complex ones. We price every project against the actual work, not against what the market will bear.
One engagement model: per project, fixed hours.
What typical projects look like in hours.
The hours below are characteristic of past engagements; your project may be lower or higher. We share these so you can sense-check budget before you brief us — not as a quote.
Branded template applied to a new client
Single-site customisation against an agency's existing template, 15–100 pages, Figma-as-spec, two-stage QA, deploy on the agency's standardised hosting (Kinsta, WP Engine, or equivalent).
- Page-by-page implementation
- Per-client overrides only
- Site Checker pre-handoff
- Bug-fix window post-handoff
Custom theme, no template base
Custom theme built to a Figma, 15–120 pages, ACF / Gutenberg blocks, forms plugin to brief, multilingual if needed. Larger consolidation builds (multi-practice, multi-location) can run higher.
- Custom theme + reusable blocks
- Performance-optimised
- Schema scaffolding to brief
- Migration if applicable
Internal tool or SaaS MVP
Laravel + Livewire + Alpine.js, custom backend, multi-role auth, integrations, dashboards, exports. Postgres or MySQL. Hosted on your VPS or ours.
- Database design + migrations
- Multi-role auth + permissions
- 3rd-party integrations
- Staging + production deploys
Built on brief, scoped to outcome
MCP agents, LLM workflows, and shipping automation — built today on our own infrastructure (3 MCP servers, ~219 tools, AgentGateway). We offer this to clients on brief, not as a pre-priced productised service. No public client cases yet, so no corpus-anchored hour range to publish; we estimate per scope after we've read the brief.
- Agent architecture + prompting
- Tool integrations
- Cost monitoring + caching
- Fail-mode handling
Ongoing infrastructure babysitting, so your team doesn't take the 2 a.m. call
Monthly retainer, prepaid, sized to the surface we're covering. Tiered response SLAs — from best-effort business-hours up to 24/7 on-call. Specific response times and reporting cadence are agreed per retainer, not pre-packaged. Delivered by our infrastructure team, separate from WordPress engineers. Available standalone or bundled with a build.
- Coverage
Stack uptime, deploys, SSL / DNS hygiene, log review - Response
Tiered SLA, agreed per retainer — business-hours through 24/7 on-call - Reporting
Cadence agreed per retainer — from monthly health report to quarterly review
Every estimate covers the same defaults.
From brief to a real number, in 24 hours.
No discovery call, no “let's hop on Zoom for an intro chat”. The estimate is async — same as how we work day-to-day.
You send
Figma link, repo, or written scope. Target timeline if you have one. NDA template if you need one signed.
We review
Read the brief, look at the design, list 3–5 questions that change the estimate materially.
You answer
Reply to the questions async. We don't proceed without enough information to commit to hours.
We quote
Fixed-hours number, written scope, delivery date. You decide. Terms agreed before work starts — we're flexible on milestones, deposits, or full upfront depending on the engagement.
Ready to find out the number?
Send the brief. Within 24 hours: NDA if needed, sharp questions, fixed-hours estimate, realistic delivery date. No obligation.
Request an estimate