How to Make Your First SaaS

And let AI do the heavy lifting

I’m going to cover absolutely everything I did to create TinyGains, my new habit tracker app. Let’s get started.

Get 50% Off TinyGains with code TG50 (20 Coupons Available!)

Idea

Every SaaS (software as a service) starts with an idea that solves a problem or pain point. For me, I wanted to make an app to keep myself accountable for habits like running, working out, sending out this newsletter, etc.

I found myself failing to complete these habits more often than I care to admit (usually due to overworking and not allowing myself time to complete them), so I built a system for better accountability.

I also knew I wanted to create an “annoying” email reminder to add an extra layer of accountability, ultimately making it harder to ignore new habits that I want to create.

MVP

This is where a lot of creators - including myself - often get stuck. An MVP (minimum viable product) should be simple, delivering roughly 1-3 core features. 

For example, an MVP for my habit tracker might provide a few core features:

  1. Add/manage your habits

  2. Track your progress

  3. Send email reminders

Of course I could expand on this, but the whole idea of the MVP is to get your product to market as soon as possible, before falling into the rabbit hole of adding a bunch of features that might be nice to have, but not totally necessary.

After creating an MVP, it’s time to build.

Build

These days you can create an MVP in just a few minutes using AI tools like Bolt and ChatGPT, and that’s exactly what I did. I documented the entire process here - literally every single prompt that I used is in this article:

While this served as a great proof of concept, there was still a lot of work required to turn TinyGains into a functional app. For example:

  • Authentication

    • We need users to sign in to use the app

  • Storage

    • We need to save their habits, reminders, etc.

  • Email reminders

    • We need something to scan for pending reminders and send emails

Thankfully, Supabase handles all of this - if you use AI tools like Bolt, Cursor, Lovable, etc. they all make it extremely easy to integrate Supabase into your project to easily handle authentication, storage, and more. It’s a fantastic tool that I’ll definitely be using more in future projects.

Authentication and storage did not take long at all to set up. Literally a few minutes with Bolt handling all the initial integration. The email reminders actually took the most time to refine.

Payment

Depending on what you’re building and who your intended audience is, you might want to consider adding a paywall to access your app’s features. Some services will offer a free tier, others might have a free trial that converts to a paid subscription, others might have a one-time payment.

For this app, I used Stripe and chose to have two payment options:

  • A $5 monthly subscription (low-cost, low commitment)

  • Or a $99 one-time payment (lifetime access, no recurring subscriptions)

Payment is a very personal choice. At the end of the day you can make your app completely free, $100 a month, or $10,000 one-time - there are no rules. Do whatever you think is best for yourself, while of course being mindful of your audience and market.

Domain

After you’ve built your app, you’ll have to deploy it somewhere. There are plenty of places to do this (ex. Netlify, Vercel, Heroku) where you upload your project and it gives you some default domain name like your-app-name.netlify.com

But you’ll probably want to just go ahead and buy your-app-name.com - this way:

  1. It’s easier for people to find your website

  2. It makes your “brand” appear more professional

  3. You can use the domain for emails and more (ex. send inquiries to “[email protected]”)

My advice: domains can be a real PITA to set up if you’ve never done it before, but the easiest experience I’ve had by far has been with Vercel for hosting, Cloudflare for domains, and Resend for emails.

Launch

This is probably the hardest step - not necessarily because it’s difficult, but because most people get stuck on the other steps and never get a chance to launch. If you’ve made it here, you’re doing something right.

There are plenty of free outlets to get the news out about your latest launch:

  1. Reddit: post in subreddits related to your niche

  2. Twitter/X: post in communities related to your niche

  3. Cold DM: reach out to influencers or prospective users

  4. ProductHunt: launch your app alongside other builders (there are lots of similar sites that you can use to launch)

Reflection

This is the phase that I’m in now. I just launched my first app, and I want to take some time to reflect on the entire process:

  1. Was this idea worth my time to create from the ground up?

  2. Did I spend too much time (or too little) on the MVP features?

  3. Where did I get stuck on this project?

  4. What feedback do users have so far - are they satisfied?

  5. How was the launch received?

  6. What lessons can I apply to make future projects easier to complete?

I could probably create 25+ questions to gain insight from the TinyGains launch. At the end of the day, I’m still new to this, but I’m absolutely loving it. I genuinely have a great time working on these projects, and I feel motivated to keep moving forward.

Notes…

Obviously this is a very high level overview of the building process. If I included every single detail and every lesson that I’ve learned in this project, I’d easily be able to fill a 30-60 minute YouTube video (which I might do…).

Truthfully, the idea to MVP process for TinyGains shouldn’t have taken as long as it did. I started adding features here and there, and ultimately ended up scaling back a lot. I could’ve saved a lot of time by keeping things simple from the start.

I also spent a lot of time working on the email reminders and payment integration - both were a bit of a pain to set up (mostly because this was my first time using Supabase) and took much longer than expected, but that’s largely due to me being a bit of a newbie. I expect my next projects to go much smoother thanks to the lessons that I learned here.

I learned so much through this experience. This entire process has been an amazing learning experience, and I’m excited to move onto my next project for the month of March. Hopefully I’ll have more info on that soon!