Every app lives somewhere on one path β Experiment β Incubating β Operational. Moving up is mostly a switch, not a rebuild, and the guardrails only tighten as an app gets closer to real users.
You see them as three lanes on the App Board tab. The big idea: everything an app needs is built while it's Incubating, with production sitting ready but dark β going live just turns it on.
One person, dev data, no gates. Stamped in ~30 seconds with SLW login already working. Perfect for "let's try this." Nothing here can touch production β there is no production.
You build it the same way as everything else: it appears in your workspace automatically, as a normal folder. Your apps live at /workspaces/<app>; experiments are the same, one level deeper β /workspaces/experiments/<name>. Open that folder like any app, or open Claude Desktop and paste the kickoff prompt from the experiment's card (e.g. "Open experiments/<name> and build it") β the prompt just opens the folder for you. Every push deploys to its own <name>.lab.rivent.dev preview. Want to watch it change live between pushes? Ask Claude: "run the app and give me a link" β it serves the in-progress app at a private team link that reloads as Claude works.
It graduates here the moment someone commits to building it for real. It gets its own repo, dev database, CI, previews, and the full progress board β the same setup a live app has.
Incubating has two modes. On dev data production is built but dark, and gates are staged rather than enforced β there's no prod to protect yet. On real data the app has its own real database and the team uses it, so the gates are already on: main needs a pull request with review. Gates follow the data, not the stage.
Production is live and gated: changes ship through preview β approve β prod, and anything touching the database or prod config needs a code-owner (Shawn) review.
Click any app on the App Board to open its page. Everything about it lives here β no jumping around.
Status, what's outstanding, how to open the dev app, and how to work on it in Claude Desktop.
Each finished change with a live preview β tick the ones you want and publish them to production.
The app's kanban board (below).
Who's been working β recent dev activity and open changes.
Each app has its own board on its Plan tab β right in the portal, no GitHub.
Four columns β Inbox β Up next β In progress β Done. Click οΌ Add a card to open a card: give it a title, a description, and attach a file, image, or PDF (images preview as thumbnails). Drag cards between columns as work moves. A planning card becomes real work when someone opens a change for it β which then shows up on Review & publish.
Want the bird's-eye view across every app? Admin β All plans shows every project's board with a toggle.
Same for every operational app: you build on the safe copy (Dev) and the finished change crosses to the live app (Production) through one reviewed gate. The full picture is on Start here β
Three transitions carry an app up the lifecycle.
Commit to building an experiment for real. It's scaffolded into a full incubating app β its own repo, dev Supabase database, and dev app β with production built but dark. If the dev environment isn't built yet, the app's page shows Set up the dev environment and walks you through it in the browser.
The Real data β button on the app's card. This is the moment the app stops being a practice build, so it does real things β read the confirm box before you click it:
It creates the app its own real Supabase database (about $10/month), points production at that database, and turns the gates on β from then on main requires a pull request with review, so no more pushing straight to main. The new database starts empty: your existing dev data does not come with it, and loading real data is a separate, deliberate step. Switching back to dev data is free and needs no infrastructure.
Everything's already built, so going live is a switch: production turns on and the app moves onto its product domain as the team's system-of-record. If the app is already on real data the gates are on before this point β go-live doesn't turn them on, it just makes the app official. Go-live is approved by Shawn β the owner requests it; Shawn clears it.