Many people ask me about the tech stack that I use for building my SaaS products. It’s actually the most frequently asked question I receive.
That’s why I want to show you the tools & services that help me build SaaS products quickly.
Disclaimer: Use the tools that will help you ship faster, not those that sound “sexy”.
Frontend
I’m a huge ambassador of React.js. Right now, It’s the most robust frontend framework with the richest ecosystem of libraries and developers.
Not only makes your job as a developer easier but also allows you to hire easier if you even need to.
For the past few years, I’m sticking with Next.js for all my web apps because of their focus on DX (developer experience), performance, and SEO.
The Chakra UI library is my go-to solution for styling. It’s out-of-the-box accessible and offers a rich collection of pre-made components. Another big advantage is the ability to customize components very easily.
Backend
For my backend server, I’m using Express.js.
Writing the same language for both my frontend & backend code was a huge requirement for picking the framework. It’s actually pretty powerful and simple at the same time!
For saving data, I use Mongoose, a MongoDB ODM, which makes your life easier with built-in structure and methods to insert and update data.
Google Cloud
I hate AWS! Mostly because of their awful UX and their expertise in complicating even the simplest things.
That’s why I’m using the Google Cloud Platform for media storage & serverless functions.
It’s a bit more pricy but you won’t notice the difference unless you scale to a multi-million amount of users. But most probably you won’t.
Deployment
Vercel is my favorite frontend deployment platform! Their intuitive UI and build speed is impressive.
For my Express.js server, Heroku is my go-to solution. The ability to deploy a server in 3-5 clicks is insane. And for most cases, the hobby plan at $7/month dyno will be enough.
About the MongoDB database, I use the MongoDB Atlas platform which makes the whole process seamless, is cheap, and has a fantastic UI. It allows you to check on your collection easily and even create charts based on your data.
Other Services
I love building in-house solutions but there’re a few things that I’ll never touch, eg. payments, emails, etc. For these needs, I prefer to use paid established products instead.
The most common services that I use:
Stripe for handling recurring and one-time payments on my SaaS products.
Gumroad for non-recurring products (like books, courses, etc). Mostly to avoid the EU accounting friction.
Sendgrid for sending transactional emails and one-off campaigns
Customer.io for event-based emails and drip campaigns.*
BrandBird for all my image assets, from landing page assets, newsletter posts, blog posts images, and social media posts.
Screenshots.so for website screenshots via an API. I’ve actually built it because I noticed that there’s not an all-around & customizable solution for API screenshots.
* Currently, I’m on their Bootstrappers Program which allows 1-year of free access. So far I’m over satisfied with the product and believe that it is worth its pricy monthly plan!
A few things to consider before choosing
We normally pick a tech stack during the MVP phase and stick with it throughout the product’s life cycle. Then, it’s a long-term commitment.
That’s why you need to consider a few things before choosing a specific technology.
Of course, you need to be comfortable with the technologies to build quickly. Picking an outdated tech is okay but you need to know the drawbacks.
First of all, an outdated technology might add more workload on you in the long run since you’ll have to face all the issues on your own (there is no community to help you).
Also, it can get difficult if you ever need to hire an external contractor or team member. Since the pool of available professionals is smaller.
Plus, a very important thing is your evaluation. In a potential acquisition, a buyer might see issues with an outdated technology because they won’t be able to develop it further.
This applies to the external services you’re using, especially those that can’t be migrated easily. For example, a SaaS that uses Gumroad instead of Stripe might be a less tempting deal for a buyer.
These are a few things to consider before choosing your tech stack. Of course, choosing unsexy technologies is totally fine and I actually recommend it when it guarantees that you’ll ship fast and with confidence.