Many vibe-coded apps start with Firebase because it’s easy to set up. Supabase gives you the same ease-of-use but on a PostgreSQL backend you can query with SQL, with Row Level Security that’s more transparent, and without vendor lock-in. This guide covers migrating Firestore (NoSQL) to Supabase (PostgreSQL) and Firebase Auth to Supabase Auth.Documentation Index
Fetch the complete documentation index at: https://docs.nometria.com/llms.txt
Use this file to discover all available pages before exploring further.
What this guide covers
- Exporting data from Firestore
- Designing a PostgreSQL schema for your Firestore collections
- Migrating data with the Supabase import tool
- Swapping Firebase Auth for Supabase Auth
- Updating your frontend code
Step 1 — Export Firestore data
In Firebase Console:Step 2 — Design your Supabase schema
Firestore is document-based; Supabase is relational. You’ll need to map collections to tables. Example Firestore structure:Step 3 — Import your data
Convert your Firestore JSON export to CSV or SQL insert statements, then import to Supabase:Step 4 — Migrate Firebase Auth users
Firebase Auth users can’t be transferred directly, but Supabase has a Firebase Auth migration guide:-
Export Firebase Auth users:
- Use the Supabase Firebase migration script to import users with their UIDs preserved (so existing user references in your data stay valid).
Step 5 — Update your frontend code
Replace Firebase SDK calls with Supabase equivalents:Step 6 — Deploy with Nometria
Once your code is updated and tested locally against Supabase:- Connect your repo to Nometria via GitHub
- Add your Supabase credentials as environment variables
- Deploy
Deploy to AWS
How Nometria provisions your production infrastructure.
Post-migration checklist
- All Firestore collections mapped to Supabase tables
- Data imported and verified (row counts match)
- Firebase Auth users migrated with UIDs preserved
- Frontend code updated to use Supabase SDK
- RLS policies set correctly
- App tested end-to-end on Supabase
- Firebase project billing paused or deleted