How we build
AI drafts. An engineer decides.
AI agents write most of our code. An engineer decides what gets built, reviews every change and answers for what ships. This is the method, and what you get from it.
The human contract
What a person always does.
- 01A person writes the spec, and you approve it.
- 02A person reviews every change before it merges.
- 03A person decides when an AI feature is good enough, against its evals.
- 04A person reads your messages and answers them. AI drafts replies and proposals; people send them.
AI triage of new leads with Claude
- donespecPLAN.md §8
- doneplanprompt triage-v1
- donechanges27 files · +1,619 −27
- donetests15 new tests · CI green
- queueddeployoff until evals pass
A replay of pull request #5 in this site's own repository, September 2026.
The method
Frame, build in loops, prove, hand over.
The same phases on every project, whatever its size. Each one ends with something you can read or use.
- 01
Frame
The spec comes before the code.
We write down the goal, the users, the scope, the risks and the decisions behind them, and turn it into a plan with milestones. You read it and approve it before anything is built.
You get
- Written spec
- Architecture decision records
- Milestone plan
- 02
Build in loops
Agents write the code. An engineer owns every change.
AI agents work through the spec in short loops. An engineer plans each change, reviews every diff and decides what merges. You follow along on a preview build as the work lands.
You get
- Pull requests with their reviews
- Preview builds
- 03
Prove
Nothing merges on a red check.
Tests, type checks and accessibility checks run on every change. AI features also have to pass their evals before they are turned on, and again whenever the prompt or the model changes.
You get
- Tests
- Evals
- Continuous integration
- 04
Ship & hand over
You get a product you can run without us.
We deploy, watch it in production and hand over the repository with its docs and the agent notes (CLAUDE.md) that let any engineer, or any agent, keep building on it.
You get
- Repository
- Docs
- CLAUDE.md
What you get
The code, and everything needed to keep changing it.
You get the working product and the record behind it, so any engineer, or any agent, can pick it up.
Spec
What we are building and why, approved by you before the build starts.
Decision records
One short file per architectural decision: the options and why we chose.
CLAUDE.md
Agent notes: the commands, rules and layout any engineer or agent needs.
Tests
Unit, API and end-to-end tests that run on every change.
Evals
Graded test sets for each AI feature, with the threshold it has to meet.
CI
The checks that block a merge: tests, types, lint, accessibility and evals.
Docs
How to run, deploy and change it, kept in the repository.
Ownership
What we build for you is yours.
The repository, the code, the designs and the IP we create for you transfer to you as each milestone is paid, as the proposal and our terms set out. We keep only our general know-how and the tools we had before your project.
Your data
- Only what the task needs
- A model gets the data its task needs and nothing else. Our own lead triage reads the brief, never the sender's email address.
- No secrets in code
- Keys and credentials live in the environment of each service, never in the repository or in a prompt.
- You know who sees what
- We tell you which model providers and cloud services process your data, and on what terms, before they do.
Tools we use every day
- Claude Code
- Claude API
- GitHub Actions
- Playwright
- axe
- pytest
- Vitest
- OpenAPI
Have something to build? Tell us about it.
A person reads every brief and replies with questions or a first plan.