What it is
Supabase is a development platform built around Postgres. It is often described as an open alternative to Firebase, but a more precise description is this: Supabase keeps a real relational database at the center and adds application services around it: auth, generated APIs, change subscriptions, functions, storage, and a dashboard.
The repository matters as more than one service. It is the center of an ecosystem: documentation, web apps, local development, examples, packages, and links to separate open projects. For developers, it is an entry point into a stack where Postgres remains the core.
What is inside and how people use it
Many teams want Firebase-like speed without leaving SQL, Postgres, and a familiar server-side model. Supabase answers that need: tables remain real tables, permissions can be built with Row Level Security, and APIs plus client libraries help connect the frontend quickly.
Querying through the client library
This example shows the usual Supabase pattern: a client library talks to a Postgres table while permissions remain part of the server-side model.
import { createClient } from '@supabase/supabase-js'
const supabase = createClient(
process.env.SUPABASE_URL,
process.env.SUPABASE_ANON_KEY
)
const { data, error } = await supabase
.from('projects')
.select('id, name, created_at')
.order('created_at', { ascending: false })
The main features are hosted Postgres, authentication, REST and GraphQL APIs, Realtime subscriptions, functions, file storage, AI and vector tools, and a dashboard. Local development and self-hosting are also part of the story.
Strengths and limitations
The main strength is the understandable core. Postgres is well known and supports SQL, transactions, indexes, extensions, and a strict data model. Supabase feels less like a temporary wrapper and more like a fast path to a stack that can keep growing.
Supabase does not remove the need to design the database and permissions. If tables are chaotic or Row Level Security is treated casually, the platform will not save the application. Larger projects still need migration discipline, limits, backups, roles, and hosting cost planning.