Skip to content

Platform

Supabase Development

We build on Supabase where a managed PostgreSQL with authentication, storage and realtime removes weeks of undifferentiated work.

Laptop on a software development workspace

Usage

What we build with Supabase

  1. Applications with authentication and row level security from the first commit
  2. Progressive web apps with offline capable data access
  3. File storage with signed access and per user policies
  4. Realtime features such as presence and live updates
  5. Multi tenant products with policy enforced isolation
  6. Prototypes that grow into production without a rewrite

Rationale

Why we choose it

  • It is PostgreSQL underneath

    There is no proprietary data model to migrate away from. Everything is a schema, and it can move to any managed PostgreSQL later.

  • Row level security is the authorisation layer

    Policies live next to the data, so access rules apply to every client, every function and every query rather than being reimplemented per endpoint.

  • Authentication that is done properly

    Sessions, refresh, password reset, email verification and provider login are the kind of work that is easy to get subtly wrong and adds nothing distinctive to a product.

Practice

Architecture patterns we use

  • Policies as the security model

    Every table gets explicit policies for select, insert, update and delete. Nothing relies on the client filtering correctly.

  • Server side keys never reach the browser

    The service role key is used only in server code. Client code uses the anonymous key and is therefore always subject to policy.

  • Storage with signed URLs

    Files are private by default and served through short lived signed links tied to the requesting session.

  • Database functions for multi step writes

    Operations that must be atomic run as functions inside a transaction rather than as several round trips from a client.

Build with our Supabase engineers

Tell us what you are building and what it has to connect to. We will come back with an approach, a scope and what it would take.

  • A mutual NDA is signed before project details are shared.
  • Scope is fixed in writing before any build starts.
  • You own the source code, the IP and the documentation at delivery.
  • Support plans are available and tailored on a discovery or technical call.