Design a Backend-as-a-Service on Postgres

Problem Design Supabase's platform: a backend-as-a-service over Postgres providing auto-generated APIs, auth, storage, and realtime.

Functional requirements

  • Auto-generate REST/GraphQL from the schema.
  • Auth (JWT) plus row-level security.
  • Realtime change subscriptions.
  • File storage.

Non-functional requirements

  • Many projects, each with its own Postgres.
  • Secure multi-tenant isolation.
  • Realtime at scale.

Areas to go deep

  • Per-project Postgres provisioning and isolation.
  • The auto-API layer and how RLS enforces authorization.
  • Realtime via logical replication fan-out; auth/JWT policy model; storage + CDN.
added …
LeaderboardSalaryAccount