A full Postgres database in one message
Type 'add a database' and Dubleu provisions Supabase, runs your migrations, enables RLS, and injects credentials into Vercel — without leaving the chat.
Arjun Mehta
March 15, 2026 · 4 min read
Setting up a Postgres database used to mean: create an account, spin up an instance, copy connection strings, add them to your .env, write migration files, run them manually, configure row-level security, and then — finally — start writing the actual query you needed.
In Dubleu, you say "add a database" and it's done in under 30 seconds.
What happens
Dubleu provisions a Supabase project under your org. It then emits SQL migration blocks — one per table — and executes them in order. After each CREATE TABLE, it immediately enables row-level security and writes appropriate RLS policies based on your app's auth model.
Finally, it pushes the credentials to Vercel as environment variables: DUBLEU_DB_URL, DUBLEU_DB_ANON_KEY, and DUBLEU_DB_SERVICE_KEY. Your deployed app has access from the first deploy. Your code references process.env.DUBLEU_DB_URL — never a hardcoded string.
Type-safe from the start
After provisioning, Dubleu generates a typed Supabase client configured for your schema. Every query you write against it has full TypeScript autocompletion. When the agent writes API routes, it uses this client — no manual type generation step needed.
RLS by default
We enforce row-level security on every table we create. The default policy: users can only read and write their own rows. If you need public read access — for a public blog or product catalog — just say so and the agent writes the right policy.
Share this post
Found it useful? Pass it on.