2026, ai agents
DevFactory, a software factory on my own machine
An idea goes in through a web Studio and a finished, tested and documented project comes out as its own git repository. Claude plans and reviews, local models build ticket by ticket in a Docker sandbox. It has built more than a hundred small sites and tools so far, and 111 of them are public on SiteShelf.
I wanted to know how much of a small project a pipeline could carry on its own if the planning and the building were split between different models. DevFactory is that pipeline, with a web Studio in front of it so I can watch every phase while it runs.
How a run works
- An idea goes in through the Studio, typed by hand or picked from an Ideas board where Claude suggests batches of buildable ideas from a theme
- Claude researches the idea, writes a spec and cuts it into tickets
- Each ticket is built test-first in a Docker sandbox, by a local Ollama model or by Claude, depending on how the ticket is routed
- Claude reviews the result, and the run ends with a tested, documented repository and a small launch site that embeds the app
- The Studio keeps a registry of everything it has built and can launch any of them with a button
What it has built
More than a hundred projects so far, mostly ready-to-adopt websites and tools for small businesses: a mortgage calculator, a bakery site with a daily bake board, a café stock count that turns into a reorder sheet, a plumber's quote builder, a music school practice log, and so on. Each one is a Vite, React and TypeScript app that keeps its data in the browser, with no server to run.
Since 6 November 2026, 111 of them (34 websites and 77 tools) are on a public shelf at siteshelf.dev (opens in a new tab), where each can be tried live and downloaded as source.
What the first run taught me
The very first ticket timed out three times on a local 27B model. The model was fine at the work: it had 19 passing tests inside 48 minutes. It then spent the rest of its hour hand-fixing indentation and never committed. The fixes were dull and effective: a formatter in the project template, a rule to commit and stop once the checks pass, smaller tickets for local models, and stopping a timed-out session inside the container rather than only on the host.
Stack
- TypeScript runner with a SQLite store, and
claude -pfor the Claude roles - Ollama for the local models
- Docker for the build sandbox
- Vite and React for the Studio
ai agentsclaude codelocal llmsollamadockerreacttypescript