Supabase is often introduced as "Postgres with extras," but it's worth seeing the full picture of what those extras actually are before we start building with them. Here are the 8 pillars, what each one does, and when you'd actually reach for it in a real application.
1. Postgres Database
The foundation everything else sits on. A full, dedicated Postgres instance per project — not a shared or limited version. You get:
- A visual Table Editor (spreadsheet-style interface)
- A full SQL Editor with saved snippets
- Support for Postgres extensions (
pgvector,pg_cron,postgis, and more) - Daily automatic backups (point-in-time recovery on paid plans)
Use it for: literally storing and modeling your application's data — users, posts, orders, products, anything relational.
2. Auto-Generated Data APIs
The moment you create a table, Supabase exposes it as a REST API automatically, powered by a tool called PostgREST. A GraphQL API is also available (via the pg_graphql extension), though it's opt-in per project rather than enabled by default.
Use it for: basic CRUD operations without writing a single API route yourself. Create a table → it's queryable over HTTP within seconds.
3. Authentication (Auth)
A complete user-management system, supporting:
- Email/password login
- Magic links (passwordless email login)
- OTP (one-time codes via SMS/email)
- OAuth (Google, GitHub, and other providers)
- Multi-factor authentication (MFA)
Auth integrates directly with the database through Row Level Security (RLS) — Postgres-level rules like "a user can only see their own rows," enforced by the database itself, not just your application code.
Use it for: signup/login flows, protected routes, and permission systems.
4. Storage
An S3-compatible file storage system for images, videos, PDFs, and other files.
- Public and private buckets
- Access rules written using the same policy language as database tables
- On-the-fly image transformation (resizing, optimization)
Use it for: profile pictures, document uploads, media galleries — anything that isn't structured row data.
5. Realtime
A system for pushing live updates to connected clients, made of three distinct tools:
- Postgres Changes — subscribe to inserts/updates/deletes on a table
- Broadcast — send low-latency, ephemeral messages between clients (supports binary payloads)
- Presence — track who's currently active in a shared space (e.g., "3 people viewing this document")
Use it for: chat apps, live dashboards, collaborative tools, live notifications.
6. Edge Functions
Server-side TypeScript functions (built on Deno) that run close to your users globally. Used for logic that must not run in the browser — calling a third-party API with a secret key, processing a payment webhook, sending an email.
Use it for: anything that needs a secret key, custom server logic, or a webhook receiver, without standing up a separate backend server.
7. Vector & AI Tooling
Because Postgres supports the pgvector extension, Supabase doubles as a vector database. You can store embeddings alongside your normal relational data and run similarity search directly in SQL.
Use it for: semantic search, recommendation systems, and Retrieval-Augmented Generation (RAG) pipelines for AI features.
8. Studio (Dashboard) and Developer Tooling
The web dashboard where you manage every pillar above — tables, auth users, storage buckets, function logs, and more. It also includes a Unified Logs view (one searchable feed across every service, with live tail and filtering), plus integrations like Grafana Cloud for metrics.
Use it for: day-to-day project management, debugging, and monitoring — the control room for everything else on this list.
How These Pillars Work Together
A typical feature in a real app usually touches more than one pillar at once. Example — a "user uploads a profile picture" feature:
- Auth confirms who the logged-in user is
- Storage holds the uploaded file, with an RLS policy allowing only that user to upload to their own folder
- Database stores the file's URL in a
profilestable - Realtime (optionally) pushes the updated avatar to other connected clients instantly
This is the pattern you'll see repeatedly through this course: the pillars are not isolated products — they're designed to compose.
Next up — Post 1.3: the current state of the Supabase platform in 2026 — the new API key system, pg_graphql becoming opt-in, and other recent changes you need to know before building anything.
No comments:
Post a Comment