13
13 Comments

Three reasons why we chose Supabase as our backend

We recently finished redeveloping MoodFirst, our team mood sharing app, on Supabase so I thought I'd share our experience.

When we started out we wanted to build something really quickly to see if people actually want to share their mood with their team so we built an MVP using the no-code platform Bubble.io. This gave us a great start and helped us to launch in about 3 weeks but eventually found we needed to be able to write code to support some of the more advanced features we needed.

Because we're a team of 2 we need to keep things simple so we looked at Back End as a Service (BAAS) providers that combine database, API, authentication and file storage on a single platform:

What else we looked at:

  • Firebase - this had everything we wanted but... I've used it before and find the security rules get very complicated. Also, it has a no-SQL database and we wanted relational.

  • AWS Amplify - Seemed to tick all the boxes on paper but it just seemed more complicated than the others

  • Fauna - This looked great as a database as a back end but we'd have to integrate a separate provided for authentication.

We decided on Supabase while it was still in beta so it felt like a risk but they just seemed to be heading in the right direction. These are the 3 key things that decided it for us:

  1. Simplicity & Ease of Use - Supabase lets you set up all your database objects in their UI and auto-generates CRUD APIs for each table you create. The documentation created for each API makes them really simple to use.
  2. Open source - We don't want to do another re-write if we eventually move away from Supabase. The fact that it's built on open source components like PostgreSQL means we can self-host in future if we want to.
  3. Fun - I need to enjoy doing the development and prefer to focus on the front-end user experience. Supabase takes away a lot of the hassle of the back-end development It's also a lot more satisfying because you can develop so much faster.

For our front-end, we chose the Svelte web framework which is also really simple and developer-friendly and hosted that on Vercel which was also excellent.

It took us about 4 weeks to re-write the application, test and migrate all our data. When we launched Supabase still hadn't released a secure real-time API so we had to develop a few workarounds. Support on the forums has been really good and you often get a response directly from the founders.

posted to Icon for group Product Development
Product Development
on March 14, 2022
  1. 2

    This is a great post, thank you for sharing your experience. Supabase + Sveltekit + Vercel (or similar) are an amazing combination of near infrastructure-as-a-service. Using a stack like that allows you to focus most of your dev efforts on end user problem solving.

    I'm also very bullish on the headless CMS space like Strapi, Hasura, GraphCMS, Sanity, Netlify. You can now do so much with so little build out.

    1. 1

      Thanks @stevewdavens! It's been nearly 3 months since we completed our build on Supabase and we're still happy with the decision!

  2. 2

    Very cool and happy for you.
    The thing that I always go back to think when talking about those smaller companies is how they will do in the future and if the support they can provide is actually enough.
    For instance I host everything on Azure and I know that no matter the traffic or the complexity, they will be able to handle it.
    Is this something you guys considered?

    1. 2

      I think the nice thing about supabase is that it is opensource. So even if you were unhappy with their hosting you could continue to use the technology but host it yourself.

      I think open source is a great model for SaaS infrastructure companies for exactly that reason.

    2. 2

      The support, from what I've seen, is really great.

      The thing I'm worried about is the price, and the changes along the way. I used to praise Supabase for everything (I even have a paid boilerplate product using it!), but limitations are way to important for building multiples side projects. You can only have two databases (that was 3 per organization a few months ago).

      I think this is an awesome product if you are serious about what you're building and you are willing to pay 25$ a month (I think it's cheap for the service), but it's not for indiehackers if you want to have more than two products for free.

      But it's a good thing, because I started to learn SQL again, installed a PostgreSQL instance on a cheap VPS, and discovered great backend/CMS like Keystone, Directus 9 etc ^^

      1. 1

        I would tend to disagree here re the price. I have no affiliation, but $25 per month per project for all you get with supabase is a steal. How much is your time worth?

        1. 1

          As I said, if you are serious about your project, it's a bargain, definitely!

          But if you are like me, and you like to have 5 side projects at the same time, it's not possible because of the project number limitation.

          I just installed caprover on my vps (4,5€/month). I can have unlimited postgresql instances, I tested several self hosted backend (appwrite, directus). And if one day I have a project that need a better infrastructure, I can totally transfer it to Supabase and pay.

          They also released Supabase Studio so you can totally self hosted it!

          1. 1

            It's awesome that you can self host yourself supabase, same with hasura.io

    3. 1

      Hey @filippo_b, Yeah it is a worry actually. Also what happens down the line in 2 or 3 years time?

      I suppose we went for the solution we think will let us build new features in the least amount of time - without all the limitations of a no-code platform.

      It was partly an emotional decision as well -it just felt right - but that's why we're called MoodFirst 😃

  3. 2

    Aww Supabase are cool. Went through YC with those guys, jus look at em now! Great choice. Mood First looks cool too.

  4. 1

    Curious why you never considered PlanetScale? I believe they go hand in hand with Supabase just for MySQL.

    Can you also elaborate why you chose to move on from bubble?

    1. 1

      Hi @sokirill, I wasn't aware of PlanetScale. 🙂 Just taking a look now - it looks good. Not sure it provides a REST API or authentication as well?

      With Bubble we just ended up having to figure out workarounds for a lot of things. Some of this may have been my own lack of knowledge - we might have done better if we'd attended one of their BootCamps. Not that we weren't happy with Bubble.

      • Our workflows in Bubble started to get more and more complex as we needed to update multiple tables in one operation.
      • Also we needed to use Javascript to handle some of the UI activities and passing the data between JS and the Bubble workflows started to make everything more complex.
      • One other issue was that a lot of the pages were getting quite slow to load.

      A lot of this might have been solved if we had designed our data model differently in Bubble. I know some companies have been able to scale up on Bubble successfully.

      Hope this helps!

Trending on Indie Hackers
I shipped 3 features this weekend based entirely on community feedback. Here's what I built and why. User Avatar 155 comments I'm a lawyer who launched an AI contract tool on Product Hunt today — here's what building it as a non-technical founder actually felt like User Avatar 139 comments Finally reached 100 users in just 12 days 🚀 User Avatar 127 comments “This contract looked normal - but could cost millions” User Avatar 53 comments 👉 The most expensive contract mistakes don’t feel risky User Avatar 39 comments I realized showing problems isn’t enough — so I built this User Avatar 32 comments