Features
- Managed PostgreSQL with auto-generated REST and GraphQL APIs
- Real-time subscriptions via WebSocket
- Built-in auth, storage, and edge functions
- Row-level security policies
Pros
- Full PostgreSQL power with instant APIs
- Open-source and self-hostable
- Generous free tier for development
Cons
- Vendor-specific client SDK creates some coupling
- Edge functions limited compared to full server frameworks
- Complex queries may outgrow auto-generated APIs
Overview
Supabase is an open-source Backend-as-a-Service (BaaS) built on PostgreSQL. It provides auto-generated REST and GraphQL APIs from your database schema, real-time subscriptions, authentication, file storage, and edge functions — giving you a complete backend without writing server code.
Unlike Firebase, Supabase uses standard PostgreSQL, meaning you retain full SQL capabilities and can migrate away at any time. Row-level security policies provide granular access control, and the PostgREST layer auto-generates type-safe APIs that update as your schema changes.
When to Use
Supabase is ideal for rapid prototyping, MVPs, and production applications that need auth, database, and real-time features without building a custom backend. It’s especially compelling when you want Firebase-like speed with the power and portability of PostgreSQL.
Getting Started
npm install @supabase/supabase-js
import { createClient } from "@supabase/supabase-js";
const supabase = createClient(
"https://your-project.supabase.co",
"your-anon-key"
);
const { data } = await supabase.from("users").select("*");