Using Supabase with Fabricate

No Connector, But the Client Code Is a Prompt Away

Fabricate has no built-in Supabase integration. Generated apps use Cloudflare D1 with Drizzle ORM by default, and nothing in Fabricate creates a Supabase project, defines your tables, or configures Supabase Auth. What it can do is write the official supabase-js client into your app - queries, session handling, subscriptions - pointed at a Supabase project you already run.

  • No coding required
  • Database included
  • Deploy instantly
Key takeaways
  • Fabricate has no Supabase connector - no template depends on supabase-js and nothing provisions a Supabase project
  • Generated apps default to a Cloudflare D1 database with a typed Drizzle schema inside the project
  • On request the AI writes the official supabase-js client against a Supabase project you create, key and secure yourself

Everything you need to build

Not a Built-In Connector

There is no Supabase button, no OAuth link-up, and no provisioning step. Fabricate writes client code; you own and administer the Supabase project it talks to.

D1 Is the Default

Left to itself, Fabricate generates a Cloudflare D1 SQLite database inside your project; the database-backed templates add a typed Drizzle schema over it. That is the path everything else on the platform is built around.

supabase-js on Request

Ask for it and the AI adds the official JavaScript client and writes typed queries against the schema you describe or paste in.

Your Keys, Your Project

You supply the project URL and keys as environment variables. Fabricate never sees or manages your Supabase credentials for you.

Auth and RLS Stay Yours

Row Level Security policies and Supabase Auth providers are configured in the Supabase dashboard. The AI can write client code that respects them; it cannot set them.

Realtime If You Wire It

Supabase Realtime subscriptions can be generated in the client. Whether they work depends on replication being enabled on your tables, which is your side of the line.

How it works

  1. 1

    Decide Which Database You Want

    If you have no strong reason to use Supabase, take the default. D1 is generated into the project, needs no external account, and is what the templates are built for.

  2. 2

    Set Up Supabase Yourself First

    Create the project, define the tables, and set your RLS policies and auth providers in the Supabase dashboard. Fabricate does none of this.

  3. 3

    Ask for the Client

    Describe your schema and say you are using Supabase. The AI adds supabase-js and writes the queries, session handling and subscriptions.

  4. 4

    Add Your Keys and Deploy

    Supply the project URL and anon key as environment variables, deploy, and check the queries against your real data.

In-depth guide

What Supabase Support Actually Means Here

This page used to say Fabricate set up Supabase tables, auth and storage automatically and deployed your app "with Supabase already wired up and working". None of that is true. Searching every starter project for the Supabase SDK returns nothing; the only mentions of Supabase in the entire template set are three code comments using it as a point of comparison. On the platform side, the word appears in two keyword lists that flag a request as complex. There is no connector, no provisioning, no RLS generation.

What is true is narrower and still worth the page: Supabase is a Postgres database with a well-documented JavaScript client, and the AI is perfectly capable of writing that client into your app. Describe your schema, say you are using Supabase, and you get typed queries, session handling and subscription code. That is a normal code-generation job, not an integration.

The default remains Cloudflare D1. It is generated into your project with a Drizzle schema, needs no external account, and is what the templates, the preview and the deploy path are built around. Choose Supabase because you need Postgres or already run one, not because you expect it to be less setup - it is more.

The boundary to keep in mind: everything inside the Supabase dashboard is yours. Creating the project, defining tables, enabling replication for realtime, turning on auth providers, and above all writing and reviewing Row Level Security policies. Fabricate writes the code that calls your database; it does not secure your database.

What you can build

  • Existing Supabase teams - Build a new frontend against a Postgres schema you already run
  • Postgres requirements - Projects that need Postgres features D1 does not offer
  • Shared backends - A Fabricate app reading the same database as your other services
  • Prototype against real data - Point a generated UI at a staging Supabase project
  • Gradual migration - Keep Supabase for now while evaluating D1
  • Internal tools - Admin screens over a Postgres schema owned elsewhere

Frequently Asked Questions

Does Fabricate have a Supabase integration?
No, not in the sense of a connector. No template depends on supabase-js and nothing in Fabricate provisions or configures a Supabase project. What is real is that the AI can write the official client into your app on request.
Do I need a Supabase account?
Only if you want Supabase. The default is a Cloudflare D1 database generated inside your project, which needs no third-party account. If you do want Supabase, you create and administer the project yourself.
Is real-time included?
The client-side subscription code can be generated. It only works if replication is enabled on those tables in your Supabase project, which you configure in the Supabase dashboard.
How is auth handled?
If you use Supabase Auth, you enable the providers in Supabase and the AI writes the client-side sign-in, session and protected-route code. Fabricate cannot enable providers or magic links for you. The default templates instead ship their own email-and-password auth backed by D1.
Can I use Row Level Security?
RLS policies live in your Supabase project and you write them there. The AI can generate client code that queries under those policies, but it does not create or verify the policies themselves - review them yourself, because that is what stands between one user and another user's rows.

Ready to start building?

Join thousands of creators building with AI. No coding required. Start free today.