Listen to this story
To Paul Copplestone, however, Firebase was still limited. Copplestone started working to resolve these issues himself and found that Firebase couldn’t scale just as easily. He then went about building his own database with Anthony Wilson, a friend of his, and open-sourced their version, calling it Supabase.
Launched as a Firebase killer
“Firebase, to its credit, is a phenomenal developer experience. It’s probably the best tool in the world for starting a new project. But, when your project starts to scale, sometimes it has a few difficulties. And so that’s the thing that we wanted to solve, and we solve it by offering this fully-fledged Postgres database,” Copplestone said.
Sign up for your weekly dose of what's up in emerging technology.
“Postgres, of course, is extremely scalable, and it’s been battle-tested for over 30 years.”
The Firebase Realtime Database stores and syncs data using a NoSQL cloud database. Copplestone wanted a more compact offering—where Firebase has about 18 different product offerings, Supabase has restricted itself to merely four that are typically the most asked for. Supabase has a Postgres database, auto-generated APIs, authorisation and storage capacity for large files.
Download our Mobile App
Despite its age, Postgres databases have remained popular with the biggest companies still preferring it. This might be the clincher for Supabase which uses a lot of the different parts of Postgres, especially in its authorisation layer and magic links.
The Supabase community has grown fast with more than 80,000 developers who have built over 100,000 databases on the service over the last year.
This year in May, Supabase raised USD 80 million in a Series B funding round led by Felicis Ventures with participation from Coatue and Lightspeed. Copplestone’s company now has a total funding of USD 116 million.
But aside from all the Postgres glory, does Supabase really live up to its tall claims?
Comparison between Firebase and Supabase
First things first—cost. Firebase is cheaper than Supabase, with per GB price of the Firebase database at USD 0.108 compared to USD 0.125 per GB for Supabase. Aside from the free tier, Supabase has a pay-as-you-go plan with USD 25 additional opt-in fee while Firebase has no additional fee—users only have to pay for what they use.
Firebase has a set of authentication methods across email, Facebook, Google, Twitter, GitHub, Yahoo, Microsoft and Apple which are free with no limit over the number of the users. Phone authentication is charged after the first 10,000 users at USD 0.01 per verification for U.S., Canada and India and USD 0.06 per verification for other countries. Supabase doesn’t have phone-based authentication yet and authenticates via Google, GitHub, Azure, Facebook, Gitlab, Twitter and Discord with a free cap for 10,000 users per month.
Firebase is comprehensive in itself and replaces the need for a backend or server completely—it has a database, storage, hosting and can even help users send mails from the application using an extension. Supabase, on the other hand, doesn’t have a hosting service yet so developers would need an additional tool or app to host their frontend application.
Firebase also has the tools that Supabase gave up on, including Dynamic links, Remote Config, In-App messaging, Performance Monitoring, Cloud Messaging, Big Data and Crashlytics. Since it is a Google product, Firebase already has a huge market, documentation and community support. Firebase services are also more reliable, cheap and highly unlikely to vanish in the near future.
In cases where the data needs to have ACID properties—the four properties of a transaction: atomicity, consistency, isolation and durability—or the data is relational in nature and needs to be interlinked using joins and foreign keys, Firebase’s database is insufficient because it lacks as a relational database. At times it can be difficult to reference a document within another document; deep nested references and getting the references for these data points can also be hard.
Conversely, Supabase is a relational database and can be useful when data is more rigid and needs to be consistent throughout. But there’s no rule set in stone to tell which is better, it depends solely on the project. Firebase’s NoSQL database may be repetitive but querying is faster and can be used for search engines and social media platforms.
Supabase can also import pre-existing data easily—a user can import a CSV file or copy and paste the spreadsheet from another platform to Supabase. Firebase doesn’t offer inbuilt services so users can directly upload data in bulk. Users first have to convert the data file from CSV to JSON format.
The landscape of BaaS platforms
Supabase isn’t the only open-source platform—the evolving market of Backend-as-a-Service has become fairly competitive. The Swedish open-source Nhost and Etebase are also focused on end-to-end encryption with open-source SDKs. Hasura, another open-source GraphQL API engine, also supports Postgres, BigQuery and MS SQL Server.
Parse developed for Node.js apps adds a GraphQL interface, a file system and a notifications framework resting upon PostgreSQL or MongoDB. Back4App, which is also based on Parse, has a low-code backend on GraphQL and REST.
AppWrite also offers cloud capabilities apart from the standard databases, storage and authorisation integrated with REST APIs.