Business Update 009: Enter Supabase
Hey everyone, here with another quick update on the state of Crowd Card.
Last week, while recovering from a wisdom tooth extraction, I planned to really hammer on the iOS app. I have most of the app designed in Figma and have been building out the frontend UI in Swift. You may recall from previous blogs that I had decided to use Firebase on the backend - the tldr on Firebase is that it’s a “backend as a service” product offered by Google. For those less familiar with the technical side of web and mobile app development, having a product like Firebase is nice because it offers a suite of functions that make developing the app easier and much faster. For example, Firebase (and products like it) has user authentication functions that make user registration, sign-in and sign-out, account deletion, password resetting, etc. extremely easy to implement in your app.
Firebase also offers a backend database for app developers. This is where things got a little tricky for me. Firebase’s database is called Firestore, which is a NoSQL, document-oriented database. This presented a number of challenges. First and foremost, I have never worked with NoSQL databases. As a data scientist, I’ve worked with a ton of different databases, but they’ve all been object-relational databases that use SQL. I watched several videos about NoSQL and several more videos related specifically to Firestore - although I was confident NoSQL was something I’d be able to pick up pretty quickly, it felt a little too chaotic for my preference and did not seem like a good backend solution for the Crowd Card app.
I had also built Mission Control - the admin portal for Crowd Card - using a mySQL database on the backend. Because Mission Control and the Crowd Card app need to “speak” to one another, they either need to share a database or both be accessible via APIs. I think the easiest solution is for both to share a database. So, had I stuck with Firebase, I would have had to refactor all of Mission Control’s backend from mySQL to be compatible with Firestore’s NoSQL. That would not have been fun. So I went in search of Firebase alternatives. And I’m glad I did.
Enter Supabase, a self-described “open source Firebase alternative.” Supabase offers a lot of the same bells and whistles that Firebase has to offer (e.g., the authentication functions described above), but rather than using a NoSQL database, it uses Postgres, an open source, SQL, object-relational database. This is a perfect product for my use case. So, over the weekend, I registered for Supabase and created a new project that will serve as the backend to both Mission Control and the Crowd Card app. I am now moving Mission Control from my locally hosted mySQL database to my new Supabase project. During this migration, I’m also building out a more robust user authentication system for Mission Control, and cleaning up some of the UI. I plan to have Mission Control V2 up and running by the middle of the week and will test it during the Emmitt/Murphy card this Saturday.
Other Updates
Here are a few additional updates on development:
iOS app: Immediately after finishing Mission Control’s migration, I will resume work on the iOS app. I used Firebase to build out the app’s authentication layer, so I will need to rebuild that to be compatible with Supabase, but that looks to be relatively easy from Supabase’s docs. Other than that, everything else that I have already built is basic SwiftUI and will not need to be refactored.
Media: March was easily my best month for media. On X, I finally cracked 100 followers and hit all-time highs in impressions and engagements (145k impressions and 5,800 engagements)! The website also hit record high traffic in March and I had several people sign up for the waitlist. I’m stoked to see so many people taking an interest in Crowd Card - I can’t wait to bring this to the public! Thank you to all those who are following and supporting, I truly appreciate it!
Trailing 3 months of impressions and engagements on the Crowd Card X account.
Coming up
I’m excited to test Mission Control V2 this weekend during Emmitt/Murphy. And hey, you never know, the card may turn out to be a banger…the APEX seems to be delivering lately.
Okay back to work - thanks for reading.
Written by Daniel Kuhman, Founder