How to build your own SaaS business

How to build your own SaaS business

I know from personal experience how difficult it is to start a SaaS (Software as a service) business, especially if you are a solo founder who is self-funded.

In this article, I am going to go through some of my learnings on how to build a SaaS business.

I am no expert by any means in SaaS businesses but I have more than a decade of experience in building web products to draw on, so hopefully this will help you avoid some of the mistakes I have made and help you flourish as a new tech founder.

B2B vs B2C: Which is better?

If you are still in the early phase of your SaaS journey, you may be wondering which type of customer base is best for you. There are 2 main types of customers:

  • B2B: These are business customers essentially.

  • B2C: The general public.

Most SaaS businesses go the B2B route because the general public usually doesn't like subscription services, they are accustomed to free stuff like YouTube, Facebook, Google, Gmail, etc...

Businesses on the other hand have bigger budgets and are more than happy to pay $30 or some sub if they are getting good value out of your product.

Thus, the CHURN (percentage of cancellations) is much lower in B2B compared to B2C.

B2C is a good model if you plan on offering a free service (freemium) and then using the volume to generate revenue from adverts. In addition, you can convert a percentage of that market to paying subscribers.

For example, a premium service upgrade will not show adverts, or you get more storage space or premium support, etc...

The danger of a freemium model is resource allocation and monthly recurring costs.

If your service is easy to maintain, for example, your running costs are $200 for up to 5000 customers and you are profitable with just 50-100 customers or advertising revenue, then this model can work well. Assuming that you don't have a high CHURN rate of course for the subscription model.

Usually, a B2B product with a trial seems to be the best model for most types of SaaS. With a trial, you only have to sustain the maintenance costs for a short period, and if your product is priced correctly, this cost will be easily absorbed by revenue from other customers.

Finally, with B2B, you probably can charge way more as well compared to a B2C product.

Build an audience

Before you even start writing a line of code, you should take some time to sit down and draw up an ICP i.e. an "Ideal Customer Profile" and a general business plan.

Build an audience

Most startups fail - this is the harsh reality of being an entrepreneur; which is why it's so important to first have a solid plan in place before actually building a product.

Once you have an ideal customer profile in mind (doesn't have to be perfect), you then can figure out how big your audience is and how to reach them.

To determine how big your audience is, you can:

  1. Research your competitors. See how many customers they service and what their estimated revenue is. There are plenty of tools for this. e.g.: Similar web.

  2. Look through forums and places such as Quora to see what customers are saying about your competitor's products. This will give you an insight into their pain points and will give you an idea of what key areas to focus on to build a better product.

  3. Do keyword research using tools such as wordstream. You can find search volumes and other metrics to help you understand how big your audience is and what keywords to target.

Now that you have done some solid research, it's time to decide if there is sufficient market demand for the product you intend to build.

The best way to approach this is to find out where your customers hang out and build some kind of presence on that platform.

It's important to zone in on one or two platforms that you are comfortable with, be it YouTube, Quora, or Facebook - doesn't matter so much early on.

The goal is to pick a platform and stick with it. You need to be engaged for the long term. Don't just be involved in that community for the sake of advertising - you need to add value. Doing so will help you earn the respect and attention of the community you are targeting.

Once you achieve some sort of following, you can then start conversations with your audience and figure out if they would be interested in your product.

You should build a landing page or some sort of mailing list to capture leads at this stage.

💡If you want to ship your product to market fast and save hours or days of dev work, check out these paid and open-source: starter kits.

Django is great for SaaS

Django for SaaS

When building a tech product, as a developer myself, it's often very tempting to want to build everything out from scratch or use a shiny new framework.

This is a waste of time. The first iteration of your product should be a quick MVP. You should focus on shipping to the market as soon as possible (don't compromise on quality though).

Django is a solid choice for building SaaS products. Straight out of the box, it comes with a ton of features to help you build an MVP fast.

Furthermore, in addition to using a solid framework like Django, you should consider using a paid or open-source boilerplate, so that you can focus on your core products' business logic; instead of boring "plumbing" work such as building: auth, email workflows, subscriptions workflow and so forth.

SaaS Pegasus is a great clean and easy-to-use SaaS boilerplate that will speed up your dev cycle. It has a ton of features that nearly every SaaS business needs, saving you hours if not weeks of development time. [paid promo]

You can also check out an earlier article I wrote which goes more in-depth on why I think Django is the best choice for web backends here.

If you are not a Django developer or prefer some other platform, I did do an article on other options in this space, you can check that article out here.

Content marketing and keyword research

For new founders, you probably don't have a big enough audience yet and Google CPC advertising costs are always rising due to high competition. So how does one get noticed?

One of the most effective methods of getting consistent regular traffic is to blog, as a blogger myself, I know how difficult blogging can be, you could spend months or even years writing content but get very little traffic, and almost no conversions.

Writing effective search-friendly content is hard, and SEO gurus will sell you all kinds of techniques that may or may not work. End of the day, it's all about writing good quality content that has sufficient user interest.

Thus, before even writing an article, you should study market trends and look for low-competition keywords. You see, regardless of what the "gurus" tell you, Google ranks content based on 4 major factors:

  • Domain authority: How many other websites are pointing to your content, if you have a large percentage of "trustable" websites pointing to you, Google will naturally rank you higher.

  • Topic authority: Depending on the niche, you need to have several articles about a particular topic that go into great detail. Having just random topics all the time is not going to work well for you. Furthermore, good internal linking between articles will also help increase your topic authority even more. Furthermore, Having a LinkedIn profile link, social profile links, your photo, and a bio on your website will also help.

  • End the search journey: Your goal is to provide comprehensive quality content that will keep the user engaged for several minutes, and prevent them from hitting the back button to go back and pick another site from the search results.

  • Core web vitals: Google may still rank you high if the above 3 are of Good quality, however, having a well-optimized website that loads fast enough and follows best practices like compressing images and not spamming pages with 101 adverts, will help boost your ranking as well.

All the other stuff, about alt tags, meta tags, and so on are still important and useful but ultimately the above 4 items are key factors to getting you ranked higher on Google.

I am not affiliated with any of the below tools, but have personally tested them to help me rank my own content, thus giving you an idea from my own personal experience.

Domain authority takes time and is not easy to achieve in the short term, however, with low to medium-competition keywords you can still rank higher on Google by just doing the other 3 items mentioned above really well.

So instead of trying to compete directly with high domain authority sites for popular keywords, look for less competitive keywords that have a lower average domain authority score and build your content around these. This includes long tail keywords/phrases e.g. "Best website hosting" might be too competitive but "Best website hosting for Ruby on Rails" might be less competitive and easier to rank for.

To better understand your niche and how to find keywords with low competition but with a decent amount of traffic, I suggest using one of these keyword tools. You should look at "CPC", "Domain Authority" and "SEO difficulty" collectively to determine which topics to base your articles on:

  • Wordstream: https://www.wordstream.com/ Free but rather limited, not 100% sure how accurate it is, but essentially most tools are not 100% accurate anyway.

  • Ahrefs: https://ahrefs.com/ Probably the best tool on the market since most marketers I know prefer Ahrefs.

  • Semrush: https://www.semrush.com/ I prefer Semrush because it has a much cleaner interface than other tools, but has similar quality compared to Ahrefs.

  • Ubersuggest: https://app.neilpatel.com/ I don't like the interface, but in terms of pricing, they are the best-priced tool. Also, Neil Patel is behind this tool. If you don't know who he is - he's one of the most successful marketers around. I would check him out on YouTube and other platforms too.

Cold outreach

While an old marketing technique, this is still quite effective today. You can simply just scrape Google Maps, Linkedin, Reddit, and any other platform where your potential customers are and just reach out to them one by one.

Do not mass mail customers, it rarely works, even though it's not scalable I strongly suggest at least for your first hundred customers, sending a highly personalized mail.

Your mail should not try to sell them something, rather try to build a relationship and pique their interest first, giving them something for free (like an ebook) and then gradually educating them about your offerings.

Free tier

Always have some kind of free tier. This allows for a low barrier to entry. Unless you have a product that's mind-blowing and a no-brainer, it's hard to convert customers the first time they land on your landing page.

It's far easier to just onboard them on a free tier version and then gradually educate them via email on why they should buy your product.

There are multiple ways to do this. I often find having an open-source version or offering a free trial works best.

If the market is relatively large, you could also consider an always-free version of your product that has some limitations on usage.

Be careful of the "freemium" model though. You want to make sure that your pricing allows for sufficient padding so that you can cover the cost of the free tier clients. Usually, it's just better to offer a trial.

Expansion revenue

You are going to eventually plateau and onboarding new customers will become more and more difficult.

Expansion revenue gives you that extra revenue potential to upsell to existing clients, as it's far easier to convince an existing client to spend more than onboarding a completely new client.

Expansion Revenue

What is expansion revenue?

Expansion revenue is simply an additional service such as an add-on that customers can bolt onto their existing subscription.

This usually entails adding extra user seats, purchasing SMS/Email credits, or in the example of a CRM, customers can pay for an extra "HR" module.

Lifetime deal

Subscription fatigue can become a real problem, however, offering a Lifetime deal is not necessarily a good solution.

A lifetime deal is essentially offering the customer to pay once for your product, and then have access "forever" without ever paying again.

This sounds great for customers, but from a business point of view, this is very dangerous if your product has monthly running costs per tenant.

A lifetime deal can work well for products like Desktop apps, Chrome extensions, or products that don't incur high recurring costs.

What are products that don't incur high recurring costs?

Let's think about a product that does incur monthly costs first: If you are running a B2B business that is a CRM, the system stores documents, sends emails and has a ton of other automation. You are therefore paying for each tenant and their costs could potentially rise over time, since they may use more disk space and automation services.

Thus the cost will grow for each new tenant you onboard and potentially increase for each existing tenant as their usage grows.

An online course, on the other hand, does not incur costs for each tenant. You just need hosting infrastructure and a good caching layer. You can probably host thousands of students on one VPS server, thus if you sell 5 courses a year this will cover your hosting costs for the entire year.

In this case, it's perfectly okay to sell a lifetime deal, and then build in some upgrade path.

With an upgrade path, you can convince the customer to convert to a subscription at some point in the future or buy more courses. This makes a Lifetime deal offer a great option and highly profitable too.

Here are some alternatives to Lifetime Deals:

  • Prepaid: Customers pay only for usage. Therefore those who use more will subsidize the cost of those who use fewer resources.

  • Yearly subscription: Offer a discount if the customer pays yearly.

  • Licensed deal: A customer pays for a license similar to Lifetime Deals, however, the license has an expiry e.g. 2 years or 5 years.

List your product everywhere

Content is king as you will know. Early on with a limited budget - it's difficult to drive traffic to your landing page or website.

Here are some free websites you can list your product on:

  1. producthunt.com

  2. alternativeto

  3. Killer Startups

  4. Beta List

  5. Reddit - be careful here, Reddit users hate advertising.

  6. Quora

  7. AppSumo

  8. Pitchwall

  9. Pinterest

  10. Betabound

  11. StartupBase

  12. Indie Hackers

  13. Designer News

  14. SaasSHub

  15. Launching Next

Learn from the best founders

When you learn how to program, especially if you are like me and mostly self-taught, the best way to learn is to seek out experts in whatever language you are learning and follow them, buy their courses, etc...

In a similar vein, there are a ton of successful founders out there. If you want to become better and learn the best practices, then seeking out and learning from these founders is a great way to grow as a founder.

Here's my list of expert founders (in no particular order), I often follow:

  • TK Kader. TK has started up many companies and is a coaching specialist for SaaS founders. I find his 3 step breakdown of concepts quite refreshing and easy to follow.

  • Neil Patel. Neil is an expert marketer and usually covers some great tips on how to build content around your brand.

  • Simon Hoiberg. Simon has a very cool and fun way of explaining advanced business concepts to developers.

  • Rob Walling. Rob's YouTube channel does an excellent job of explaining all the core concepts you need to learn as a founder. He's also written several books on the subject and is involved in funding many new startups.

  • Adam Enfroy. Adam is one of the most successful creators around, not only does he run a highly profitable blog, but also runs a very successful YouTube channel that teaches you all about SEO and how to rank well on Google.

Do things that don't scale!

Earlier on, you probably don't want to spend too much on paid advertising because you are still figuring out your product market fit and messaging. Advertising via Google, Facebook, or other channels might become costly and yield very little results.

Instead, test your messaging by engaging with users on platforms such as Reddit, Hacker News, Product Hunt, Facebook, and so forth.

Not only will this help you to land that initial batch of 50-100 clients, but will also help to identify potential issues in your messaging, thus enabling you to improve upon your product and messaging.

Depending on the community, just be careful of "keyboard warriors". Some users (especially on Reddit) tend to be highly negative and will purposely try to shoot down your product because they hate advertising.

Therefore, aggregate your feedback from multiple sources and then look for common trends, and adjust your messaging or product accordingly.

Breath!

It is hard being a SaaS founder, especially when you work on a product for weeks, months, or even years and then go to market, and see little to no growth.

This can be mentally demotivating and exhausting, not to mention the constant anxiety of checking conversions and analytics.

Perhaps, you just need to be patient and set reasonable goals, then set up a checklist and incrementally each day do something constructive towards achieving that goal.

At the same time, just take a minute to appreciate how far you have come, as a founder, it's easy to fall into the trap of "obsession" where you spend too much time focusing on numbers and conversions and doubting yourself.

Sometimes, you just need to step away and take a breather, to gather your thoughts, and energy and re-focus.

You may need to pivot or give up on an idea entirely but don't be discouraged, keep going, re-evaluate what worked and what didn't, and adjust accordingly until you find that winning strategy.

Tech funding

Did you know that Microsoft funds small businesses? Getting this funding is easy if you have a solid product idea. You don't even need to build the product, they'll fund you even if you are still in the idea phase.

When I say funding, I am referring mostly to Azure, OpenAI, and other Microsoft licensing. It's not a direct momentary investment, and you do not have to give up a percentage of your company to Microsoft either.

The funding is essentially free access to Azure hosting services, free licenses for GitHub business accounts, access to industry experts to help guide you along, and much more.

You can learn more here: https://foundershub.startups.microsoft.com

Depending on your profile, you could potentially get up to $150,000 in credit to use in Azure and $2500 to use with OpenAI.

Accepting payments

There are various options for a SaaS founder to accept monthly recurring payments, one of the most common that you probably already know of is Stripe, however, if you plan to accept payments globally and not just in the US, I suggest looking at one of the following:

  • Paddle: Goes beyond just enabling subscriptions, they also take care of managing taxation and accounting so that you can safely handle payments in multiple different countries without much effort.

  • Lemon Squeezy: Another great provider, very similar to Paddle in that they will handle taxation and related accounting. They also include a mailing list feature, so you can manage email subscriptions and payments from one dashboard.

  • PayStack: The African version of Stripe basically.

If you are looking to use an off-the-shelf SaaS starter kit, Stripe is probably the best option for you. Apart from Laravel's Spark, most other SaaS starter kits seem to use Stripe, thus Paddle and Lemon Squeezy support in that regard is very limited.

Conclusion

Building a SaaS business is hard and many fail at first, including myself. Failure is okay, it makes you tougher and teaches you important lessons that will help you grow in the long run.

My goal with this article is to share some of the fundamental learnings from my journey to help you as a developer grow into this new space.

Happy building! And all the best for your next best idea.