The Freelancer's Backend Problem

When you're freelancing, every hour you spend on backend setup is an hour you're not building features the client actually cares about. I needed a backend that:

  • Gives me a real database (not a document store)
  • Handles auth without me building it
  • Includes file storage
  • Has a generous free tier
  • Lets me deploy without managing servers
  • Supabase checks every box.

    What I Use

    PostgreSQL Database

    A real relational database with foreign keys, joins, and constraints. Row Level Security (RLS) means I can write access policies at the database level — no middleware needed.

    Auth

    Email/password, OAuth (Google, GitHub), magic links — all built in. The client libraries handle session management automatically.

    Storage

    File uploads with bucket-level access control. Perfect for user avatars, project images, and document uploads.

    Edge Functions

    When I need server-side logic (webhooks, third-party API calls), Edge Functions run on Deno at the edge. No server to maintain.

    Realtime

    For apps that need live updates (chat, dashboards, collaborative tools), Supabase Realtime broadcasts database changes over WebSockets.

    My Workflow

  • Create a new Supabase project (takes 60 seconds)
  • Design the schema in the SQL editor or via migrations
  • Enable RLS and write policies
  • Generate TypeScript types from the schema
  • Connect with \@supabase/supabase-js\ in the React app
  • Use TanStack Query for data fetching with caching
  • The Cost

    Most freelance projects fit within the free tier (500MB database, 1GB storage, 50K monthly active users). When they outgrow it, the Pro plan at $25/month is still cheaper than running your own server.

    When I Don't Use Supabase

  • Apps that need complex server-side rendering pipelines
  • Projects with exotic database requirements (graph databases, time-series)
  • Clients who require on-premise hosting
  • For everything else — and that's 90% of freelance work — Supabase is the answer.