My Favorite Tech Stack to Build SaaS
Jonathan Braat / October 12, 2022 ⋅ 6 min read
This is the my favorite stack for people who want to build SaaS fast. It includes everything from backend, to frontend, emails and payment.
I have been building software professionally for roughly 10 years now. Like many others, I found my passion for it during my gamer days, creating mods and maps for games like Warcraft 3. I then played around coding small websites with simple HTML, CSS and JS as well as set up forums for the teams I was involved with.
The ability to create something out of nothing, and making it available to the whole world was absolutely mind-blowing to me. It still is actually. The possibilities for programmers are truly endless.
However, whereas coding up a small webpage was fun, hosting and maintaining servers and deployments wasn't. At least not to me.
In this article I present my favorite tech stack to build a SaaS. These tools not only make it easy to build a complete SaaS, but also blazingly fast to do so.
Database
In my opinion, Supabase is currently by far the best choice as a hosted DB for building SaaS.
Don't get me wrong, there are tons of good alternatives, such as Planetscale and MongoDB offering affordable and scalable DB solutions for various use-cases.
Supabase shines because of all the value added features, such as auth, storage and so on.
By choosing Supabase you will get the following:
- A PostgresDB at the core. It scales and can be extended with tons of pg extensions
- An autogenerated PostgREST API or optionally a generated GraphQL API to access all your data without implementing the API yourself
- An easy to use web-dashboard, which you can use to create tables, modify data and execute custom SQL
- Auth for users including tons of social providers (Google, Facebook, Apple, etc.), magic link login, phone auth and even MFA
- Edge functions with custom triggers
- File storage - those are just S3 buckets, but it's nice to have them included in the package. You can use it for user profile images and the like
- A generous free tier
As you can see Supabase includes a ton of things you can use for your SaaS. The team behind it is extremely strong, and they are fostering a great developer community. Also, the whole thing is open source, if this is important to you.
NOTE: I do believe in using the right tool for the job. If you think another DB type is better suited for your use-case, e.g. Graph DB because you want to find patterns, or DocumentDB for whatever other reason, use that instead.
Hosted Web-application Frontend & Lambdas
As you could probably sense in the paragraphs above, I'm not a fan of hosting my own infrastructure. This is where this stack shines.
When it comes to hosting my applications and managing domains, I have completely switched my activities to Vercel. In my opinion, Vercel is on another level compared to any other hosting platform in terms of developer experience.
This is what they offer:
- Full integration with many frontend frameworks, especially Nextjs.
- Deploy from git
- Edge functions
- Domain management
- Preview deployments
- Analytics
- A generous free tier
Vercel are also the company behind Nextjs, my frontend framework of choice. To be honest, I'm not even sure if Nextjs can be classified strictly as a frontend framework, since it also offers integrated lambda functions (API routes) executed on the server side.
Using Nextjs in combination with Vercel hosting is absolute bliss.
Doing this, you have a well-structured frontend framework with SSG
, SSR
, CSR
and ISR
, file base routing and
api routes
. These are lambdas managed within Nextjs. You can read more about all of this in the
Nextjs Docs
Persistent Backends
Whenever the lambdas don't quite cut it, because I need persistent state, or some application running continuously such as a chat bot I deploy it on Railway.
This is an exceptional fallback to the integrated Nextjs/Vercel lambdas, easy to deploy and maintain. Here is what Railway offers:
- Persistent state
- Ready-made templates (e.g. Discord bots, self hosted analytics with Umami and more)
- A generous free tier
I have also tested Render, which is an excellent alternative. I ended up with Railway, as I prefer the developer experience.
Payment
As payment processor I can highly recommend Stripe as your goto. They offer well documented APIs, webhooks, no-code solutions like checkout, to take payments, and tons of other things.
However, depending on what you are building it can take a bit of setup. If you only have a single digital product like a course and don't want to spend time on implementation I can also recommend Gumroad.
Email automation
Often times you want to collect email addresses from potential customers and notify them with updates or info during their customer journey.
I have tried quite a few tools like Mailchimp, AWS SES (which stands for Simple Email Service, but that's clickbait - don't let it fool you) and more. I chose Sendinblue mainly because it's feature rich in terms of automation and offers a generous free tier (300 emails per day free).
Next to email marketing, Sendinblue also comes with:
- SMS marketing
- Live chat
- CRM
Analytics
When you launch your website and or webapp you probably want (and should) do some analysis of how your site is performing. I used to implement Google Analytics for this, but recently switched to Plausible.
Plausible analytics offers this:
- SUPER SIMPLE setup... it's literally a single script tag
- Only 1KB script to keep your page loading speed fast
- GDPR, CCPA and PECR compliant
- Optional custom events
- Simple dashboard
Added bonus: with Plausible you won't need a Cookie banner or GDPR consent.
Conclusion
Back in the day it was a lot harder to set up any kind of infrastructure.
Nowadays, companies like Vercel, Supabase, Railway and the like are eliminating all those pesky things I didn't like. We are literally a few clicks away from setting up a scalable databases and webapps, deploying full-blown web-applications directly from git and setting up persistent servers in seconds.
This is an absolute dream come true. We can concentrate on what we want to build, rather than spending years on all the maintenance and scaling around it.
It has never been easier to get going as a solo founder or hobby developer.
If you liked this article and know a friend who could benefit from it as well, please consider sharing it 🙏 If you want to get news and updates from me, subscribe to the newsletter below 👇 or follow me on Twitter.