A self-hosted build platform

Start from a platform, not from an empty directory

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.

13stages, from a prompt to an operable capability
7tracks, each reshaping which stages apply
133capabilities already built, to reuse before building
3gates where a human is required

Why adopt this

Four arguments, each with something you can check

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.

There is no exit to negotiate

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.

Governance that executes

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.

Reuse before rebuild

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.

One authorisation decision

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

133 capabilities, already built

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.

Growth & Engagement 14

Core — every product needs it

Content Management · Publication · Learning · +11 more

Data 12

Core — every product needs it

Data Persistence · Data Definition · Data Movement · +9 more

Platform Foundation 12

Essential — most products need it

Tenancy · Onboarding · Feature Flags · +9 more

Professional Network 12

Core — every product needs it

Professional Directory · Credential Verification · Client Assignment · +9 more

Development Ecosystem 10

Essential — most products need it

AI-Native App Development · No-Code Development · Component & UI System · +7 more

Monetization 9

Core — every product needs it

Pricing Configuration · Billing · Subscription Management · +6 more

Embedded Fintech 9

Core — every product needs it

Payments Orchestration · Payouts · Money Movement Rails · +6 more

Identity 8

Core — every product needs it

Authentication · Authorization · Identity Core · +5 more

AI Fabric 8

Core — every product needs it

AI Context · Model Routing & Failover · Grounded Generation · +5 more

Tax & Regulatory 8

Core — every product needs it

Tax Computation · Tax Filing · Document Extraction · +5 more

Wealth & Protection 8

Core — every product needs it

Portfolio Management · Fund Holdings · Trading · +5 more

Security & Compliance 7

Essential — most products need it

Application Security · Data Security · API Security · +4 more

Legal Services 6

Core — every product needs it

Legal Corpus · Case Research · Matter Intake · +3 more

Enterprise Architecture 5

Essential — most products need it

Capability Registry · Platform Value Delivery · Plan Management · +2 more

Human Intelligence 5

Core — every product needs it

Expert-in-the-Loop · Expert Evaluation · Skill Management · +2 more

How it works

From one sentence to a service that answers

Four steps. Nothing is installed until the third, and the plan is printed before anything is written to disk.

01
~20 min

Describe it, and answer what it asks

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
02
1 min

Read the plan before it writes anything

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.
03
2 min

Write it, and let it build itself

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
04
2 min

Run it against a real database

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

Seven tracks, and each reshapes the pipeline

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.

Build or edit a web app

Create from scratch, or change an existing codebase

ships to production 3 human gates

Create prototypes

Shareable, true to brand and design system

ships nowhere cannot ship

Convert designs to code

stops at a pull request 1 human gate

Manage content

Generate, iterate and optimise pages and headless content

ships to production 1 human gate

Marketing sites

ships to production 2 human gates

E-commerce

ships to production 3 human gates

Personalization

never average across variants — the aggregate hides the losing one

ships to production 2 human gates

Who it is for

Three teams, three entry points

Nobody starts at stage one. Where you enter depends on what you already know.

Platform engineering

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 ③ architecture

A product team starting something

You 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 map

A developer ecosystem

Partners integrate without talking to you: dynamic client registration, scoped tokens, and a capability catalogue their agents can consume over MCP.

enters at ④ design

Refusals

What it will not do, structurally

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.

Reach production on its own STAGED is the last state. No method expresses the move past it, so no amount of approval gets there without a person.
Ship a prototype The prototype track has its own namespace, no production credentials and an expiry. It cannot quietly become the real thing, because there is nowhere for it to go.
Advance on a simulated build A stub source control reports its checks as NONE, and NONE does not pass. A demo can never produce a staged workflow.
Regenerate on no feedback Rewriting an artifact requires saying what should change. Without that it is rerolling the dice, not reviewing.
Approve what nobody saw Approval is stamped onto the exact version under review, so a later regeneration cannot inherit it.
Lose a decision Every transition writes an audit event naming its actor — including the refusals.

Gates

Three places a human is required

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

Agreement, before any code

Problem, criteria, and what is deliberately out of scope. Half the expensive failures were decided here, before a line was written.

Gate 2

Staging, before production

A landed rollout on a known stack, confirmed by a real query against the deployed host rather than by a green pipeline.

Gate 3

Readiness, before it is called live

A flag, a rollback, a runbook, limits, a cost and a named owner. Without them a capability is running, not live.

Where it runs

Your cloud, your repository, your region

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.

Start with the intake. It costs nothing and installs nothing.

Twenty minutes of questions produces a file that describes your product. What you do with it afterwards is your decision.