A guide for spinning up a backend fast with Supabase, the open-source Firebase alternative. Configure PostgreSQL, Auth, Storage, Realtime, and Edge Functions in one pass.
Free plan
2 projects
Paid tier
Pro from $25/mo
Requirements
GitHub account recommended
Overview
Supabase's free plan pauses a project after 1 week of inactivity. Move production workloads to Pro ($25/mo+) for stable uptime. Always enable Row Level Security (RLS) from day one — when disabled, all data is publicly accessible.
GitHub account
Supabase uses GitHub OAuth.
Region selection
Tokyo (ap-northeast-1) for Korea.
RLS policy design
Row Level Security is off by default.
Two key types
anon vs service_role.
Step by Step
SIGNUP
Sign up on supabase.com with GitHub.
PROJECT
Pick the database and region.
KEYS
Understand the role of each key clearly.
AUTH
Enable sign-in methods.
DATABASE
Create Postgres tables and set security policies.
STORAGE
Create buckets for uploads.
FUNCTIONS
Build custom APIs with serverless functions.
OPS
Mandatory operational setup.
Pitfalls
Shipping with RLS disabled
With Row Level Security off, the anon key can read and write every table. This is the top cause of data leaks.
Leaking service_role to frontend
service_role is the admin key that bypasses RLS. Never prefix it with NEXT_PUBLIC_.
Free plan auto-pauses
After 1 week of inactivity the project is paused and APIs return 404. Production should run on Pro.
Region is permanent
The region is fixed at project creation. A mistake means creating a new project and migrating.
Lost Database Password
It cannot be recovered. Store it in a password manager; otherwise you have to recreate the project.
Projects at JAICYLAB include everything from developer account setup to launch and ops.