rathvan

Why teams use this

Describe the product. Approve three gates. Get a repository your auditors would recognise.

Not a code assistant and not a prototype generator. You write a sentence — from a laptop or a phone — and what comes back is a working repository: tests that run, migrations with row-level security forced on, CI, and an install script. Three points in that chain stop and wait for a person, because three specific mistakes cannot be caught any other way.

a sentence→ PRD→ ◆ you approve→ design→ build→ gates→ ◆ you approve→ pull request→ ◆ you approve→ deployable

◆ marks a blocking human gate. There are 3 of them across 13 stages, and nothing automated may pass one.

Two front doors, one kernel

The difference is where your code and your keys sit.

Both run the same 13 stages, the same 3 blocking gates and the same 139 capabilities. Neither is a trial version of the other. Pick by where the work has to happen.

build.rathvan.com
the CLI and console
the builder
self-host it today, or use ours
Can I use it now? Yes. Download it and run it. Nothing to sign up for. Yes — on your own infrastructure. It is one container; the setup steps below are the whole job. Hosted by us at builder.rathvan.com is not open yet — it is being rebuilt on its own infrastructure, and this page will link it when it is.
What it is A static console and a downloadable CLI. You answer the intake, it writes the repository on your machine. A running service you deploy. Sign in, describe the product, and it generates, reviews and opens the pull request for you.
Where your code goes Your disk. Nothing leaves it. Your Git remote, on a branch, as a pull request you review.
Model calls None. The scaffolder is deterministic — same answers, same bytes. Yes — that is what it is for. Bring your own key, or use the operator's.
Needs an account No. No sign-up, no telemetry. Yes — a token or a Google sign-in.
Runs from a phone No — it writes files, so it needs a machine. Yes. The console is the whole interface.
Who operates it You. It is a file on your disk. You. The same image we run — there is no separate "enterprise edition".
Use it when You want the foundation and your team writes the features. Or your code may not leave the building. You want the product drafted, reviewed and raised as a PR while you read it on a train.

They compose: the hosted builder scaffolds with the same kernel the CLI ships, so a repository started in one is not a different shape from one started in the other.

Who it is for

Two very different reasons to want the same thing.

If you are an enterprise

The foundation is the part that is expensive to get wrong.

Tenancy, row-level security, migrations, audit trails, secret handling, deploy scripts — the work nobody demos and everybody redoes, differently, per team. Here it arrives already made, the same way every time, with 109 migrations that are additive only and row-level security enabled and forced on every table that carries an owner.

And the gates are the point. Scope, production deploys and go-live each stop and wait for a named person, and unattended work has a hard ceiling at staging. That is a property you can show an auditor, not a habit you have to trust.

If you are one person

You get the boring 80% without hiring for it.

Auth, tenancy, billing hooks, an admin surface, CI, an install script. The CLI is free, runs offline, needs no account and calls no model — so the scaffold costs you nothing and tells nobody.

Then the same kernel takes you further when you want it: the hosted builder drafts the PRD and the design, and you approve them from your phone.

Against the tools you already know

They are very good at a different job.

Lovable, v0, Bolt, Builder.io and the rest are prompt-to-app tools. They optimise for the shortest path from an idea to something running that you can look at — and they are genuinely good at it. If what you need is a working prototype this afternoon, use one. This is not that, and pretending the two compete would waste your time before it wasted ours.

A prompt-to-app tool optimises for

Time to something running.

Fewest steps between a sentence and a preview. Starting is frictionless by design, and every part of the product is arranged around that.

Rathvan optimises for

What survives review.

Fewest surprises between a sentence and something an auditor, a security reviewer and the engineer who inherits it all accept. Starting is deliberately not frictionless: the intake refuses to begin until it has what it needs, and says what is missing.

The questions that separate them

Ask these of any tool, including this one. Our answers are on this page; theirs move quickly, so check rather than trust a table — including this table.

The question What the prompt-to-app category is built around Rathvan
What does "done" mean? An application that runs and can be shown. A reviewed change — documents, a diff and a pull request a person approved.
How does it reach production? Shipping is the happy path; that is the point of the product. There is no production transition. Unattended work has a ceiling at staging, and moving past it is one of the 3 gates that names a human.
Can it refuse to start? Starting fast is the whole proposition. Yes, and it does — an incomplete intake reports exactly what is missing rather than guessing, and irreversible choices are never pre-selected for you.
What comes with the app you did not ask for? Varies. Ask specifically about tenancy and row-level security. Tenancy, 109 additive migrations with row-level security enabled and forced, audit trails, CI and an install script — the retrofit-expensive parts.
Where does the code live, and can you leave? Usually theirs first, with export or a Git sync. Ask what stops working after export. Your Git remote and your infrastructure. The CLI runs offline with no account, and nothing stops working if you never speak to us again.
Which model ran, and can you say no to a vendor? Typically the vendor's choice, and not usually yours to constrain. Your key at the head of the chain, a per-tenant policy naming vendors your work may ever reach, and a receipt saying which model actually served each step.
Can you run the whole thing yourself? Generally a hosted service. One container, the same image we run. There is no separate enterprise edition.

The honest summary: most of what is on this page exists somewhere else. What does not is that the process is the product — the stages, the gates and the refusals are data the platform enforces, rather than a discipline your team is asked to maintain. If your problem is "we can generate plenty; what we cannot do is govern what ships", that is the gap this was built in. If your problem is "we need something running by Friday", it honestly is not.

Smart model routing

The cheap model runs first, and only what fails climbs.

Most work in a build is not hard. Naming a file, filling a template, restating a requirement — that is not worth a frontier model, and paying one for it is most of what an AI bill actually is. Rathvan sorts each task onto a rung and starts at the bottom.

Rung 1 · Economy

Relative cost 1

Mechanical work with a right answer. If it fails a check, it escalates rather than being accepted.

Rung 2 · Standard

Relative cost 12

Real drafting — a design, a build spec, a review that has to hold together.

Rung 3 · Deep

Relative cost 40

The large model given room to think. Reached by escalation, not by default.

Those three numbers are ratios, not prices, and that is deliberate. The kernel refuses to state a currency here — prices differ per vendor and change without notice, and the ladder is walked across six of them. A figure in dollars would be precise and wrong. What the ratio answers is the question a budget turns on: did routing down save roughly an order of magnitude, or roughly nothing.

Your key, if you want

Bring your own model key.

Your key goes to the head of the chain and your work is billed to you. Vendor policy is per tenant: you can name which vendors your work may ever be sent to, and the router will refuse rather than quietly fail over to one you excluded.

When a vendor breaks

Failover is visible, not silent.

A quota-exhausted or retired model is skipped, the next is tried, and the receipt records which model actually served each step and how much of it was a cache read. A build that fell back to a weaker model says so.

What is attached automatically

Capabilities you pick from, not features you describe from scratch.

The intake maps your sentence onto a taxonomy. You review what it selected and change it — nothing irreversible is ever pre-selected for you — and the scaffolder brings each capability's tables, policies and tests with it.

139capabilities in the taxonomy
14domains they span
110built and shipping today
7tracks a build can take
109migrations, additive only
1825tests on the kernel itself

The last one is the kernel's own suite, counted against a committed known-good floor that the build fails if it drops below. It is on this page for the same reason it is on the pitch: a platform that ships your tests should be willing to show its own.

What one of these actually looked like

Two measurements rather than an adjective. Both carry the date they were taken, because a number without one is a number that has already drifted.

Measured 2026-08-23

A scaffolded product arrived with 840 passing tests and a green build.

Not tests you then write — tests that came with it and ran. ./gradlew build SUCCESSFUL on the output, unedited.

Captured 2026-08-15

Three real runs, published whole.

121–122 files and 21–22 migrations each, with the scaffolder's own plan beside them — what it copied, rewrote, generated and skipped. Read them; they are the output, not a description of it.

Time and cost

We will not tell you a percentage. You have the numbers; here is the arithmetic.

Every "70% faster" on a page like this is someone else's project measured against an unstated baseline. What Rathvan removes is specific and nameable: the foundation work before your first feature, and the review artifacts around it. Put your own figures in and the model shows its working.

Your numbers

What the model says

What this deliberately does not model: your features. Rathvan does not claim to write your product faster than your team — it removes the part before your product starts, and the part is the same every time. It also does not model the model bill, because that depends on vendor prices this project will not quote.

Setting it up

Enterprise setup, in the order it actually happens.

Steps 1 and 2 need nothing from us and no account. Steps 3 onward are for running the hosted builder inside your own estate.

  1. Scaffold one service, offline, and read what comes out

    No account, no key, no model call. Do this before deciding anything — the output is the product.

    npx https://build.rathvan.com/rathvan-cli.tgz new ./your-service
  2. Run its gates on your own machine

    The same checks the platform runs on itself. If they do not pass on your hardware, stop here and tell us.

    cd your-service && rathvan check
  3. Give the builder a database

    Postgres. Migrations are applied by a job you run, never by the service at boot — so a deploy can never half-migrate a schema underneath a running product.

    DATABASE_URL=... MIGRATIONS_DIR=... sh deploy/migrate/apply.sh
  4. Set the three things it refuses to start without

    DATABASE_URL, BUILDER_TOKEN (your operator credential — generate it, do not choose it), and a model provider. Add SECRETS_KEY if you want bring-your-own-key: without it the builder refuses to hold user keys rather than storing them in the clear.

    export BUILDER_TOKEN=$(openssl rand -hex 32)
  5. Connect source control

    A GitHub App installation scoped to the repositories you name. The builder opens pull requests; it never pushes to your default branch, and unattended work stops at staging.

  6. Decide your vendor policy before the first build

    Name which model vendors your work may ever reach. The router refuses rather than failing over to one you excluded — so this is worth setting while it is still cheap to think about.

  7. Run one real build and stop at the first gate

    Approve nothing. Read the PRD it drafted, and check it against what you meant. That first gate is the one that decides whether the other six steps were worth it.

Tell it your shape, get your steps

Nothing here is sent anywhere. It rewrites the commands above for the deployment you actually have.

Your setup

Before you decide

What this does not do.