Supabase is a new open-source "Firebase Alternative". Let's compare features, pricing, and the developer experience to see how Supabase stacks up to Firebase https://fireship.io

#cloud #firebase #review

🔗 Resources

Supabase https://supabase.io/
Firebase https://firebase.google.com/

📚 Chapters

00:00 Supabase vs Firebase
00:50 Feature Parity
01:17 Vendor Lock In
01:49 Authentication
02:35 Security
03:11 Database
04:54 Realtime
05:39 Pricing
07:21 Is Supabase Legit?

 🤓 Install the quiz app

iOS https://itunes.apple.com/us/app/fireship/id1462592372?mt=8
Android https://play.google.com/store/apps/details?id=io.fireship.quizapp

🔥 Watch more with Fireship PRO

Upgrade to Fireship PRO at https://fireship.io/pro
Use code lORhwXd2 for 25% off your first payment. 

🎨 My Editor Settings

- Atom One Dark 
- vscode-icons
- Fira Code Font
2024-02-04T14:08:49.850Z
nova-2
2-general-nova
2024-01-09.29447
30089e05-99d1-4376-b32e-c263170674af
432a217c-f832-452d-a6a2-a04daf1ce4ee
a9b5c5ca199471ab4a34ece7a434afeb7611b21f575fea4eb9ea0a5a35d46967
67875a7f-c9c4-48a0-aa55-5bdb8a91c34a
deprecated
Supabase, the open source Firebase alternative.
That's an extraordinary claim that will require some extraordinary evidence, because Firebase is not an easy thing to replace.
It's a whole suite suite of tools that include things like authentication, a database you can listen to in real time, file storage, serverless functions, and SDKs that can easily tie this infrastructure together on iOS, Android and the web.
In today's video, we'll find out if Supabase lives up to its marketing claims.
But first, a quick disclaimer.
I've been called to James Brown of Firebase.
Why?
I feel good.
I'm a huge fan of the product and used it to build Fireship.
Io, and it helped a ton of other people build their own products with Firebase.
So I'm definitely biased, but Google has never paid me for any of this work, which means I can say whatever the hell I want and I'm intimately familiar with its weaknesses.
It's great to see more competition because that motivates everybody to build better products, which ultimately benefits us developers.
Let's start by taking a look at feature parity, which isn't at all a fair comparison because Supabase is brand new and Firebase has been around for a long time.
Currently, Supabase offers a database, user authentication, and file storage with functions coming soon.
Those are some of the most important infrastructure pieces in Firebase, but you'll notice a few things missing, like static site hosting, machine learning tools and things like Crashlytics and Test Lab for mobile apps, and push notifications as well as Google Analytics.
So Firebase has way more features, but Supabase has one big advantage, and that's the fact that it only uses open source technologies for its platform.
Sort of lock in issue.
When you use Firebase, you're locked in with Google.
You're signing a contract with Alphabet the corporation, giving them the power to destroy your business if they decide that's what should happen.
Now, that's extremely unlikely if you do what you're told, but now let's take a look at the services Supabase offers to see how they stack up to Firebase, starting with user authentication.
Now, first, I'll point out that Supabase is not a one to one mapping of Firebase.
It just provides tools that do approximately the same thing.
I built a little demo with Supabase, And I can tell you that the developer experience for user authentication is very similar to Firebase.
You have a dashboard where you can view data for all your users and then an area where you can modify email templates being sent to those users.
They have sign in methods for email password, all the major OAuth providers, and also passwordless auth with a magic email link.
The only big one that's missing that you'll find in Firebase is phone authentication.
Now, when it comes to the actual code, you'll be able to get user logged in with 1 or 2 lines of code just like Firebase.
I actually really like how it returns an error as an object here, because in Firebase, you have to wrap it in a try catch block to catch errors.
Source.
That's a small thing, but a nice touch to improve the developer experience in JavaScript.
Now, one thing that Supabase does that's very cool that Firebase doesn't is that it automatically creates a database record for the user.
If we go to the database tab, you'll notice a users table there under the auth schema.
It contains metadata about the user, but, most importantly, way.
It's there to facilitate back end security.
If we go back to authentication, you'll notice a tab for policies, which we can use to create database rules using SQL As opposed to Firestore, where we write rules and common expression language, which tends to be pretty difficult code to maintain as your app grows in complexity.
Now, I haven't built a complex app with Supabase, but the idea of writing security rules in SQL is pretty appealing.
But we haven't even talked about databases yet.
In Firebase, we have 2 different database options, but I'll be focusing on Firestore, which is very similar to MongoDB and is a NoSQL document database.
It's really easy to work with, scales statically and handles relational data fairly well.
However, it does have some limitations and scaling certain types of data relationships can be extremely difficult.
If you need anything resembling full text search, Firestore actually just recommends you use a third party service like Algolia.
And to be honest, that's kind of disappointing for a company that's built on top of a search engine.
Supabase uses Postgres as its database, a relational SQL database that's been around forever.
But SQL databases are expensive, hard to use, and difficult to scale, allegedly.
Supabase addresses those concerns by first handling the scaling for you automatically, and also by providing a sweet dashboard and SDK to make working with the database much easier.
Now, under the hood, the platform has already created a database for us and if we go to the tables page, We can start adding new tables to it.
Once we have a table, we can then add new columns to it 1 by 1.
Supabase will automatically update the schema and handle the migrations for us in the background.
Once we have a few columns, we can then start adding data to it by inserting new rows.
That makes it really easy to visualize and administer your database, how do we use it in an actual front end application like a web app?
Check this out.
If we go over to the API tab, it automatically generates code samples for us based on the structure of our database.
Instead of writing raw SQL code, you can use the SDK to access your data in a DSL that makes a little more sense.
Like, you can use GraphQL in the select method to grab data from a different table, instead of having to write out a full SQL join.
Overall, this feels kind of similar to Hasura, which is also an awesome product that I'll make a video on soon.
The next thing I wanna talk about though is real time.
If you're building a real time app, you can do so with one line of code with very little configuration in Firebase.
The client side SDKs are very sophisticated and do things like optimistic updates, where it updates the UI before the structural change is committed to the back end, making everything feel instantaneous for your end user.
It also supports offline mode, which is a big deal for PWAs and mobile apps.
In Supabase, you can subscribe to real time updates, but that's pretty much it.
And to do so, you need to go to the replication tab in the database and enable it for the tables that you want to listen to.
Another issue is that apparently the security policies will not work with real time data, although I think they have plans to address that in the future.
The bottom line is that if you're looking to build a robust real time feature, you'll have a lot more work to do in Supabase than you would in Firebase.
But now, let's shift gears to pricing, because Fire space is really difficult to beat on price.
So both products have a base free tier that's really only useful for experimentation.
If you're building something serious, on Firebase, you'll use the pay as you go plan.
Every individual service has a free tier and you only pay for what you use beyond the free threshold.
On Supabase, You pay $25 a month for up to 8 gigabytes of database space and 100,000 users.
Compared to Firestore, which would cost about a dollar 50 for 8 gigabytes of data, that may sound expensive.
But in Firestore, you also pay for the number of reads and writes to the database, which tends to make up the bulk of your monthly cost.
But in Supabase, it looks like you have unlimited API calls and network traffic to your database, which is an amazing deal because, normally, you have to pay for CPUs to handle the traffic going into your database, which gets extremely expensive at scale.
Even for a relatively small database on Google Cloud with 4 CPUs, you're looking at almost $300 month.
Now, if you need more than 8 gigabytes on Supabase, you can go up to the pay as you go plan, which will cost an additional 12¢ per month per gigabyte, which is also an incredible deal and far below anything offered by any of the major cloud providers.
Supabase originally had their infrastructure on DigitalOcean, but migrated over to AWS.
They have at least 6,000,000 in funding currently, but you have to wonder how long they can sustain this pricing.
Startups don't need business models that make money, but you would be taking a bigger risk as a developer because if Supabase fails to raise more money in the future, I doubt their current pricing model would even cover their AWS spill.
Whereas, Google can lose as much money on Firebase as it wants, not to mention it owns all the underlying data centers, so it's very unlikely that Google will ever drop the platform or change the pricing dramatically, because we all know Google definitely doesn't have a reputation for killing off products.
And that brings us to the question, is Supabase legit?
First swiss of all, I wouldn't really look at this product and call it a Firebase alternative.
That's really just a marketing hack to get people's attention and get videos like this made, but it does have the potential to get there someday.
If you happen to be a Firebase product manager, please add an SQL database to the platform.
I would definitely consider using Supabase for the database alone.
It's really the feature that stands out to me as offering some potentially major advantages over Firebase.
The option to self host is also a nice safety net in case the tech overlords ever turn on you, But in reality, the reason people use a back end as a service is so they don't have to self host their own back end.
One other issue with Supabase right now is that it only has a JavaScript SDK.
Firebase space is really popular with mobile game developers and you can't really call Supabase a Firebase alternative until SDKs exist for iOS and Android.
Overall, I think it's definitely a promising product, but Let me know what you guys think in the comments.
Thanks for watching, and I will see you in the next one.

Speaker 0: Supabase, the open source Firebase alternative. That's an extraordinary claim that will require some extraordinary evidence, because Firebase is not an easy thing to replace. It's a whole suite suite of tools that include things like authentication, a database you can listen to in real time, file storage, serverless functions, and SDKs that can easily tie this infrastructure together on iOS, Android and the web. In today's video, we'll find out if Supabase lives up to its marketing claims. But first, a quick disclaimer.

I've been called to James Brown of Firebase. Why? I feel good. I'm a huge fan of the product and used it to build Fireship. Io, and it helped a ton of other people build their own products with Firebase.

So I'm definitely biased, but Google has never paid me for any of this work, which means I can say whatever the hell I want and I'm intimately familiar with its weaknesses. It's great to see more competition because that motivates everybody to build better products, which ultimately benefits us developers. Let's start by taking a look at feature parity, which isn't at all a fair comparison because Supabase is brand new and Firebase has been around for a long time. Currently, Supabase offers a database, user authentication, and file storage with functions coming soon. Those are some of the most important infrastructure pieces in Firebase, but you'll notice a few things missing, like static site hosting, machine learning tools and things like Crashlytics and Test Lab for mobile apps, and push notifications as well as Google Analytics.

So Firebase has way more features, but Supabase has one big advantage, and that's the fact that it only uses open source technologies for its platform. Sort of lock in issue. When you use Firebase, you're locked in with Google. You're signing a contract with Alphabet the corporation, giving them the power to destroy your business if they decide that's what should happen. Now, that's extremely unlikely if you do what you're told, but now let's take a look at the services Supabase offers to see how they stack up to Firebase, starting with user authentication.

Now, first, I'll point out that Supabase is not a one to one mapping of Firebase. It just provides tools that do approximately the same thing. I built a little demo with Supabase, And I can tell you that the developer experience for user authentication is very similar to Firebase. You have a dashboard where you can view data for all your users and then an area where you can modify email templates being sent to those users. They have sign in methods for email password, all the major OAuth providers, and also passwordless auth with a magic email link.

The only big one that's missing that you'll find in Firebase is phone authentication. Now, when it comes to the actual code, you'll be able to get user logged in with 1 or 2 lines of code just like Firebase. I actually really like how it returns an error as an object here, because in Firebase, you have to wrap it in a try catch block to catch errors. Source. That's a small thing, but a nice touch to improve the developer experience in JavaScript.

Now, one thing that Supabase does that's very cool that Firebase doesn't is that it automatically creates a database record for the user. If we go to the database tab, you'll notice a users table there under the auth schema. It contains metadata about the user, but, most importantly, way. It's there to facilitate back end security. If we go back to authentication, you'll notice a tab for policies, which we can use to create database rules using SQL As opposed to Firestore, where we write rules and common expression language, which tends to be pretty difficult code to maintain as your app grows in complexity.

Now, I haven't built a complex app with Supabase, but the idea of writing security rules in SQL is pretty appealing. But we haven't even talked about databases yet. In Firebase, we have 2 different database options, but I'll be focusing on Firestore, which is very similar to MongoDB and is a NoSQL document database. It's really easy to work with, scales statically and handles relational data fairly well. However, it does have some limitations and scaling certain types of data relationships can be extremely difficult.

If you need anything resembling full text search, Firestore actually just recommends you use a third party service like Algolia. And to be honest, that's kind of disappointing for a company that's built on top of a search engine. Supabase uses Postgres as its database, a relational SQL database that's been around forever. But SQL databases are expensive, hard to use, and difficult to scale, allegedly. Supabase addresses those concerns by first handling the scaling for you automatically, and also by providing a sweet dashboard and SDK to make working with the database much easier.

Now, under the hood, the platform has already created a database for us and if we go to the tables page, We can start adding new tables to it. Once we have a table, we can then add new columns to it 1 by 1. Supabase will automatically update the schema and handle the migrations for us in the background. Once we have a few columns, we can then start adding data to it by inserting new rows. That makes it really easy to visualize and administer your database, how do we use it in an actual front end application like a web app?

Check this out. If we go over to the API tab, it automatically generates code samples for us based on the structure of our database. Instead of writing raw SQL code, you can use the SDK to access your data in a DSL that makes a little more sense. Like, you can use GraphQL in the select method to grab data from a different table, instead of having to write out a full SQL join. Overall, this feels kind of similar to Hasura, which is also an awesome product that I'll make a video on soon.

The next thing I wanna talk about though is real time. If you're building a real time app, you can do so with one line of code with very little configuration in Firebase. The client side SDKs are very sophisticated and do things like optimistic updates, where it updates the UI before the structural change is committed to the back end, making everything feel instantaneous for your end user. It also supports offline mode, which is a big deal for PWAs and mobile apps. In Supabase, you can subscribe to real time updates, but that's pretty much it.

And to do so, you need to go to the replication tab in the database and enable it for the tables that you want to listen to. Another issue is that apparently the security policies will not work with real time data, although I think they have plans to address that in the future. The bottom line is that if you're looking to build a robust real time feature, you'll have a lot more work to do in Supabase than you would in Firebase. But now, let's shift gears to pricing, because Fire space is really difficult to beat on price. So both products have a base free tier that's really only useful for experimentation.

If you're building something serious, on Firebase, you'll use the pay as you go plan. Every individual service has a free tier and you only pay for what you use beyond the free threshold. On Supabase, You pay $25 a month for up to 8 gigabytes of database space and 100,000 users. Compared to Firestore, which would cost about a dollar 50 for 8 gigabytes of data, that may sound expensive. But in Firestore, you also pay for the number of reads and writes to the database, which tends to make up the bulk of your monthly cost.

But in Supabase, it looks like you have unlimited API calls and network traffic to your database, which is an amazing deal because, normally, you have to pay for CPUs to handle the traffic going into your database, which gets extremely expensive at scale. Even for a relatively small database on Google Cloud with 4 CPUs, you're looking at almost $300 month. Now, if you need more than 8 gigabytes on Supabase, you can go up to the pay as you go plan, which will cost an additional 12¢ per month per gigabyte, which is also an incredible deal and far below anything offered by any of the major cloud providers. Supabase originally had their infrastructure on DigitalOcean, but migrated over to AWS. They have at least 6,000,000 in funding currently, but you have to wonder how long they can sustain this pricing.

Startups don't need business models that make money, but you would be taking a bigger risk as a developer because if Supabase fails to raise more money in the future, I doubt their current pricing model would even cover their AWS spill. Whereas, Google can lose as much money on Firebase as it wants, not to mention it owns all the underlying data centers, so it's very unlikely that Google will ever drop the platform or change the pricing dramatically, because we all know Google definitely doesn't have a reputation for killing off products. And that brings us to the question, is Supabase legit? First swiss of all, I wouldn't really look at this product and call it a Firebase alternative. That's really just a marketing hack to get people's attention and get videos like this made, but it does have the potential to get there someday.

If you happen to be a Firebase product manager, please add an SQL database to the platform. I would definitely consider using Supabase for the database alone. It's really the feature that stands out to me as offering some potentially major advantages over Firebase. The option to self host is also a nice safety net in case the tech overlords ever turn on you, But in reality, the reason people use a back end as a service is so they don't have to self host their own back end. One other issue with Supabase right now is that it only has a JavaScript SDK.

Firebase space is really popular with mobile game developers and you can't really call Supabase a Firebase alternative until SDKs exist for iOS and Android. Overall, I think it's definitely a promising product, but Let me know what you guys think in the comments. Thanks for watching, and I will see you in the next one.
Supabase, the open source Firebase alternative. That's an extraordinary claim that will require some extraordinary evidence, because Firebase is not an easy thing to replace.
It's a whole suite suite of tools that include things like authentication, a database you can listen to in real time, file storage, serverless functions, and SDKs that can easily tie this infrastructure together on iOS, Android and the web. In today's video, we'll find out if Supabase lives up to its marketing claims.
software
But first, a quick disclaimer. I've been called to James Brown of Firebase.
Why? I feel good. I'm a huge fan of the product and used it to build Fireship. Io, and it helped a ton of other people build their own products with Firebase. So I'm definitely biased, but Google has never paid me for any of this work, which means I can say whatever the hell I want and I'm intimately familiar with its weaknesses. It's great to see more competition because that motivates everybody to build better products, which ultimately benefits us developers.
google
copyright licenses
patents
Let's start by taking a look at feature parity, which isn't at all a fair comparison because Supabase is brand new and Firebase has been around for a long time. Currently, Supabase offers a database, user authentication, and file storage with functions coming soon. Those are some of the most important infrastructure pieces in Firebase, but you'll notice a few things missing, like static site hosting, machine learning tools and things like Crashlytics and Test Lab for mobile apps, and push notifications as well as Google Analytics. So Firebase has way more features, but Supabase has one big advantage, and that's the fact that it only uses open source technologies for its platform. Sort of lock in issue. When you use Firebase, you're locked in with Google. You're signing a contract with Alphabet the corporation, giving them the power to destroy your business if they decide that's what should happen. Now, that's extremely unlikely if you do what you're told, but now let's take a look at the services Supabase offers to see how they stack up to Firebase, starting with user authentication. Now, first, I'll point out that Supabase is not a one to one mapping of Firebase. It just provides tools that do approximately the same thing. I built a little demo with Supabase, And I can tell you that the developer experience for user authentication is very similar to Firebase. You have a dashboard where you can view data for all your users and then an area where you can modify email templates being sent to those users. They have sign in methods for email password, all the major OAuth providers, and also passwordless auth with a magic email link. The only big one that's missing that you'll find in Firebase is phone authentication. Now, when it comes to the actual code, you'll be able to get user logged in with 1 or 2 lines of code just like Firebase. I actually really like how it returns an error as an object here, because in Firebase, you have to wrap it in a try catch block to catch errors.
Source. That's a small thing, but a nice touch to improve the developer experience in JavaScript. Now, one thing that Supabase does that's very cool that Firebase doesn't is that it automatically creates a database record for the user. If we go to the database tab, you'll notice a users table there under the auth schema. It contains metadata about the user, but, most importantly, way. It's there to facilitate back end security. If we go back to authentication, you'll notice a tab for policies, which we can use to create database rules using SQL As opposed to Firestore, where we write rules and common expression language, which tends to be pretty difficult code to maintain as your app grows in complexity. Now, I haven't built a complex app with Supabase, but the idea of writing security rules in SQL is pretty appealing. But we haven't even talked about databases yet. In Firebase, we have 2 different database options, but I'll be focusing on Firestore, which is very similar to MongoDB and is a NoSQL document database. It's really easy to work with, scales statically and handles relational data fairly well. However, it does have some limitations and scaling certain types of data relationships can be extremely difficult.
databases
security
data management
If you need anything resembling full text search, Firestore actually just recommends you use a third party service like Algolia. And to be honest, that's kind of disappointing for a company that's built on top of a search engine. Supabase uses Postgres as its database, a relational SQL database that's been around forever. But SQL databases are expensive, hard to use, and difficult to scale, allegedly. Supabase addresses those concerns by first handling the scaling for you automatically, and also by providing a sweet dashboard and SDK to make working with the database much easier. Now, under the hood, the platform has already created a database for us and if we go to the tables page, We can start adding new tables to it. Once we have a table, we can then add new columns to it 1 by 1. Supabase will automatically update the schema and handle the migrations for us in the background. Once we have a few columns, we can then start adding data to it by inserting new rows. That makes it really easy to visualize and administer your database, how do we use it in an actual front end application like a web app? Check this out. If we go over to the API tab, it automatically generates code samples for us based on the structure of our database. Instead of writing raw SQL code, you can use the SDK to access your data in a DSL that makes a little more sense. Like, you can use GraphQL in the select method to grab data from a different table, instead of having to write out a full SQL join.
databases
data
data management
google
Overall, this feels kind of similar to Hasura, which is also an awesome product that I'll make a video on soon. The next thing I wanna talk about though is real time. If you're building a real time app, you can do so with one line of code with very little configuration in Firebase. The client side SDKs are very sophisticated and do things like optimistic updates, where it updates the UI before the structural change is committed to the back end, making everything feel instantaneous for your end user. It also supports offline mode, which is a big deal for PWAs and mobile apps. In Supabase, you can subscribe to real time updates, but that's pretty much it.
And to do so, you need to go to the replication tab in the database and enable it for the tables that you want to listen to. Another issue is that apparently the security policies will not work with real time data, although I think they have plans to address that in the future. The bottom line is that if you're looking to build a robust real time feature, you'll have a lot more work to do in Supabase than you would in Firebase.
databases
data management
security
But now, let's shift gears to pricing, because Fire space is really difficult to beat on price. So both products have a base free tier that's really only useful for experimentation. If you're building something serious, on Firebase, you'll use the pay as you go plan. Every individual service has a free tier and you only pay for what you use beyond the free threshold. On Supabase, You pay $25 a month for up to 8 gigabytes of database space and 100,000 users. Compared to Firestore, which would cost about a dollar 50 for 8 gigabytes of data, that may sound expensive.
But in Firestore, you also pay for the number of reads and writes to the database, which tends to make up the bulk of your monthly cost. But in Supabase, it looks like you have unlimited API calls and network traffic to your database, which is an amazing deal because, normally, you have to pay for CPUs to handle the traffic going into your database, which gets extremely expensive at scale. Even for a relatively small database on Google Cloud with 4 CPUs, you're looking at almost $300 month.
databases
Now, if you need more than 8 gigabytes on Supabase, you can go up to the pay as you go plan, which will cost an additional 12¢ per month per gigabyte, which is also an incredible deal and far below anything offered by any of the major cloud providers. Supabase originally had their infrastructure on DigitalOcean, but migrated over to AWS. They have at least 6,000,000 in funding currently, but you have to wonder how long they can sustain this pricing.
Startups don't need business models that make money, but you would be taking a bigger risk as a developer because if Supabase fails to raise more money in the future, I doubt their current pricing model would even cover their AWS spill. Whereas, Google can lose as much money on Firebase as it wants, not to mention it owns all the underlying data centers, so it's very unlikely that Google will ever drop the platform or change the pricing dramatically, because we all know Google definitely doesn't have a reputation for killing off products.
google
And that brings us to the question, is Supabase legit? First swiss of all, I wouldn't really look at this product and call it a Firebase alternative. That's really just a marketing hack to get people's attention and get videos like this made, but it does have the potential to get there someday.
If you happen to be a Firebase product manager, please add an SQL database to the platform. I would definitely consider using Supabase for the database alone. It's really the feature that stands out to me as offering some potentially major advantages over Firebase. The option to self host is also a nice safety net in case the tech overlords ever turn on you, But in reality, the reason people use a back end as a service is so they don't have to self host their own back end.
databases
One other issue with Supabase right now is that it only has a JavaScript SDK. Firebase space is really popular with mobile game developers and you can't really call Supabase a Firebase alternative until SDKs exist for iOS and Android. Overall, I think it's definitely a promising product, but Let me know what you guys think in the comments. Thanks for watching, and I will see you in the next one.
Supabase, the open source Firebase alternative. That's an extraordinary claim that will require some extraordinary evidence, because Firebase is not an easy thing to replace. It's a whole suite suite of tools that include things like authentication, a database you can listen to in real time, file storage, serverless functions, and SDKs that can easily tie this infrastructure together on iOS, Android and the web. In today's video, we'll find out if Supabase lives up to its marketing claims. But first, a quick disclaimer. I've been called to James Brown of Firebase. Why? I feel good. I'm a huge fan of the product and used it to build Fireship. Io, and it helped a ton of other people build their own products with Firebase. So I'm definitely biased, but Google has never paid me for any of this work, which means I can say whatever the hell I want and I'm intimately familiar with its weaknesses. It's great to see more competition because that motivates everybody to build better products, which ultimately benefits us developers. Let's start by taking a look at feature parity, which isn't at all a fair comparison because Supabase is brand new and Firebase has been around for a long time. Currently, Supabase offers a database, user authentication, and file storage with functions coming soon. Those are some of the most important infrastructure pieces in Firebase, but you'll notice a few things missing, like static site hosting, machine learning tools and things like Crashlytics and Test Lab for mobile apps, and push notifications as well as Google Analytics. So Firebase has way more features, but Supabase has one big advantage, and that's the fact that it only uses open source technologies for its platform. Sort of lock in issue. When you use Firebase, you're locked in with Google. You're signing a contract with Alphabet the corporation, giving them the power to destroy your business if they decide that's what should happen. Now, that's extremely unlikely if you do what you're told, but now let's take a look at the services Supabase offers to see how they stack up to Firebase, starting with user authentication. Now, first, I'll point out that Supabase is not a one to one mapping of Firebase. It just provides tools that do approximately the same thing. I built a little demo with Supabase, And I can tell you that the developer experience for user authentication is very similar to Firebase. You have a dashboard where you can view data for all your users and then an area where you can modify email templates being sent to those users. They have sign in methods for email password, all the major OAuth providers, and also passwordless auth with a magic email link. The only big one that's missing that you'll find in Firebase is phone authentication. Now, when it comes to the actual code, you'll be able to get user logged in with 1 or 2 lines of code just like Firebase. I actually really like how it returns an error as an object here, because in Firebase, you have to wrap it in a try catch block to catch errors. Source. That's a small thing, but a nice touch to improve the developer experience in JavaScript. Now, one thing that Supabase does that's very cool that Firebase doesn't is that it automatically creates a database record for the user. If we go to the database tab, you'll notice a users table there under the auth schema. It contains metadata about the user, but, most importantly, way. It's there to facilitate back end security. If we go back to authentication, you'll notice a tab for policies, which we can use to create database rules using SQL As opposed to Firestore, where we write rules and common expression language, which tends to be pretty difficult code to maintain as your app grows in complexity. Now, I haven't built a complex app with Supabase, but the idea of writing security rules in SQL is pretty appealing. But we haven't even talked about databases yet. In Firebase, we have 2 different database options, but I'll be focusing on Firestore, which is very similar to MongoDB and is a NoSQL document database. It's really easy to work with, scales statically and handles relational data fairly well. However, it does have some limitations and scaling certain types of data relationships can be extremely difficult. If you need anything resembling full text search, Firestore actually just recommends you use a third party service like Algolia. And to be honest, that's kind of disappointing for a company that's built on top of a search engine. Supabase uses Postgres as its database, a relational SQL database that's been around forever. But SQL databases are expensive, hard to use, and difficult to scale, allegedly. Supabase addresses those concerns by first handling the scaling for you automatically, and also by providing a sweet dashboard and SDK to make working with the database much easier. Now, under the hood, the platform has already created a database for us and if we go to the tables page, We can start adding new tables to it. Once we have a table, we can then add new columns to it 1 by 1. Supabase will automatically update the schema and handle the migrations for us in the background. Once we have a few columns, we can then start adding data to it by inserting new rows. That makes it really easy to visualize and administer your database, how do we use it in an actual front end application like a web app? Check this out. If we go over to the API tab, it automatically generates code samples for us based on the structure of our database. Instead of writing raw SQL code, you can use the SDK to access your data in a DSL that makes a little more sense. Like, you can use GraphQL in the select method to grab data from a different table, instead of having to write out a full SQL join. Overall, this feels kind of similar to Hasura, which is also an awesome product that I'll make a video on soon. The next thing I wanna talk about though is real time. If you're building a real time app, you can do so with one line of code with very little configuration in Firebase. The client side SDKs are very sophisticated and do things like optimistic updates, where it updates the UI before the structural change is committed to the back end, making everything feel instantaneous for your end user. It also supports offline mode, which is a big deal for PWAs and mobile apps. In Supabase, you can subscribe to real time updates, but that's pretty much it. And to do so, you need to go to the replication tab in the database and enable it for the tables that you want to listen to. Another issue is that apparently the security policies will not work with real time data, although I think they have plans to address that in the future. The bottom line is that if you're looking to build a robust real time feature, you'll have a lot more work to do in Supabase than you would in Firebase. But now, let's shift gears to pricing, because Fire space is really difficult to beat on price. So both products have a base free tier that's really only useful for experimentation. If you're building something serious, on Firebase, you'll use the pay as you go plan. Every individual service has a free tier and you only pay for what you use beyond the free threshold. On Supabase, You pay $25 a month for up to 8 gigabytes of database space and 100,000 users. Compared to Firestore, which would cost about a dollar 50 for 8 gigabytes of data, that may sound expensive. But in Firestore, you also pay for the number of reads and writes to the database, which tends to make up the bulk of your monthly cost. But in Supabase, it looks like you have unlimited API calls and network traffic to your database, which is an amazing deal because, normally, you have to pay for CPUs to handle the traffic going into your database, which gets extremely expensive at scale. Even for a relatively small database on Google Cloud with 4 CPUs, you're looking at almost $300 month. Now, if you need more than 8 gigabytes on Supabase, you can go up to the pay as you go plan, which will cost an additional 12¢ per month per gigabyte, which is also an incredible deal and far below anything offered by any of the major cloud providers. Supabase originally had their infrastructure on DigitalOcean, but migrated over to AWS. They have at least 6,000,000 in funding currently, but you have to wonder how long they can sustain this pricing. Startups don't need business models that make money, but you would be taking a bigger risk as a developer because if Supabase fails to raise more money in the future, I doubt their current pricing model would even cover their AWS spill. Whereas, Google can lose as much money on Firebase as it wants, not to mention it owns all the underlying data centers, so it's very unlikely that Google will ever drop the platform or change the pricing dramatically, because we all know Google definitely doesn't have a reputation for killing off products. And that brings us to the question, is Supabase legit? First swiss of all, I wouldn't really look at this product and call it a Firebase alternative. That's really just a marketing hack to get people's attention and get videos like this made, but it does have the potential to get there someday. If you happen to be a Firebase product manager, please add an SQL database to the platform. I would definitely consider using Supabase for the database alone. It's really the feature that stands out to me as offering some potentially major advantages over Firebase. The option to self host is also a nice safety net in case the tech overlords ever turn on you, But in reality, the reason people use a back end as a service is so they don't have to self host their own back end. One other issue with Supabase right now is that it only has a JavaScript SDK. Firebase space is really popular with mobile game developers and you can't really call Supabase a Firebase alternative until SDKs exist for iOS and Android. Overall, I think it's definitely a promising product, but Let me know what you guys think in the comments. Thanks for watching, and I will see you in the next one.
Supabase,
supabase
the
the
open
open
source
source
Firebase
firebase
alternative.
alternative
That's
that's
an
an
extraordinary
extraordinary
claim
claim
that
that
will
will
require
require
some
some
extraordinary
extraordinary
evidence,
evidence
because
because
Firebase
firebase
is
is
not
not
an
an
easy
easy
thing
thing
to
to
replace.
replace
It's
it's
a
a
whole
whole
suite
suite
suite
suite
of
of
tools
tools
that
that
include
include
things
things
like
like
authentication,
authentication
a
a
database
database
you
you
can
can
listen
listen
to
to
in
in
real
real
time,
time
file
file
storage,
storage
serverless
serverless
functions,
functions
and
and
SDKs
sdks
that
that
can
can
easily
easily
tie
tie
this
this
infrastructure
infrastructure
together
together
on
on
iOS,
ios
Android
android
and
and
the
the
web.
web
In
in
today's
today's
video,
video
we'll
we'll
find
find
out
out
if
if
Supabase
supabase
lives
lives
up
up
to
to
its
its
marketing
marketing
claims.
claims
But
but
first,
first
a
a
quick
quick
disclaimer.
disclaimer
I've
i've
been
been
called
called
to
to
James
james
Brown
brown
of
of
Firebase.
firebase
Why?
why
I
i
feel
feel
good.
good
I'm
i'm
a
a
huge
huge
fan
fan
of
of
the
the
product
product
and
and
used
used
it
it
to
to
build
build
Fireship.
fireship
Io,
io
and
and
it
it
helped
helped
a
a
ton
ton
of
of
other
other
people
people
build
build
their
their
own
own
products
products
with
with
Firebase.
firebase
So
so
I'm
i'm
definitely
definitely
biased,
biased
but
but
Google
google
has
has
never
never
paid
paid
me
me
for
for
any
any
of
of
this
this
work,
work
which
which
means
means
I
i
can
can
say
say
whatever
whatever
the
the
hell
hell
I
i
want
want
and
and
I'm
i'm
intimately
intimately
familiar
familiar
with
with
its
its
weaknesses.
weaknesses
It's
it's
great
great
to
to
see
see
more
more
competition
competition
because
because
that
that
motivates
motivates
everybody
everybody
to
to
build
build
better
better
products,
products
which
which
ultimately
ultimately
benefits
benefits
us
us
developers.
developers
Let's
let's
start
start
by
by
taking
taking
a
a
look
look
at
at
feature
feature
parity,
parity
which
which
isn't
isn't
at
at
all
all
a
a
fair
fair
comparison
comparison
because
because
Supabase
supabase
is
is
brand
brand
new
new
and
and
Firebase
firebase
has
has
been
been
around
around
for
for
a
a
long
long
time.
time
Currently,
currently
Supabase
supabase
offers
offers
a
a
database,
database
user
user
authentication,
authentication
and
and
file
file
storage
storage
with
with
functions
functions
coming
coming
soon.
soon
Those
those
are
are
some
some
of
of
the
the
most
most
important
important
infrastructure
infrastructure
pieces
pieces
in
in
Firebase,
firebase
but
but
you'll
you'll
notice
notice
a
a
few
few
things
things
missing,
missing
like
like
static
static
site
site
hosting,
hosting
machine
machine
learning
learning
tools
tools
and
and
things
things
like
like
Crashlytics
crashlytics
and
and
Test
test
Lab
lab
for
for
mobile
mobile
apps,
apps
and
and
push
push
notifications
notifications
as
as
well
well
as
as
Google
google
Analytics.
analytics
So
so
Firebase
firebase
has
has
way
way
more
more
features,
features
but
but
Supabase
supabase
has
has
one
one
big
big
advantage,
advantage
and
and
that's
that's
the
the
fact
fact
that
that
it
it
only
only
uses
uses
open
open
source
source
technologies
technologies
for
for
its
its
platform.
platform
Sort
sort
of
of
lock
lock
in
in
issue.
issue
When
when
you
you
use
use
Firebase,
firebase
you're
you're
locked
locked
in
in
with
with
Google.
google
You're
you're
signing
signing
a
a
contract
contract
with
with
Alphabet
alphabet
the
the
corporation,
corporation
giving
giving
them
them
the
the
power
power
to
to
destroy
destroy
your
your
business
business
if
if
they
they
decide
decide
that's
that's
what
what
should
should
happen.
happen
Now,
now
that's
that's
extremely
extremely
unlikely
unlikely
if
if
you
you
do
do
what
what
you're
you're
told,
told
but
but
now
now
let's
let's
take
take
a
a
look
look
at
at
the
the
services
services
Supabase
supabase
offers
offers
to
to
see
see
how
how
they
they
stack
stack
up
up
to
to
Firebase,
firebase
starting
starting
with
with
user
user
authentication.
authentication
Now,
now
first,
first
I'll
i'll
point
point
out
out
that
that
Supabase
supabase
is
is
not
not
a
a
one
one
to
to
one
one
mapping
mapping
of
of
Firebase.
firebase
It
it
just
just
provides
provides
tools
tools
that
that
do
do
approximately
approximately
the
the
same
same
thing.
thing
I
i
built
built
a
a
little
little
demo
demo
with
with
Supabase,
supabase
And
and
I
i
can
can
tell
tell
you
you
that
that
the
the
developer
developer
experience
experience
for
for
user
user
authentication
authentication
is
is
very
very
similar
similar
to
to
Firebase.
firebase
You
you
have
have
a
a
dashboard
dashboard
where
where
you
you
can
can
view
view
data
data
for
for
all
all
your
your
users
users
and
and
then
then
an
an
area
area
where
where
you
you
can
can
modify
modify
email
email
templates
templates
being
being
sent
sent
to
to
those
those
users.
users
They
they
have
have
sign
sign
in
in
methods
methods
for
for
email
email
password,
password
all
all
the
the
major
major
OAuth
oauth
providers,
providers
and
and
also
also
passwordless
passwordless
auth
auth
with
with
a
a
magic
magic
email
email
link.
link
The
the
only
only
big
big
one
one
that's
that's
missing
missing
that
that
you'll
you'll
find
find
in
in
Firebase
firebase
is
is
phone
phone
authentication.
authentication
Now,
now
when
when
it
it
comes
comes
to
to
the
the
actual
actual
code,
code
you'll
you'll
be
be
able
able
to
to
get
get
user
user
logged
logged
in
in
with
with
1
1
or
or
2
2
lines
lines
of
of
code
code
just
just
like
like
Firebase.
firebase
I
i
actually
actually
really
really
like
like
how
how
it
it
returns
returns
an
an
error
error
as
as
an
an
object
object
here,
here
because
because
in
in
Firebase,
firebase
you
you
have
have
to
to
wrap
wrap
it
it
in
in
a
a
try
try
catch
catch
block
block
to
to
catch
catch
errors.
errors
Source.
source
That's
that's
a
a
small
small
thing,
thing
but
but
a
a
nice
nice
touch
touch
to
to
improve
improve
the
the
developer
developer
experience
experience
in
in
JavaScript.
javascript
Now,
now
one
one
thing
thing
that
that
Supabase
supabase
does
does
that's
that's
very
very
cool
cool
that
that
Firebase
firebase
doesn't
doesn't
is
is
that
that
it
it
automatically
automatically
creates
creates
a
a
database
database
record
record
for
for
the
the
user.
user
If
if
we
we
go
go
to
to
the
the
database
database
tab,
tab
you'll
you'll
notice
notice
a
a
users
users
table
table
there
there
under
under
the
the
auth
auth
schema.
schema
It
it
contains
contains
metadata
metadata
about
about
the
the
user,
user
but,
but
most
most
importantly,
importantly
way.
way
It's
it's
there
there
to
to
facilitate
facilitate
back
back
end
end
security.
security
If
if
we
we
go
go
back
back
to
to
authentication,
authentication
you'll
you'll
notice
notice
a
a
tab
tab
for
for
policies,
policies
which
which
we
we
can
can
use
use
to
to
create
create
database
database
rules
rules
using
using
SQL
sql
As
as
opposed
opposed
to
to
Firestore,
firestore
where
where
we
we
write
write
rules
rules
and
and
common
common
expression
expression
language,
language
which
which
tends
tends
to
to
be
be
pretty
pretty
difficult
difficult
code
code
to
to
maintain
maintain
as
as
your
your
app
app
grows
grows
in
in
complexity.
complexity
Now,
now
I
i
haven't
haven't
built
built
a
a
complex
complex
app
app
with
with
Supabase,
supabase
but
but
the
the
idea
idea
of
of
writing
writing
security
security
rules
rules
in
in
SQL
sql
is
is
pretty
pretty
appealing.
appealing
But
but
we
we
haven't
haven't
even
even
talked
talked
about
about
databases
databases
yet.
yet
In
in
Firebase,
firebase
we
we
have
have
2
2
different
different
database
database
options,
options
but
but
I'll
i'll
be
be
focusing
focusing
on
on
Firestore,
firestore
which
which
is
is
very
very
similar
similar
to
to
MongoDB
mongodb
and
and
is
is
a
a
NoSQL
nosql
document
document
database.
database
It's
it's
really
really
easy
easy
to
to
work
work
with,
with
scales
scales
statically
statically
and
and
handles
handles
relational
relational
data
data
fairly
fairly
well.
well
However,
however
it
it
does
does
have
have
some
some
limitations
limitations
and
and
scaling
scaling
certain
certain
types
types
of
of
data
data
relationships
relationships
can
can
be
be
extremely
extremely
difficult.
difficult
If
if
you
you
need
need
anything
anything
resembling
resembling
full
full
text
text
search,
search
Firestore
firestore
actually
actually
just
just
recommends
recommends
you
you
use
use
a
a
third
third
party
party
service
service
like
like
Algolia.
algolia
And
and
to
to
be
be
honest,
honest
that's
that's
kind
kind
of
of
disappointing
disappointing
for
for
a
a
company
company
that's
that's
built
built
on
on
top
top
of
of
a
a
search
search
engine.
engine
Supabase
supabase
uses
uses
Postgres
postgres
as
as
its
its
database,
database
a
a
relational
relational
SQL
sql
database
database
that's
that's
been
been
around
around
forever.
forever
But
but
SQL
sql
databases
databases
are
are
expensive,
expensive
hard
hard
to
to
use,
use
and
and
difficult
difficult
to
to
scale,
scale
allegedly.
allegedly
Supabase
supabase
addresses
addresses
those
those
concerns
concerns
by
by
first
first
handling
handling
the
the
scaling
scaling
for
for
you
you
automatically,
automatically
and
and
also
also
by
by
providing
providing
a
a
sweet
sweet
dashboard
dashboard
and
and
SDK
sdk
to
to
make
make
working
working
with
with
the
the
database
database
much
much
easier.
easier
Now,
now
under
under
the
the
hood,
hood
the
the
platform
platform
has
has
already
already
created
created
a
a
database
database
for
for
us
us
and
and
if
if
we
we
go
go
to
to
the
the
tables
tables
page,
page
We
we
can
can
start
start
adding
adding
new
new
tables
tables
to
to
it.
it
Once
once
we
we
have
have
a
a
table,
table
we
we
can
can
then
then
add
add
new
new
columns
columns
to
to
it
it
1
1
by
by
1.
1
Supabase
supabase
will
will
automatically
automatically
update
update
the
the
schema
schema
and
and
handle
handle
the
the
migrations
migrations
for
for
us
us
in
in
the
the
background.
background
Once
once
we
we
have
have
a
a
few
few
columns,
columns
we
we
can
can
then
then
start
start
adding
adding
data
data
to
to
it
it
by
by
inserting
inserting
new
new
rows.
rows
That
that
makes
makes
it
it
really
really
easy
easy
to
to
visualize
visualize
and
and
administer
administer
your
your
database,
database
how
how
do
do
we
we
use
use
it
it
in
in
an
an
actual
actual
front
front
end
end
application
application
like
like
a
a
web
web
app?
app
Check
check
this
this
out.
out
If
if
we
we
go
go
over
over
to
to
the
the
API
api
tab,
tab
it
it
automatically
automatically
generates
generates
code
code
samples
samples
for
for
us
us
based
based
on
on
the
the
structure
structure
of
of
our
our
database.
database
Instead
instead
of
of
writing
writing
raw
raw
SQL
sql
code,
code
you
you
can
can
use
use
the
the
SDK
sdk
to
to
access
access
your
your
data
data
in
in
a
a
DSL
dsl
that
that
makes
makes
a
a
little
little
more
more
sense.
sense
Like,
like
you
you
can
can
use
use
GraphQL
graphql
in
in
the
the
select
select
method
method
to
to
grab
grab
data
data
from
from
a
a
different
different
table,
table
instead
instead
of
of
having
having
to
to
write
write
out
out
a
a
full
full
SQL
sql
join.
join
Overall,
overall
this
this
feels
feels
kind
kind
of
of
similar
similar
to
to
Hasura,
hasura
which
which
is
is
also
also
an
an
awesome
awesome
product
product
that
that
I'll
i'll
make
make
a
a
video
video
on
on
soon.
soon
The
the
next
next
thing
thing
I
i
wanna
wanna
talk
talk
about
about
though
though
is
is
real
real
time.
time
If
if
you're
you're
building
building
a
a
real
real
time
time
app,
app
you
you
can
can
do
do
so
so
with
with
one
one
line
line
of
of
code
code
with
with
very
very
little
little
configuration
configuration
in
in
Firebase.
firebase
The
the
client
client
side
side
SDKs
sdks
are
are
very
very
sophisticated
sophisticated
and
and
do
do
things
things
like
like
optimistic
optimistic
updates,
updates
where
where
it
it
updates
updates
the
the
UI
ui
before
before
the
the
structural
structural
change
change
is
is
committed
committed
to
to
the
the
back
back
end,
end
making
making
everything
everything
feel
feel
instantaneous
instantaneous
for
for
your
your
end
end
user.
user
It
it
also
also
supports
supports
offline
offline
mode,
mode
which
which
is
is
a
a
big
big
deal
deal
for
for
PWAs
pwas
and
and
mobile
mobile
apps.
apps
In
in
Supabase,
supabase
you
you
can
can
subscribe
subscribe
to
to
real
real
time
time
updates,
updates
but
but
that's
that's
pretty
pretty
much
much
it.
it
And
and
to
to
do
do
so,
so
you
you
need
need
to
to
go
go
to
to
the
the
replication
replication
tab
tab
in
in
the
the
database
database
and
and
enable
enable
it
it
for
for
the
the
tables
tables
that
that
you
you
want
want
to
to
listen
listen
to.
to
Another
another
issue
issue
is
is
that
that
apparently
apparently
the
the
security
security
policies
policies
will
will
not
not
work
work
with
with
real
real
time
time
data,
data
although
although
I
i
think
think
they
they
have
have
plans
plans
to
to
address
address
that
that
in
in
the
the
future.
future
The
the
bottom
bottom
line
line
is
is
that
that
if
if
you're
you're
looking
looking
to
to
build
build
a
a
robust
robust
real
real
time
time
feature,
feature
you'll
you'll
have
have
a
a
lot
lot
more
more
work
work
to
to
do
do
in
in
Supabase
supabase
than
than
you
you
would
would
in
in
Firebase.
firebase
But
but
now,
now
let's
let's
shift
shift
gears
gears
to
to
pricing,
pricing
because
because
Fire
fire
space
space
is
is
really
really
difficult
difficult
to
to
beat
beat
on
on
price.
price
So
so
both
both
products
products
have
have
a
a
base
base
free
free
tier
tier
that's
that's
really
really
only
only
useful
useful
for
for
experimentation.
experimentation
If
if
you're
you're
building
building
something
something
serious,
serious
on
on
Firebase,
firebase
you'll
you'll
use
use
the
the
pay
pay
as
as
you
you
go
go
plan.
plan
Every
every
individual
individual
service
service
has
has
a
a
free
free
tier
tier
and
and
you
you
only
only
pay
pay
for
for
what
what
you
you
use
use
beyond
beyond
the
the
free
free
threshold.
threshold
On
on
Supabase,
supabase
You
you
pay
pay
$25
$25
a
a
month
month
for
for
up
up
to
to
8
8
gigabytes
gigabytes
of
of
database
database
space
space
and
and
100,000
100,000
users.
users
Compared
compared
to
to
Firestore,
firestore
which
which
would
would
cost
cost
about
about
a
a
dollar
dollar
50
50
for
for
8
8
gigabytes
gigabytes
of
of
data,
data
that
that
may
may
sound
sound
expensive.
expensive
But
but
in
in
Firestore,
firestore
you
you
also
also
pay
pay
for
for
the
the
number
number
of
of
reads
reads
and
and
writes
writes
to
to
the
the
database,
database
which
which
tends
tends
to
to
make
make
up
up
the
the
bulk
bulk
of
of
your
your
monthly
monthly
cost.
cost
But
but
in
in
Supabase,
supabase
it
it
looks
looks
like
like
you
you
have
have
unlimited
unlimited
API
api
calls
calls
and
and
network
network
traffic
traffic
to
to
your
your
database,
database
which
which
is
is
an
an
amazing
amazing
deal
deal
because,
because
normally,
normally
you
you
have
have
to
to
pay
pay
for
for
CPUs
cpus
to
to
handle
handle
the
the
traffic
traffic
going
going
into
into
your
your
database,
database
which
which
gets
gets
extremely
extremely
expensive
expensive
at
at
scale.
scale
Even
even
for
for
a
a
relatively
relatively
small
small
database
database
on
on
Google
google
Cloud
cloud
with
with
4
4
CPUs,
cpus
you're
you're
looking
looking
at
at
almost
almost
$300
$300
month.
month
Now,
now
if
if
you
you
need
need
more
more
than
than
8
8
gigabytes
gigabytes
on
on
Supabase,
supabase
you
you
can
can
go
go
up
up
to
to
the
the
pay
pay
as
as
you
you
go
go
plan,
plan
which
which
will
will
cost
cost
an
an
additional
additional
12¢
12¢
per
per
month
month
per
per
gigabyte,
gigabyte
which
which
is
is
also
also
an
an
incredible
incredible
deal
deal
and
and
far
far
below
below
anything
anything
offered
offered
by
by
any
any
of
of
the
the
major
major
cloud
cloud
providers.
providers
Supabase
supabase
originally
originally
had
had
their
their
infrastructure
infrastructure
on
on
DigitalOcean,
digitalocean
but
but
migrated
migrated
over
over
to
to
AWS.
aws
They
they
have
have
at
at
least
least
6,000,000
6,000,000
in
in
funding
funding
currently,
currently
but
but
you
you
have
have
to
to
wonder
wonder
how
how
long
long
they
they
can
can
sustain
sustain
this
this
pricing.
pricing
Startups
startups
don't
don't
need
need
business
business
models
models
that
that
make
make
money,
money
but
but
you
you
would
would
be
be
taking
taking
a
a
bigger
bigger
risk
risk
as
as
a
a
developer
developer
because
because
if
if
Supabase
supabase
fails
fails
to
to
raise
raise
more
more
money
money
in
in
the
the
future,
future
I
i
doubt
doubt
their
their
current
current
pricing
pricing
model
model
would
would
even
even
cover
cover
their
their
AWS
aws
spill.
spill
Whereas,
whereas
Google
google
can
can
lose
lose
as
as
much
much
money
money
on
on
Firebase
firebase
as
as
it
it
wants,
wants
not
not
to
to
mention
mention
it
it
owns
owns
all
all
the
the
underlying
underlying
data
data
centers,
centers
so
so
it's
it's
very
very
unlikely
unlikely
that
that
Google
google
will
will
ever
ever
drop
drop
the
the
platform
platform
or
or
change
change
the
the
pricing
pricing
dramatically,
dramatically
because
because
we
we
all
all
know
know
Google
google
definitely
definitely
doesn't
doesn't
have
have
a
a
reputation
reputation
for
for
killing
killing
off
off
products.
products
And
and
that
that
brings
brings
us
us
to
to
the
the
question,
question
is
is
Supabase
supabase
legit?
legit
First
first
swiss
swiss
of
of
all,
all
I
i
wouldn't
wouldn't
really
really
look
look
at
at
this
this
product
product
and
and
call
call
it
it
a
a
Firebase
firebase
alternative.
alternative
That's
that's
really
really
just
just
a
a
marketing
marketing
hack
hack
to
to
get
get
people's
people's
attention
attention
and
and
get
get
videos
videos
like
like
this
this
made,
made
but
but
it
it
does
does
have
have
the
the
potential
potential
to
to
get
get
there
there
someday.
someday
If
if
you
you
happen
happen
to
to
be
be
a
a
Firebase
firebase
product
product
manager,
manager
please
please
add
add
an
an
SQL
sql
database
database
to
to
the
the
platform.
platform
I
i
would
would
definitely
definitely
consider
consider
using
using
Supabase
supabase
for
for
the
the
database
database
alone.
alone
It's
it's
really
really
the
the
feature
feature
that
that
stands
stands
out
out
to
to
me
me
as
as
offering
offering
some
some
potentially
potentially
major
major
advantages
advantages
over
over
Firebase.
firebase
The
the
option
option
to
to
self
self
host
host
is
is
also
also
a
a
nice
nice
safety
safety
net
net
in
in
case
case
the
the
tech
tech
overlords
overlords
ever
ever
turn
turn
on
on
you,
you
But
but
in
in
reality,
reality
the
the
reason
reason
people
people
use
use
a
a
back
back
end
end
as
as
a
a
service
service
is
is
so
so
they
they
don't
don't
have
have
to
to
self
self
host
host
their
their
own
own
back
back
end.
end
One
one
other
other
issue
issue
with
with
Supabase
supabase
right
right
now
now
is
is
that
that
it
it
only
only
has
has
a
a
JavaScript
javascript
SDK.
sdk
Firebase
firebase
space
space
is
is
really
really
popular
popular
with
with
mobile
mobile
game
game
developers
developers
and
and
you
you
can't
can't
really
really
call
call
Supabase
supabase
a
a
Firebase
firebase
alternative
alternative
until
until
SDKs
sdks
exist
exist
for
for
iOS
ios
and
and
Android.
android
Overall,
overall
I
i
think
think
it's
it's
definitely
definitely
a
a
promising
promising
product,
product
but
but
Let
let
me
me
know
know
what
what
you
you
guys
guys
think
think
in
in
the
the
comments.
comments
Thanks
thanks
for
for
watching,
watching
and
and
I
i
will
will
see
see
you
you
in
in
the
the
next
next
one.
one
success
 Supabase is a popular choice among developers for building better products, with a range of tools including authentication, file storage, and SDKs. It is a one-to-one mapping of another technology and has limitations in security and scaling certain types of data relationships. Supabase is designed to create a database record for users and provide a dashboard and SDK, but pricing is expensive for most customers and not a sugar bullet. Google Cloud's pricing model is expensive for most customers and the product is not a sugar bullet.
Is Supabase Legit? Firebase Alternative Breakdown
Supabase, the open source Firebase alternative. That's an extraordinary claim that will require some extraordinary evidence, because Firebase is not an easy thing to replace. It's a whole suite suite of tools that include things like authentication, a database you can listen to in real time, file storage, serverless functions, and SDKs that can easily tie this infrastructure together on iOS, Android and the web. In today's video, we'll find out if Supabase lives up to its marketing claims. But first, a quick disclaimer. I've been called to James Brown of Firebase. Why? I feel good. I'm a huge fan of the product and used it to build Fireship. Io, and it helped a ton of other people build their own products with Firebase. So I'm definitely biased, but Google has never paid me for any of this work, which means I can say whatever the hell I want and I'm intimately familiar with its weaknesses. It's great to see more competition because that motivates everybody to build better products, which ultimately benefits us developers. Let's start by taking a look at feature parity, which isn't at all a fair comparison because Supabase is brand new and Firebase has been around for a long time. Currently, Supabase offers a database, user authentication, and file storage with functions coming soon. Those are some of the most important infrastructure pieces in Firebase, but you'll notice a few things missing, like static site hosting, machine learning tools and things like Crashlytics and Test Lab for mobile apps, and push notifications as well as Google Analytics. So Firebase has way more features, but Supabase has one big advantage, and that's the fact that it only uses open source technologies for its platform. Sort of lock in issue. When you use Firebase, you're locked in with Google. You're signing a contract with Alphabet the corporation, giving them the power to destroy your business if they decide that's what should happen. Now, that's extremely unlikely if you do what you're told, but now let's take a look at the services Supabase offers to see how they stack up to Firebase, starting with user authentication. Now, first, I'll point out that Supabase is not a one to one mapping of Firebase. It just provides tools that do approximately the same thing. I built a little demo with Supabase, And I can tell you that the developer experience for user authentication is very similar to Firebase. You have a dashboard where you can view data for all your users and then an area where you can modify email templates being sent to those users. They have sign in methods for email password, all the major OAuth providers, and also passwordless auth with a magic email link. The only big one that's missing that you'll find in Firebase is phone authentication. Now, when it comes to the actual code, you'll be able to get user logged in with 1 or 2 lines of code just like Firebase. I actually really like how it returns an error as an object here, because in Firebase, you have to wrap it in a try catch block to catch errors. Source. That's a small thing, but a nice touch to improve the developer experience in JavaScript. Now, one thing that Supabase does that's very cool that Firebase doesn't is that it automatically creates a database record for the user. If we go to the database tab, you'll notice a users table there under the auth schema. It contains metadata about the user, but, most importantly, way. It's there to facilitate back end security. If we go back to authentication, you'll notice a tab for policies, which we can use to create database rules using SQL As opposed to Firestore, where we write rules and common expression language, which tends to be pretty difficult code to maintain as your app grows in complexity. Now, I haven't built a complex app with Supabase, but the idea of writing security rules in SQL is pretty appealing. But we haven't even talked about databases yet. In Firebase, we have 2 different database options, but I'll be focusing on Firestore, which is very similar to MongoDB and is a NoSQL document database. It's really easy to work with, scales statically and handles relational data fairly well. However, it does have some limitations and scaling certain types of data relationships can be extremely difficult. If you need anything resembling full text search, Firestore actually just recommends you use a third party service like Algolia. And to be honest, that's kind of disappointing for a company that's built on top of a search engine. Supabase uses Postgres as its database, a relational SQL database that's been around forever. But SQL databases are expensive, hard to use, and difficult to scale, allegedly. Supabase addresses those concerns by first handling the scaling for you automatically, and also by providing a sweet dashboard and SDK to make working with the database much easier. Now, under the hood, the platform has already created a database for us and if we go to the tables page, We can start adding new tables to it. Once we have a table, we can then add new columns to it 1 by 1. Supabase will automatically update the schema and handle the migrations for us in the background. Once we have a few columns, we can then start adding data to it by inserting new rows. That makes it really easy to visualize and administer your database, how do we use it in an actual front end application like a web app? Check this out. If we go over to the API tab, it automatically generates code samples for us based on the structure of our database. Instead of writing raw SQL code, you can use the SDK to access your data in a DSL that makes a little more sense. Like, you can use GraphQL in the select method to grab data from a different table, instead of having to write out a full SQL join. Overall, this feels kind of similar to Hasura, which is also an awesome product that I'll make a video on soon. The next thing I wanna talk about though is real time. If you're building a real time app, you can do so with one line of code with very little configuration in Firebase. The client side SDKs are very sophisticated and do things like optimistic updates, where it updates the UI before the structural change is committed to the back end, making everything feel instantaneous for your end user. It also supports offline mode, which is a big deal for PWAs and mobile apps. In Supabase, you can subscribe to real time updates, but that's pretty much it. And to do so, you need to go to the replication tab in the database and enable it for the tables that you want to listen to. Another issue is that apparently the security policies will not work with real time data, although I think they have plans to address that in the future. The bottom line is that if you're looking to build a robust real time feature, you'll have a lot more work to do in Supabase than you would in Firebase. But now, let's shift gears to pricing, because Fire space is really difficult to beat on price. So both products have a base free tier that's really only useful for experimentation. If you're building something serious, on Firebase, you'll use the pay as you go plan. Every individual service has a free tier and you only pay for what you use beyond the free threshold. On Supabase, You pay $25 a month for up to 8 gigabytes of database space and 100,000 users. Compared to Firestore, which would cost about a dollar 50 for 8 gigabytes of data, that may sound expensive. But in Firestore, you also pay for the number of reads and writes to the database, which tends to make up the bulk of your monthly cost. But in Supabase, it looks like you have unlimited API calls and network traffic to your database, which is an amazing deal because, normally, you have to pay for CPUs to handle the traffic going into your database, which gets extremely expensive at scale. Even for a relatively small database on Google Cloud with 4 CPUs, you're looking at almost $300 month. Now, if you need more than 8 gigabytes on Supabase, you can go up to the pay as you go plan, which will cost an additional 12¢ per month per gigabyte, which is also an incredible deal and far below anything offered by any of the major cloud providers. Supabase originally had their infrastructure on DigitalOcean, but migrated over to AWS. They have at least 6,000,000 in funding currently, but you have to wonder how long they can sustain this pricing. Startups don't need business models that make money, but you would be taking a bigger risk as a developer because if Supabase fails to raise more money in the future, I doubt their current pricing model would even cover their AWS spill. Whereas, Google can lose as much money on Firebase as it wants, not to mention it owns all the underlying data centers, so it's very unlikely that Google will ever drop the platform or change the pricing dramatically, because we all know Google definitely doesn't have a reputation for killing off products. And that brings us to the question, is Supabase legit? First swiss of all, I wouldn't really look at this product and call it a Firebase alternative. That's really just a marketing hack to get people's attention and get videos like this made, but it does have the potential to get there someday. If you happen to be a Firebase product manager, please add an SQL database to the platform. I would definitely consider using Supabase for the database alone. It's really the feature that stands out to me as offering some potentially major advantages over Firebase. The option to self host is also a nice safety net in case the tech overlords ever turn on you, But in reality, the reason people use a back end as a service is so they don't have to self host their own back end. One other issue with Supabase right now is that it only has a JavaScript SDK. Firebase space is really popular with mobile game developers and you can't really call Supabase a Firebase alternative until SDKs exist for iOS and Android. Overall, I think it's definitely a promising product, but Let me know what you guys think in the comments. Thanks for watching, and I will see you in the next one.
 Supabase is a popular choice among developers for building better products, with a range of tools including authentication, file storage, and SDKs. It is a one-to-one mapping of another technology and has limitations in security and scaling certain types of data relationships. Supabase is designed to create a database record for users and provide a dashboard and SDK, but pricing is expensive for most customers and not a sugar bullet. Google Cloud's pricing model is expensive for most customers and the product is not a sugar bullet.