WHY IT HOLDS UP
Judgment stays with the model. Compiling stays with code.
The model decides what tables exist, which state transitions are valid, what a screen should
show. The generator (internal/appgen) is what has to compile — a template can be
forced through go build and go test; a prompt can't.
Runtime task planning
Nothing about screen count or names is hardcoded. The design agent decides how many screens
a product needs and what to call them; the plan grows a task for each one, in the design
phase and again in the build phase — reviewed by a different agent before it closes.
Cost, per agent, live
Tokens in and out are logged the moment the provider reports them, so the number on an
agent's desk climbs while it works — not in one jump when the task closes.
A design system, not vibes
13 color roles, a type scale, and a spacing step — generated once as CSS and reused across
every screen, so six screens read as one product instead of six.
15+ model providers, no lock-in
Anthropic, OpenAI, Bedrock, Vertex, Azure, OpenRouter, Ollama and more speak the same
OpenAI-compatible protocol under one implementation. No key on this machine? It uses a
signed-in CLI tool instead.
Runs your existing codebase, too
Point it at a real repo instead of a blank project: it reads how to start it —
npm run dev, go run ./cmd/x, manage.py runserver —
and hands you back a live endpoint.