Supabase Realtime is a WebSocket server that enables broadcast messaging, presence tracking, and Postgres change notifications for connected clients.
The tool solves the problem of delivering real-time updates from a database and between clients without polling. It works by maintaining WebSocket connections and streaming changes from Postgres through a server built with Elixir and the Phoenix Framework. Clients can subscribe to broadcast channels for ephemeral messages, track shared state through presence features, or listen to database changes with row-level security applied. The server does not guarantee message delivery, so applications must be designed with that constraint in mind.
Realtime suits projects that need low-latency synchronization between clients or between a database and clients, such as collaborative applications or live dashboards. It integrates with Postgres directly for change-data-capture, making it particularly valuable for applications already using Postgres as their primary database. The tool is designed to work within the Supabase ecosystem but can be deployed independently.
The codebase is under active development with evolving documentation. The project maintains separate versions with v1 available in archived form while v2 receives ongoing work. Developers can reference architecture documentation covering cluster behavior and broadcast fan-out patterns, detailed environment variable configuration, and observability metrics for monitoring deployments. The team provides local development setup guidance and example workflows for contributors.