A big codebase, kept under control.
Simma is built on Python and Django, with React for the newer pages and a mix of AI models chosen task by task: Claude, GPT and TypeSafe's Jev. Mainstream, well-documented tools that any experienced Python developer knows. This page covers what it's built on, how it's kept in check, and where it's thin today.
One codebase, from database to browser.
Every section of the product (website, bookings, customers, payments, marketing, team, money) is in the same codebase, on the same database. That's what lets the AI team see the whole business.
Built with AI agents. Checked by more than trust.
Simma is built by the founder working with AI coding agents. That only works if the checks don't depend on anyone reading every line, so the checks are built in.
Tests, with the pass rate
At the last full run (1 September): 11,733 passed, 5 failed and 2,003 skipped. Four of the five failures were written on purpose, to reproduce a bug before its fix. The skipped tests are parked on a list, each with its cause, and cleared in batches. Day to day, the rule is that a change runs the tests it affects before it's committed.
Contract tests on the joins
122 tests check the places where one part of the system relies on another: menus, links, signals, background queues, which roles can open what. If someone changes one side of a join, the other side's test fails.
Decisions written down
65 decision records say what was chosen, what was rejected and why, and 57 of the 85 apps carry their own guide. Agents read them before they plan, and a plan that contradicts a decision stops for the founder.
How agent work is checked
The founder approves each plan, and agents work from written contracts that name the files they may change. A change outside that area is refused until it's explained. The whole loop is below.
Simma is built inside Simma.
Simma's own development runs on its own project board, at /a/projects/dev. Work is planned there, AI
coding agents pick it up there, and it's checked in there. It's the same system the AI team will use to run a customer's business.
- Plan
The founder writes the plan, then breaks it into initiatives, epics and stories on the board.
- Contract
Each story gets a written contract: what to do, which files it may touch, how it will be checked, and how hard it is.
- Approve
The founder approves the plan. Its stories are then offered to agents automatically, once each contract passes the checks.
- Claim
An agent connects to Simma over MCP, asks what's ready for its model, and claims a story, so two agents never take the same one.
- Test first
The agent writes a failing test that describes the change, then the code that makes it pass.
- Check in
The agent closes the story by naming its commits and the files it changed. Anything outside the agreed area is refused until it's explained.
- Ask, don't guess
When the contract looks wrong or the agent isn't sure, it stops and asks a question on the board, and waits for an answer.
- Record
Commits attach themselves to their stories, so the board shows what really happened without anyone updating it.
The right model for each story.
Every story is graded simple, standard or complex, and offered only to agents on a matching model. Harder work goes to a stronger model; routine work goes to a cheaper, faster one. 84 agents are registered: 10 simple, 26 standard, 44 complex.
What we learned measuring it. On three matched stories, Haiku used 73% of Sonnet's tokens and passed two of three; Sonnet passed all three. Haiku's miss was a test suite that tested nothing, and every automatic check passed it. That's why grading matters, and why a story that fails at one grade moves up to the next. The loop has been proven on this codebase only; it isn't offered to customers yet.
If it can run our business, it can run theirs.
Simma already builds Simma. The plan is that it also runs and grows Simma, the business: everything in one system, the way it will be for a customer. If we can run and grow our own company on it, we know our customers can too.
The right model for each job.
No model is hard-wired. Each kind of task is routed to the model that does it best, and a business can change the choice task by task. When a better model ships, it's a setting, not a rebuild.
The AI drafts; the owner approves
Anything that reaches a customer or moves money waits for a person to approve it. The AI can suggest and prepare; it doesn't get to send on its own.
Answers only from what's public
Simmi, the assistant on this site, runs on Claude and answers only from this site's own text. Ask Simmi.
Customer data stays in London.
The questions a developer would ask.
Better you read them here than find them in due diligence.
About 2.9 million lines.
Lines of code don't measure value, and more code is more to look after. We show them for one reason: they give a sense of how much of the product already exists.
How it was counted: non-blank lines in the files tracked in the repository, 2 October 2026. Left out: documentation, planning notes, third-party libraries, built bundles, generated files, stylesheets and one-off scripts.