Your app does not move
Vibe is a new front-end for the app you already have — not a migration. Your tables, fields, connections, roles, RLS rules, workflows, email templates, PDF templates, and users all stay exactly where they are in Tadabase. Vibe reads and writes them through the same Domain API your integrations already use.
What actually changes
| Concept | Tadabase builder | Vibe |
|---|---|---|
| The UI | Pages built from drag-drop components | React code — one file per route |
| A "front-end" | The app's pages + layouts | An interface (a Vibe project) |
| Navigation | Layout menu system | A nav[] list in tada.config.json |
| Where logic lives | Component settings + workflows | Your code + the same workflows |
| Data + permissions | Tables, roles, RLS | Unchanged — same tables, roles, RLS |
The mental shift is small: you stop configuring pages in a builder and start describing screens to an agent that writes them as code. Everything below the UI is the app you already know.
Before you start — a short checklist
- Have real data tablesBeyond the Users table. Vibe scaffolds screens from your tables, so an app with no data tables has nothing to build.
- Turn on RLS for the APIVibe reads data as the signed-in user through the Domain API. See "Row-level security before you go live" — this is the one prerequisite people miss.
- Confirm roles are set upSign-in and per-user visibility both key off your existing Tadabase roles. Get them right in the builder first.