QuestLang launched on Firebase in late 2025. It was the right choice for a small team moving fast — Firebase's out-of-the-box auth, database, and hosting let us ship without building infrastructure.
But by February 2026, with 50,000+ users across Thai and Nordic groups, Firebase's cracks were showing.
The Pricing Problem
Firebase's pricing model is designed for apps with moderate usage. When your app goes viral — or when you need to run large analytical queries for learning effectiveness research — the costs become unpredictable.
Our Firestore reads were running $8,000/month for a free-tier-adjacent app. Cloud Functions cold starts were adding 2-3 seconds to API calls. And Firebase's SQL support (BigQuery export) required additional tooling we didn't want to maintain.
Why Supabase
We evaluated Firebase alternatives: PlanetScale, Neon, Supabase, and MongoDB Atlas. Supabase won on a few key factors:
- PostgreSQL: Complex learning analytics queries (cohort retention, skill tree progression, vocabulary mastery curves) are much easier in SQL than NoSQL.
- Row Level Security: Multi-tenant data isolation with fine-grained permission policies is built in.
- Edge Functions: Deno-based edge functions with cold start times under 100ms.
- Realtime subscriptions: The same mechanism for data sync powers our multiplayer features in Adventure Craft.
- Price predictability: Supabase's tiered pricing with included usage is much more predictable than Firebase's consumption model.
The Migration
We ran Firebase and Supabase in parallel for 6 weeks. QuestLang wrote to both simultaneously while we validated data integrity. The migration was largely automated — we wrote a Firestore-to-PostgreSQL sync service that ran nightly.
The hardest part wasn't data migration — it was Functions. We had 14 Cloud Functions handling everything from webhook processing to AI content generation. Converting these to Supabase Edge Functions took 3 weeks and required significant refactoring.
Results
After migration, our database costs dropped 60%. API response times improved by 40% (no more cold starts). And our analytics queries — which previously required overnight BigQuery jobs — now run interactively.
More importantly, Supabase's multi-tenancy model has made it possible to offer QuestLang groups as white-label products. SEAsiaQuest runs on the same infrastructure as ThaiQuest, with isolated data and separate branding.
