An open-source Firebase alternative built on Postgres.
Supabase is a backend-as-a-service platform that bundles a real PostgreSQL database with auto-generated APIs, authentication, file storage, and real-time subscriptions - the same pitch as Firebase, but built on an open-source, standard SQL database instead of a proprietary document store. You get a full backend without writing one, while keeping your data in a database you could self-host or export at any time.
Supabase is a strong pick when you want Firebase-style speed - instant APIs, built-in auth, live updates - but also want real SQL: relational data, joins, and the ability to run standard Postgres tooling against your database. It's younger than Firebase, so while its community is now large, there are still fewer beginner tutorials for real-time apps specifically. For a first project with structured data and no real-time requirement, plain PostgreSQL or MySQL is simpler to reason about; for real-time needs with the largest ecosystem, Firebase is more established.
import { createClient } from "@supabase/supabase-js";
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
const { data, error } = await supabase
.from("posts")
.select("*")
.eq("published", true);
No backend route to write - the client library talks to the
auto-generated API directly, with row-level security policies
deciding what data actually comes back.
npm install @supabase/supabase-js and run your
first select() query.
supabase.channel() to see real-time updates
working end to end.
Supabase hosts the database, auth and storage for you; your frontend can be deployed to any static host. For local development, the Supabase CLI runs the whole stack on your machine with Docker, and lets you keep schema changes in migration files.