Stack · Data

Supabase — Postgres with the boilerplate handled

EcosystemSupabase

Supabase is what I reach for when a project wants Firebase's convenience but the data is relational — which, more often than not, it turns out to be.

Why I use it

It's Postgres, and that settles most of the argument: real joins, real constraints, real transactions, and no lock-in on the thing hardest to migrate later. Row-level security is the part I value most — authorization lives beside the data as policy rather than being reimplemented in every client. Generated types from the schema close the loop back to TypeScript.

What I've built with it

  • Relational schemas with foreign keys and constraints doing the work an application-layer check would otherwise do badly
  • Row-level security policies as the authorization boundary for both web and mobile clients
  • Generated TypeScript types from the live schema, so a migration that changes a column breaks the build
  • Supabase Auth and Storage for sign-in and file uploads, alongside the same Postgres instance

Alongside

PostgresRow-level securityTypeScriptAuthStorage

Rest of the stack

Got a project that needs Supabase?

Get in touch →