How we build
These days, agents write most of our code. We plan the work and check it, and we decide what ships.
How a change ships
We write the plan first. It says what the change should do and how we'll know it works.
Agents write the code on a branch.
Checks run on the pull request before we look at it.
A second model reviews the change and looks for ways to break it.
We read the plan, the checks and the review, and we decide what ships.
Status pages
On a full build, the people we build for get a live status page. It shows what's live, what's being built and what's coming next. While the build is moving it refreshes itself from the running system, so nobody has to ask us where the build is.
Model gateways
Every company we build AI features for gets its own model gateway, a small server that sits between its apps and the AI providers. The apps call the gateway instead of Anthropic, OpenAI or Google. The gateway holds the provider keys, passes each call to the right provider and writes down what it cost.
Each app that calls the gateway can get its own key with a hard monthly cap. An app can ask for a kind of model, such as a fast one, instead of a model by name. Then swapping a model is a one-line config change, and no app has to change with it.
A new company's stack
We built tooling that sets up a gateway and everything around it. For a new company it goes from nothing to a working stack: the GitHub organization and repo, hosting, the database, secrets, background jobs, the web app and the gateway. Each shortcut we take along the way goes on a written list with a deadline.
Who owns the code
You do. When the work is done, you have:
- The code, in your own GitHub organization.
- Your own accounts and keys. Hosting, secrets and AI accounts sit in your company's name.