The Tech Stack of a SaaS builder
What is the ideal tech stack?
I spent a long (too long even) time pondering this question.
The truth is, there’s no absolute, definitive answer.
But there is a relative one: the ideal tech stack for you is the one you’re comfortable with. It’s the one you’ve mastered, the one you’ve used again and again, and that you can navigate effortlessly.
Nobody sees what’s under the hood. The only thing that matters is that you can go as fast as possible building something useful - and the way you can do that is by using a tech stack that works for you.
Still, there are a few things your tech stack should be composed of:
1. A front-end framework
To build a SaaS, you need to build a web app. There are a ton of ways to do this, but you’re not going to do plain HTML and vanilla CSS. You need a good front-end framework. Usually, the standard here is a JavaScript/TypeScript framework, such as React or Vue.
2. Some kind of back-end
Even though a lot of processing and data handling can happen in the front-end nowadays, there are still some sensitive actions that will need to happened server-side. Whether you prefer a serverless architecture and use serverless functions or containers, or you prefer hosting a full-fledged back-end is up to you.
Depending on the nature of what needs to happen in the back-end, you might have more or less choices.
For example, if you want to build a data-processing-heavy SaaS product that needs to manipulate all kinds of data, then it’s better to have a python back-end.
If you just need a back-end for auth-related actions, then you can just use serverless functions – some frameworks such as NextJS or Nuxt even have that built-in.
3. An auth service
You need to be able to authenticate users and present content that is only accessible to them – otherwise you’d be building a blog.
To do this, you need to have an authentication system. Some frameworks have one built-in, but otherwise you can use something like Auth0 or Firebase Auth.
4. A database
Even if the only data you need to store is about your users, you still need to choose a database. Depending on your needs, you might prefer a relational or document database. Popular options include Postgres or Supabase (relational), and MongoDB or Firebase (document).
5. A payment provider
If you’re building a SaaS product, chances are you want to bill users on a subscription base. You might also want to charge one time for lifetime access.
Either way, you’ll need a payment provider.
Here, I would say: go with Stripe (and it’s not because I used to work there). It’s probably the easiest and most developer-friendly way to get set up.
6. Analytics (optional, but strongly recommended)
You don’t need to set up analytics in your SaaS product to make it work. But, if you don’t, it’s like you are blind – you can’t see what users are doing on your platform.
That means you don’t know what they actually use, what doesn’t work as expected, and you can’t optimize.
Again, you have multiple options here: if you use Firebase, you can use Firebase Analytics, if you want a powerful analytics platform, you can use Segment, or you can use GDPR-friendly Google Analytics alternatives such as Plausible.
7. Cloud Hosting
Well, your SaaS needs to be hosted somewhere. Depending on how comfortable you are with deployment, you can either have a custom deployment pipeline on your favorite cloud (AWS, GCP, Azure, Heroku…) or you can opt for an all-in-one, managed cloud like Vercel.
Of course, these are just the basics. Depending on what your product does, you might need other services: file storage, APIs to do X or Y, email marketing, etc.
Coming soon: My tech stack as an example!
Happy building!