A self-hosted build platform
Describe what you need. Get a repository that compiles, applies its migrations and boots — with row-level security, an audit trail, feature flags and human approval gates already in it, and 133 capabilities to reuse before you write any.
No signup for the intake. It runs in your browser and produces a file you own.
Why adopt this
Every claim below is either a property of being self-hosted or a test you can run. There are no customer logos on this page because there are no customers to name yet, and inventing one would contradict everything else here.
The whole platform is YAML, SQL and Java in a repository you own. Nothing is indexed off-box, so data residency, content portability and the AI clause of a DPA stop being vendor conversations and become your own configuration.
→ the trade: no hosted SLA. The two come together.Standards stop depending on whether a reviewer was paying attention. Every generated repository ships gate tests and runs them in CI from its first commit — row-level security forced, rollback notes present, migrations contiguous.
→ each gate traces to a defect that reached production.Rebuilding identity, notification, consent or audit is the most expensive mistake available, and duplicates never get deleted. The catalogue is consulted at stage one, before the work starts, not in a design review after it.
→ 133 capabilities across 15 domains.Page, search, AI citation and the agent tool catalogue all ask the same policy, and a test asserts they cannot disagree. Premium material hidden from a page does not reappear in the answer box — the leak that is hardest to notice.
→ a property a demo cannot show and a test can.What you start with
Not a roadmap. These exist in the kernel, carry migrations, and come across when you select the band that holds them. Reusing one is a line in a config file; rebuilding it is a quarter.
Content Management · Publication · Learning · +11 more
Data Persistence · Data Definition · Data Movement · +9 more
Tenancy · Onboarding · Feature Flags · +9 more
Professional Directory · Credential Verification · Client Assignment · +9 more
AI-Native App Development · No-Code Development · Component & UI System · +7 more
Pricing Configuration · Billing · Subscription Management · +6 more
Payments Orchestration · Payouts · Money Movement Rails · +6 more
Authentication · Authorization · Identity Core · +5 more
AI Context · Model Routing & Failover · Grounded Generation · +5 more
Tax Computation · Tax Filing · Document Extraction · +5 more
Portfolio Management · Fund Holdings · Trading · +5 more
Application Security · Data Security · API Security · +4 more
Legal Corpus · Case Research · Matter Intake · +3 more
Capability Registry · Platform Value Delivery · Plan Management · +2 more
Expert-in-the-Loop · Expert Evaluation · Skill Management · +2 more
How it works
Four steps. Nothing is installed until the third, and the plan is printed before anything is written to disk.
One sentence at build.rathvan.com. The intake reads what it can and asks only what is left, showing the words it matched for every answer it filled in. Six questions are never pre-filled: they are irreversible, and a decision made by not reading a screen is not a decision.
# nothing installed, nothing to sign up for open https://build.rathvan.com → download rathvan.json
You see every file that will be created, everything that will be skipped with the reason, and a warning when the selection is unusual for what you described.
npx rathvan new ./your-product # prints the plan. Writes nothing.
The CLI runs the build it just generated and reports the test counts — rather than printing "next, run the build" and leaving you to discover a broken tree. A failure is diagnosed, and it names whose problem it is: the scaffold, your machine, or your change.
npx rathvan new ./your-product --yes ✓ BUILD SUCCESSFUL 4 tests · 4 passed · 0 failed
Flyway applies the migrations on boot, so a service that starts is a stronger claim than a build that passes: the schema really applied, in order, to a real server.
cd your-product && docker compose up -d
./gradlew bootRun
curl localhost:8080/actuator/health # {"status":"UP"}
Use cases
A track is not a label on a project. It decides which stages tighten, which relax, and where the work is allowed to ship — which is why a workspace belongs to exactly one of them.
Create from scratch, or change an existing codebase
Shareable, true to brand and design system
Generate, iterate and optimise pages and headless content
never average across variants — the aggregate hides the losing one
Who it is for
Nobody starts at stage one. Where you enter depends on what you already know.
You own golden paths and nobody follows them. Ship a scaffold that carries the standards inside it, so conformance is the default rather than a review comment.
enters at ③ architectureYou need a service with auth, audit, tenancy and migrations before you can write the part that is actually yours. That is a fortnight you can have back.
enters at ① reuse mapPartners integrate without talking to you: dynamic client registration, scoped tokens, and a capability catalogue their agents can consume over MCP.
enters at ④ designRefusals
Not policy, not a confirmation dialog. Each is prevented by the shape of the code, which is the difference between a rule and a preference.
STAGED is the last state. No method expresses the move past it, so no amount
of approval gets there without a person.
NONE, and NONE does
not pass. A demo can never produce a staged workflow.
Gates
Everything between them can run unattended once the owner has said so for that session. These three cannot, and the colour they are drawn in is used for nothing else on this page.
Gate 1
Problem, criteria, and what is deliberately out of scope. Half the expensive failures were decided here, before a line was written.
Gate 2
A landed rollout on a known stack, confirmed by a real query against the deployed host rather than by a green pipeline.
Gate 3
A flag, a rollback, a runbook, limits, a cost and a named owner. Without them a capability is running, not live.
Where it runs
Self-hosted, which is one decision with a great many consequences. Data residency is yours to set. Nothing is indexed off-box. There is no exit to negotiate, because the platform is already in a repository you own. It also means there is no hosted SLA — that trade comes as a pair, and it is worth knowing which side you are choosing.
Twenty minutes of questions produces a file that describes your product. What you do with it afterwards is your decision.