Stuck in a provisioning state
I just joined the Discord to ask the same question. It seems like Supabase may negate the primary reasons stated (or at the very least serial request waterfalls, as it supports JOINs). Would be great to get a write up specific to Supabase to assist in making these head-to-head decisions. The React-first approach is compelling though, as it appears a third party library would be required for both Firebase and Supabase to bring hooks and state management to the table.
One area I am questioning as well is the Auth. The documentation is pretty thin, and it appears my first project is stuck in a provisioning state so I cant poke around, but having a catalog of both out-of-the-box strategies (like un/pw, phone, magic link) as well as federated providers (google, linkedin, etc) are both things SB and FB offer, and it would be interesting to know how Convex competes on this front.
8 Replies
Great to hear, allen. Before addressing auth (right now Convex works with any OpenID provider, but offering the other options directly is something to think about) can you say more about being stuck in a provisioning state? That's not something that should happen, would love to debug.
It seems like Supabase may negate the primary reasons stated (or at the very least serial request waterfalls, as it supports JOINs). Would be great to get a write up specific to Supabase to assist in making these head-to-head decisions.Thanks for the feedback! Agreed! We should definitely have a Convex vs Supabase comparison. I think you're right that Supabase's JOINs can help avoid request waterfalls, but I still think that sending data straight from your database to the client is limiting. A lot of the "Encapsulating Business Logic" section at https://docs.convex.dev/understanding/convex-vs-firebase#encapsulating-business-logic applies to supabase too. Sending your database row straight to the client is a good way to build small apps or get started, but as your app grows it's limiting and makes things like authorization extremely complex. Convex gives you a place to put server-side business logic without giving up the fancy features like reactivity.
Convex vs. Firebase | Convex Developer Hub
Convex and Google's Cloud Firestore are both platforms for managing database
@ballingt I see the attached. Clicking the tutorial just opens the docs in a new window.

Ah this UI is causing confusion here, in this case the spinner is "waiting" on you to create a project from the command line.
Gotcha.
@alexcole would love to see deeper write ups around how Convex's approach to business logic is architected in a better way. I understand the problem you are addressing (this is far from my first rodeo), but without getting my hands fairly dirty around a complex scenario in both ecosystems, it's hard to analyze the trade offs.
For example, it seems like some of the business logic issues could be addressed by Supabase's database functions (which can then be executed via api endpoint or graphql resolver), albeit with a much different approach.
On a less technical note, I'm a bit unclear on what shortcomings in the market Convex perceives and how it differentiates itself. What gaps are you trying to fill? What's the upside? Is is strictly DX for React apps (that seems to be whats spoken to most concisely)? I could be helped along on making the business side of the decision, for sure.
(I'm not necessarily asking for answers here, just providing general feedback as someone in the throws of making a partner decision in this category.)
https://supabase.com/docs/guides/database/functions
Database Functions | Supabase Docs
Creating and using Postgres functions.
Yep, that totally makes sense. Thanks for the feedback! I think we definitely have more work to do to explain all of this.
For example, it seems like some of the business logic issues could be addressed by Supabase's database functions (which can then be executed via api endpoint or graphql resolver), albeit with a much different approach.For sure. I think the big difference between our functions and Supabase's is that ours are reactive 🙂
On a less technical note, I'm a bit unclear on what shortcomings in the market Convex perceives and how it differentiates itself. What gaps are you trying to fill? What's the upside? Is is strictly DX for React apps (that seems to be whats spoken to most concisely)? I could be helped along on making the business side of the decision, for sure.Yeah we definitely need to start telling more of this story. I think we're focusing on serving the React community really well right now but we definitely plan to expand beyond just React. We're just starting to add more clients in more languages... Some other big differentiators: - Reactivity: even our functions are reactive! - Correctness: We handle a lot of correctness edge cases so developers don't have to. We're serializable, snapshot isolated, every mutation is a transaction etc etc - Scalability: Convex is designed to be a platform that can support apps as they grow, not just a toy for hackathon projects
dusts off our supabase microservice haven't touched that since being won over by Convex's reactivity