Supabase is an open-source Firebase alternative
Supabase is an open-source database infrastructure built on PostgreSQL. Using Supabase’s simple setup and user interface, users can quickly build a complete web and mobile backend to really focus on building their product within minutes, without getting caught up in overly complex data structures.
Venerated by engineers and low-coders alike, Supabase holds a uniquely near-universal appreciation in the tech market. Their team has such faith in the product, that they are even willing to take on the giants (with a capital G), and have consistently marketed themselves as an alternative to Google’s Firebase. But does the product stand up to the hype?
Let’s dig into some of their core features, and a bit more about their company & product.
Supabase: who are they?
Supabase, founded in 2019, is based in San Francisco with remote teams around the world. The company currently stands at around 75 employees. Supabase is currently a Series B start-up and has raised over $116 million in total, with their latest round of funding, totaling ~ $80 million.
Their marketing primarily targets developers and the product is another in the growing line-up of developer-focused tools that are trying to expedite some of the slow coding work, whilst still maintaining a rigorous technical approach.
Who is Supabase made for?
PostgreSQL - the database structure on which Supabase is built - is known for being one of the sturdiest, most extensible database options around, that can be used for all kinds of different purposes. Supabase has expanded on this dependability with a robust yet simple interface to interact with data, as well as adding the ability to extend infrastructure with more complex technical elements like authentication and permissioning.
Supabase has certainly been made with developers in mind, with features like raw SQL and row-level security (RLS) built in. Nevertheless, its simple UI and basic features are also easily comprehensible to less technical citizen developers, and connection to external building apps is made simple with an easy authentication procedure. For those reasons, it’s a great option for both developers and low-coders alike for a variety of different projects.
As their marketing suggests, Supabase is largely made for those looking at a product like Google’s Firebase - i.e. a backend as a service product - but need an open-source version that won’t lead to expensive vendor lock-in. Like Firebase, Supabase aims to get developers started and set up quickly, whilst still allowing for more complex engineering features and scalability along the way.
The pricing model is also suitable for both SMEs and enterprise companies, with a team option starting at 25$ per month for 8GB of database storage and the possibility of 100,000 active monthly users. This means that companies can really focus on just paying for what they store and not worrying about their user count, making it very accessible for all company sizes. Their enterprise tier also offers the kinds of security larger companies are looking for, such as SSO, SAML, on-prem, and more.
What are Supabase’s core features?
Let’s dive into the main features that make up the Supabase product offer.
A Postgres database instance, CRUD & authorization workflow
As we’ve mentioned, Supabase’s core feature is an easy-to-deploy PostgresDB. Each individual ‘project’ inside Supabase comes with a dedicated Postgres instance with built-in Auth, extension support (preconfigured with over 50+ extensions), and an easy-to-use dashboard. All this is accessible from the browser without the need to download additional applications or extensions.
From the Superbase UI, users can easily view table relationships, edit schemas, and clone tables. Users can also quickly sort data, preview records & more. In many ways, the ease of use of the Supabase UI is comparable to that of Airtable, though with a broader technical offering. The layout is intuitive and straightforward, and developers can easily create data resources for applications to scale.
Extensive authentication & authorization options
Alongside their Postgres offering, Supabase provides a suite of different authentication methods and types of authorization:
They also provide enterprise SSO methods with providers such as Azure AD, Okta, and Google Workspace. In general, Supabase has a wide suite of authentication methods to suit your company's needs.
Authorization & row-level security
Supabase provides Row Level Security (RLS) which can be toggled on or off from within the console. With row-level security enabled, users can define Postgres policies directly from Supabase. Supabase provides the auth.uid() function, allowing for granular user-based policies. Using the same user_id assigned when a user first logs in, users can build additional tables for user management directly from within the Supabase environment.
Integrated file storage with S3
Supabase allows users to file away digital objects of any type. Supabase’s file storage is built on top of AWS S3. Similar to the CRUD provided for their core Postgres offering, Supabase provides an excellent CRUD for uploading, filtering, and previewing each document type. File storage integrates directly with their Postgres and Auth offerings for a seamless dashboard.
Files are also stored in the same region as the rest of your Supabase products. Users can drag and drop files into the dashboard or use Supabase’s robust APIs to upload files. Standard File upload is supported for files below 6MB and resumable upload is available for larger files that risk being interrupted. Supabase provides a similar dashboard for managing files where users can sort, select, and preview files.
The ability to integrate straightforward database storage as well as file storage in a single app and interface is one of the most appealing features of Supabase and allows users to get data set up really quickly, all in one place.
Serverless edge functions
Lightweight typescript functions can be written and executed closer to your users in 29 different regions for lower latency using the Supabase CLI. Edge functions are commonly used in content delivery networks (CDNs) to enhance the performance of web applications, ensuring quick responses and efficient data processing for users
This approach is particularly beneficial for applications that require low latency, such as real-time communication, IoT (Internet of Things) devices, and content delivery, as it minimizes the distance data needs to travel between the user and the server, ultimately improving the overall user experience.
Real-time cluster servers
Supabase also allows users to run real-time servers which enable low latency broadcasts, client presence tracking, and Postgres changes. Just like other Supabase products, users are given a sleek UI to create and interact with Realtime server clusters.
This type of technology is often used in areas like finance, online gaming, and communication systems, where getting fast and accurate information is really important.
Superbase is priced competitively with Firebase, but as with other SaaS offerings, their pricing can be quite complex (though Firebase we’ve found to be more so). Plans are priced at the organization levels and start at four tiers. After surpassing the base fee per month, individual features are charged on a usage basis. Supabase provides a useful spend cap functionality to ensure you don’t surpass your budget. We are big fans of this pricing model as this means that companies can really focus on just paying for what they need and use. It particularly lends itself well to startups who want to start with enterprise-grade platforms but aren’t yet looking to pay for the full enterprise feature set.
Supabase offers 500MB space, 5GB of bandwidth, 1GB of storage, unlimited users and unlimited API calls for free. They will pause unused projects after a week.
The Pro plan starts at $25 a month and is usage-based. You get everything in the free plan 8 GB of database storage ($0.125 per GB after), 250 GB of bandwidth ($0.09 per GB after), 100 GB of file storage ($0.021 per GB after) and no unused project pausing.
The team plan has quite the leap to $599 a month and is also usage-based, with still just 8GB of database storage included as standard. This has all the same features & pricing as Pro but includes some of the more specific features that enterprise clients may need including, longer daily backup stores, priority support, Soc2 and HIPAA compliance, and 28-day log retention. Since it doesn’t include extra storage, this plan means paying for features rather than larger database options
For large enterprises looking to use Supabase, Supabase offers client-tailored pricing. This includes things like longer log retention, 24/7 support, SAML login, and more.
Supabase vs Firebase: a suitable alternative?
Now that we’ve looked at Supabase’s features and pricing, how does their product compare to Firebase?
As mentioned, Firebase and Supabase are both cloud-based platforms designed to simplify backend development. Firebase, like Supabase, provides a comprehensive suite of tools, including a real-time database built with NoSQL, with authentication, cloud functions, and hosting options. Firebase particularly pushes its seamless integration with other Google Cloud services and has been a popular choice for its ease of use when integrated into a wider Google-based system, and its extensive documentation. Nevertheless, many developers are looking to avoid the stickiness of this GCP ecosystem and prefer to be more cloud-agnostic with their data, for which Supabase is a good solution.
There are a couple more downsides to Firebase and their use of NoSQL however, that lead developers to look for alternatives:
- Data structure complexity: NoSQL databases like Firebase's Realtime Database or Firestore are schema-less, allowing for flexibility in data structures. However, this flexibility can lead to more complex data management and potential challenges in maintaining a consistent and structured database, especially as the application evolves.
- Limited querying flexibility: NoSQL databases excel at handling certain types of data, but lack the expressive querying power of SQL databases, making it more challenging to perform complex queries or aggregations. Firebase doesn't support traditional SQL joins, which can complicate handling relationships between different types of data.
- Learning curve from relational databases: Developers accustomed to relational databases and SQL may experience a learning curve when adapting to the document-oriented nature of NoSQL databases in Firebase. This shift in mindset can lead to challenges in designing effective data models and queries.
- Stickiness vs open-source: As mentioned, Firebase is in the Google Cloud ecosystem, and vendor lock-in is a concern for many users.
On the other hand, since it’s built on top of PostgreSQL, Supabase offers a data infrastructure where developers can leverage the power of a familiar SQL database. Many developers prefer PostgreSQL databases for their simplicity, reliability, and organized structure, which can be preferable for scaling data. Supabase particularly stands out for its commitment to open-source principles, giving developers the ability to host it on their infrastructure if desired and avoiding the vendor lock-in of a product like Firebase.
How does Supabase pricing compare to Firebase pricing?
In general, Supabase comes out cheaper than Firebase on many fronts. Ignoring the base level storage that each plan comes with, Supabase charges $0.125 per GB while Firebase charges different prices in each individual region per GB for storage. Another large difference in pricing between Supabase and Firebase is that Supabase doesn’t charge for reads, writes, or deletes while Firebase does:
Firebase API additional pricing:
Document Reads: 50,000 free per day, $0.06 per 100,000 documents thereafter
Document Writes: 20,000 free per day, $0.18 per 100,000 documents thereafter.
Document Deletes: 20,000 free per day, $0.02 per 100,000 documents thereafter.
Firebase provides a calculator for estimating the cost of deploying applications here.
Overall, choosing between Firebase and Supabase depends on specific project requirements. Firebase may be preferable for its tightly integrated ecosystem and support for various platforms, while Supabase might be a better fit for developers who value open-source solutions and the flexibility of PostgreSQL.
Summary: using Supabase for internal tools
Since we at Bold Tech are specialists in internal tools and business software infrastructures, we are particularly looking for backend options that tick the boxes of security, scalability, and simplicity. It’s important that internal tools are agile and grow quickly with your company as it scales, so the same needs to be said for the databases that power them.
In this realm, Supabase is certainly a quality product to consider for your internal tools. The database setup and Supabase DB UI are intuitive by nature, both for backend engineers as well as non-technical team members. This means you can get set up and build much faster than other, more traditional backend tools and databases. The pricing model too lends itself to scale whilst still being affordable for smaller datasets, and the auth and permissioning options are particularly favorable for dealing with sensitive or secure data.
On the whole, we believe that Supabase is an incredibly reliable, robust tool for building backends to power your internal tool infrastructure. We are big believers in leveraging the power of developer-focused platforms that speed up development time without skimping on technical features and Supabase is high on our list of database options.
Once you are set up on Supabase with your internal data, we recommend using a platform like Retool to build out the frontend for your internal tools. It integrates seamlessly with Postgres databases like Supabse and allows for the use of SQL to query from within the IDE. You can build out simple CRUDs in minutes and hours rather than weeks.