Codea Bien Logo
Intro to Supabase: Why It's the Backend You Need
Supabase

Intro to Supabase: Why It's the Backend You Need

Kevin Dávila

Kevin Dávila

supabasebackend as a servicepostgresqlfirebase alternativesupabase tutorial

I remember the old days when people argued endlessly about the right way to handle the backend: Firebase, Supabase, PocketBase, self-hosting, even a notepad. Those debates seem to be over. Nobody really cares anymore.

The new AI-powered era has made the stack the least important part, because hundreds of people are building things with zero knowledge of backend, frontend, or infrastructure.

I'm not here to debate whether that's the right approach. What matters is shipping the product fast and without friction, because that's how you find out if your idea works. Tools like Supabase or Firebase hand you everything packaged and ready to use, no server, auth, database, or functions to set up yourself. And Supabase stands out with AI and CLI tooling that make the whole process even easier.

So let's go piece by piece. This is the first article in a series where we'll break down every Supabase feature and how to actually use it.

What is Supabase

Supabase is the open-source alternative to Firebase. But unlike Firebase (which uses NoSQL), Supabase is built on PostgreSQL. This means you get a real relational database with all the power of SQL, joins, and the thousands of extensions PostgreSQL offers.

What makes Supabase special is that it packages in one product:

  • PostgreSQL - Your database

  • Auth - Authentication with multiple providers

  • Storage - Files and images

  • Realtime - Real-time subscriptions

  • Edge Functions - Serverless logic

  • Vector - Embeddings for AI

All of this with a web dashboard where you can manage your project, run queries, and monitor your application.

Why choose Supabase over Firebase

Feature

Supabase

Firebase

Database

PostgreSQL (SQL)

Firestore (NoSQL)

Open source

Yes

No

Self-host

Yes

No

Query language

Standard SQL

Proprietary

Pricing

Generous free tier

Pay-as-you-go

The main difference is that with Supabase you use standard SQL. If tomorrow you need to migrate to another PostgreSQL provider, you can do it without rewriting your database logic. With Firebase, you're locked into their ecosystem.

Quick setup

Create a project

  1. Go to supabase.com and create an account

  2. Click "New Project"

  3. Choose name, database password, and region

  4. Wait 2 minutes for provisioning

Install the client

// terminal
npm install @supabase/supabase-js

Configure the connection

// src/lib/supabase.ts
import { createClient } from '@supabase/supabase-js'

const supabaseUrl = import.meta.env.VITE_SUPABASE_URL
const supabaseKey = import.meta.env.VITE_SUPABASE_ANON_KEY

export const supabase = createClient(supabaseUrl, supabaseKey)

Your first query

// src/main.ts
import { supabase } from './lib/supabase'

// Create a table and query it
const { data, error } = await supabase
  .from('tasks')
  .select('*')
  .order('created_at', { ascending: false })

console.log(data) // []

That's it. No complicated SDKs, no server configuration, no ORM if you don't want one. Direct SQL from the client.

Architecture

Supabase is PostgreSQL running on AWS, with an automatic API layer on top. Every table you create automatically generates a REST API and a typed SDK.

Your App → Supabase Client → PostgREST → PostgreSQL
                                        → GoTrue (Auth)
                                        → Realtime
                                        → Storage

This architecture means you can always bypass the SDK and use direct SQL when you need more control.

Pricing: the free tier

Supabase's free tier is generous:

  • 500 MB database

  • 1 GB storage

  • 50,000 auth users

  • 500 MB bandwidth

  • 2 projects

For an MVP, side project, or even a small production app, the free tier is enough. When you need to scale, paid plans start at $25/month.

When to use Supabase

Supabase is ideal for:

  • Web apps with auth and database

  • Fast APIs without custom backend

  • Projects that need realtime (chat, dashboards)

  • Apps that want to use standard SQL

  • MVPs that need to scale quickly

Not ideal for:

  • Apps that only need simple key-value

  • Projects deeply integrated with Firebase

  • Cases where you need complex server-side business logic (for that, a traditional backend is better)

What's next

In the next article we go deep into Auth: how to set up authentication with email, Google, GitHub, and more. We'll see how to protect your routes and handle sessions like a pro.