In this guide, I want to share my perspective on how to build a SaaS application from scratch. It's going to be a mix between explaining a helpful approach and mindset and signposting to further resources which hopefully you'll find useful.
Map out the path ahead
First up, let's take stock. It's good to think about why you want to do this. Perhaps you're looking to get a little income from a side-project. Maybe you're joining or founding an early-stage startup with a few team members, and a small budget to match.
Maybe you just have an itch to scratch and don't really care about monetization. Don't spend long on this, but knowing what's driving you and how much you can invest in this idea will help in the next sections.
Riskiest assumptions first
As much as you'd like to start building, nobody wants to waste their time or money only to find it was all for nothing. You've probably thought a little about what your MVP might be (minimum viable product), and a lot has been written about that already.
I prefer an alternative concept, though it's also not an original idea of mine. Instead of MVP, RAT stands Riskiest Assumption Test.
Note down a few assumptions you have that you should test, and how you might be wrong. Here's a few examples if you're stuck. Without being too pessimistic, think about how you might be wrong in these assumptions and how you'll test them.
How do you know it's possible, and if it is possible, can you do it yourself? Do you need to partner up with someone with a different set of skills? Testing this assumption might mean building a proof of concept or testing some code. There is overlap with the MVP concept here, but it doesn't necessarily need to be a product yet.
You're solving a real problem people have
Do people care about what you're offering? No matter what you think of the idea, will people ultimately care enough to use it? This is where having an audience can help (more on that later). Ask for feedback on the idea, but be wary that friends may be polite. The real test might be whether people will part with their money for it. Can you take pre-orders? Can you offer it for free while developing?
There is a viable business model
If you don't want to make money from this, you'll probably still want to cover your hosting costs. But you're building a SaaS so I'm guessing you want to make some money. I'm going to ignore completely the funding option as a best attempt at avoiding adding to the list of companies with huge valuations and no business model.
While that option exists for some, I prefer to think a bit more sustainably and reasonably. Can you charge a recurring $2 a month for this? €50, £199? If you're thinking of going freemium, why will people upgrade? Can you support all the free users based on the number of paid ones? How will you test this?
Start building (the app and the audience)
With the basics of a plan in place, you'll need to split your time between testing these assumptions as you build out your idea and building an audience of hopefully interested, potential customers.
I would consider building an audience to be one of your assumption tests, a fairly high-up-the-risky-list one, too. This could be writing about your area of expertise and building a mailing list or twitter following, or it could be speaking to people in your network, gauging interest, or getting preorders.
I'm not claiming any huge success with this myself, but I know that without it, there's a preset limit to what can be achieved. It also takes a long time, so start as early as possible. Try and start conversations with people who've shown interest, make them your beta testers, see if they'll buy what you're selling. That's the ultimate test.
Selecting the best tools for the job
If you've made it this far then hopefully you're fairly sure you're on to a good idea worth keeping. You've got a proof-of-concept and ideally have started to build an audience of some sort.
Now you've got to flesh it out. There's lots to think about, and that's essentially the whole purpose of stackselect.tech, to help you find the tools and services you'll need in this process. Not all of these categories will be something you need, but have a think about each one.
A word of caution first. If you're a developer, you've probably got a good idea how to make a few of these tools yourself. If you can build a landing page, or build a login system, or CMS that's great. But always remember that it's a trade-off between your time and money. If authentication isn't your core product offering, then by building it yourself you might be wasting time, building a version of something you could buy, and delaying testing your own assumptions.
Seriously consider subscribing to a tool and if your product gets super-popular and that tool no longer fits your needs then replace it, or build one yourself, but you probably don't want to do that from the beginning.
Authorisation and authentication
Most SaaS applications will need to manage users, along with security features, welcome emails and such. Look for extras that might apply to your app like:
- Multi-factor authentication, or 2FA
- Passwordless login via magic links
You'll also need a way to collect money from people who sign up for your service. At least initially, look for options where you need to implement the least. All these options will take care of handling the payment, safely storing card details, invoicing and more.
When you start to market your product to your audience, you'll want a landing page that gives potential customers the confidence to subscribe.
Take a look at the full list of website builders if you can't (or don't want to) make one yourself.
If you're going to make one yourself, consider making a static site and hosting on these no-fuss platforms:
There's plenty more you might need. Take a look at the full list of tags to find what else you might need.
Do things that don't scale
Building SaaS applications, and making a success out of them, is hard. Many startups don't succeed, but don't be too disheartened. And that's why you want to minimise time spent not validating your idea or growing your business.
It's okay to do things that don't scale. Need to have certain features be a manual process? Automate that later. Launch to a few early adopters before you've got a billing system? Go for it, you can manually create invoices each month. Get that validation of paying users first and scale up later.
Finally, good luck! And if you've got your own advice, leave a friendly comment to help out others below.