Dubleu
Blog/Product

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.

AM

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.