Supabase is an open source Postgres development platform that provides a Firebase-like developer experience built on enterprise-grade tools. The platform offers a hosted Postgres database alongside a comprehensive suite of backend services including authentication and authorization, auto-generated REST and GraphQL APIs, realtime subscriptions via websockets, database functions, edge functions, file storage, and AI capabilities with vector embeddings support. The repository is written primarily in TypeScript and serves as the central hub for the Supabase ecosystem.
The architecture combines multiple specialized open source components. Postgres serves as the core relational database, while Realtime is an Elixir server that enables websocket-based subscriptions to database changes by polling Postgres replication functionality and broadcasting JSON updates to authorized clients. PostgREST automatically converts the Postgres database into a RESTful API, GoTrue handles JWT-based authentication for user management, Storage provides a RESTful interface for S3-backed file management with Postgres-based permissions, pg_graphql exposes a GraphQL API through a Postgres extension, postgres-meta offers a RESTful API for database administration, and Kong serves as the API gateway. Client libraries follow a modular approach where each sub-library independently implements a single external system.
The repository demonstrates significant community engagement and active maintenance.
Supabase supports multiple deployment models including a hosted platform accessible via dashboard signup, self-hosting options, and local development environments. The platform is designed to be a Firebase alternative rather than a direct 1-to-1 mapping, prioritizing the use of open source tools with MIT, Apache 2, or equivalent licenses. When suitable tools do not exist, Supabase builds and open sources them. The community is supported through multiple channels including a community forum for best practices discussions, GitHub issues for bug reporting, email support for infrastructure problems, and Discord for community interaction. The repository includes comprehensive documentation at supabase.com/docs and provides developer contribution guidelines in the DEVELOPERS.md file.