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:
1. **PostgreSQL**: Complex learning analytics queries (cohort retention, skill tree progression, vocabulary mastery curves) are much easier in SQL than NoSQL. 2. **Row Level Security**: Multi-tenant data isolation with fine-grained permission policies is built in. 3. **Edge Functions**: Deno-based edge functions with cold start times under 100ms. 4. **Realtime subscriptions**: The same mechanism for data sync powers our multiplayer features in Adventure Craft. 5. **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.