Loading…
Mobbin uses Supabase to authenticate 200,000 users
Summary
Mobbin originally launched its mobile design search platform using Firebase, quickly growing to hundreds of thousands of registered users. As the platform scaled, the team faced user friction because Firebase Authentication did not merge accounts sharing the same email address across different providers. Furthermore, mutative Firebase Function failures threatened document data integrity, and multi-round-trip document queries drove high monthly costs across five million API requests. To resolve these challenges, Mobbin migrated its backend to Supabase, adopting its GoTrue authentication service and underlying Postgres relational database. This migration resolved authentication conflicts, safeguarded data consistency, and reduced monthly infrastructure expenses since Supabase does not charge on a per-API-request basis.
Context
Mobbin originally used Firebase to launch their mobile design search platform, scaling to hundreds of thousands of users. At scale, Firebase Authentication did not merge accounts with the same email across different providers, confusing users trying to upgrade. In addition, failed Firebase Function executions threatened document data integrity, and document-based queries required multiple round trips across 5 million monthly API requests, elevating costs and slowing the website.
Approach / What changed
Mobbin migrated their backend to Supabase to use its GoTrue authentication system and underlying Postgres database. Although validating historical data integrity issues caused by past serverless function failures posed a challenge, moving to Supabase resolved login conflicts across providers, ensured relational data integrity, improved performance, and reduced monthly spending by eliminating per-API-request charges.
Takeaways
- Firebase Authentication caused account upgrade issues because it did not automatically merge accounts sharing the same email address across different providers.
- Mobbin faced data integrity risks when mutative Firebase Functions failed between executions and retries without strict validation.
- Migrating to Supabase and Postgres eliminated document query round trips and reduced monthly backend spending since Supabase does not charge per API request.
Related reading
Supabase ·
Replenysh uses Supabase to implement OTP in less than 24-hours
Replenysh builds infrastructure connecting brands with local communities to track, monetize, and recover used packaging and materials. The engineering team previously maintained their own backend infrastructure, pairing custom Twilio and password authentication with a Haskell server and a Postgres database on Heroku. Seeking to accelerate development velocity and minimize ongoing DevOps maintenance during a codebase refactor, Replenysh required an alternative backend platform that preserved relational Postgres and Row Level Security. The team selected Supabase over alternatives like Firebase because it provided native Row Level Security alongside built-in authentication tooling. By adopting Supabase Auth, Replenysh successfully implemented an SMS one-time password system in less than 24 hours before deploying their mobile application to production.
Supabase ·
Supabase Reports and Metrics
Supabase introduced a dedicated Reports section and updated project home pages to deliver observability across hosted Postgres projects and complementary services. Because developers can run unconstrained database queries and custom workloads, monitoring both project-level service usage and underlying infrastructure metrics is essential. The new dashboard displays one month of historical data, including CPU and memory usage alongside request volumes for Database, Auth, and Storage APIs. To collect metrics across hundreds of thousands of targets without high latency, Supabase implemented a federated monitoring architecture running regional Prometheus instances that scrape local exporters and aggregate subsets into a central VictoriaMetrics instance. All project databases now also launch with the pg_stat_statements extension enabled for future query statistics.