Skip to content
← All services

Scoped product build

Software that still workstwo years after launch.

React, Next.js and Astro applications that load fast, rank well, and hold up after launch. Built from scratch — no themes, no page builders.

If code already exists we will review it and tell you honestly whether extending it is cheaper than replacing it. If it does not, a paragraph about the problem is enough to start.

Why this exists

Most agency builds are handed over as a black box. The code is someone else’s, the deploy is a mystery, and the first change you need costs more than it should.

We build the opposite way. The stack is boring on purpose, the repo is yours from the first commit, and the documentation is written for whoever inherits it — including a developer who has never met us.

How it runs

Four steps, and you seework at every one.

  1. 01

    Scope in writing

    We map what actually needs building before quoting. You leave with a written scope and a number, free either way.

  2. 02

    Design against real data

    Interfaces are designed with your actual content and edge cases, not lorem ipsum. This is where most timelines quietly break.

  3. 03

    Two-week cycles

    A working link at the end of every cycle. You watch it come together rather than waiting for a reveal.

  4. 04

    Handover, properly

    Repo, credentials, infrastructure and docs in your name. Thirty days of support, and no obligation after that.

What you get

Yours to keep,from day one.

Not deliverables handed over at the end. These exist in your accounts, in your name, while the work is happening.

  • Source code in your GitHub organisation from day one
  • Infrastructure and domains registered to you, not to us
  • A written architecture decision record for anything non-obvious
  • Automated deploys with a rollback you can trigger yourself
  • Performance and accessibility budgets checked in CI
  • Documentation written for your next developer

Capabilities

The full list, so you cancheck we do your thing.

Build

  • Web applications in React, Next.js and Astro
  • Custom software for complex internal workflows
  • eCommerce storefronts, checkout and inventory
  • Mobile applications for iOS and Android
  • API design and third-party integration

Quality

  • Automated, manual and performance testing
  • Security auditing and dependency review
  • Accessibility conformance work
  • Core Web Vitals and search performance

Platforms

  • WordPress themes, plugins and WooCommerce
  • Shopify and Shopify Plus, including migrations

How we work together

Pick the shape thatfits the work.

Fixed price

One number, agreed up front

For work we can scope tightly. You get a written scope and a price before anything is built, and the price does not move unless the scope does.

Phased

Priced and approved per phase

For larger builds. Each phase is scoped, priced and signed off on its own, so you can stop or change direction at a known point rather than being locked into the whole thing.

Retainer

Monthly capacity

For ongoing work after launch. A set amount of our time each month, and you decide what it goes on. No minimum term.

Scoping is free in every case, and the written scope is yours whether or not you hire us.

Questions

About web development.

Do you work with our existing codebase?

Often, yes. We will review it first and tell you honestly whether extending it is cheaper than replacing it. Sometimes the answer is that your current code is fine and you have a different problem.

What stack do you use?

React, Next.js or Astro on the front, Node and PostgreSQL behind it, usually deployed to Vercel. We pick boring, well-supported tools deliberately — you should be able to hire for your own stack.

Who owns the code?

You do, from the first commit. The repository lives in your organisation and we work inside it. Nothing is transferred at the end because nothing was ever ours.

What happens if we want to change something mid-build?

Bring it to the cycle review. Small changes are absorbed; anything that moves the scope gets re-quoted before we start it, so there are no surprise invoices.