DEV Community

Cover image for How to build your own SaaS business

How to build your own SaaS business

Kevin Naidoo on January 04, 2024

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 s...
Collapse
 
hseritt profile image
Harlin Seritt

Forgive my ignorance, but what do you think would be a good example of a SaaS as you mean it in this article? Thanks very much for the post, btw!

Collapse
 
kwnaidoo profile image
Kevin Naidoo • Edited

Thanks for your question. Not a problem at all. A SaaS - is any software product you offer on some kind of subscription.

You usually charge a recurring fee, either monthly or yearly or at some fixed period. There are some variations to this model; some products don't charge a fixed fee or will charge you a base fee, and then charge you for usage.

For example, you may subscribe to a monitoring service that notifies you of downtime. The service will charge you $20 for monitoring and allocate 20 SMSs for the month. If you exceed the 20 SMS limit, you then pay an add-on fee for extra SMSs (Expansion revenue).

An example of a regular SaaS app is Netflix, you pay a fixed monthly service fee and get access to their streaming platform.

Hope that makes things clearer.

Collapse
 
hseritt profile image
Harlin Seritt

Thanks very much for the response. Man, to build a Netflix type offering, you would have to invest in a lot of infrastructure.

Thread Thread
 
kwnaidoo profile image
Kevin Naidoo

Yeah, will be crazy expensive. Although - the bigger cost would probably be buying content rights. Streaming is just one example, there's plenty of room in smaller niche SaaS spaces like CRMs, email marketing, and so forth.

Collapse
 
olivia578 profile image
Olivia Anderson

Kevin, great article! Your step-by-step breakdown on building a SaaS business is clear and practical. The emphasis on user feedback and iteration is key—building something people want is at the heart of any successful venture. Keep sharing your insights!

Collapse
 
kwnaidoo profile image
Kevin Naidoo

Cool thanks for the feedback 🙏

Collapse
 
jaymgonzalez profile image
Jay M Gonzalez

Great informative article! I had tried to build a SaaS in the past but it didn't go anywhere.

I probably made most of the mistakes in the book - No audience, building most of it from scratch...

Thought I wasn't cut for it but maybe it was just the approach I took.

Collapse
 
kwnaidoo profile image
Kevin Naidoo • Edited

Thanks for sharing. Being an entrepreneur is always hard, there's almost no reward initially and lots of hard work and failures.

In programming - we write some code, we test it and we know it's going to work. As an entrepreneur - you can do all the right things and still fail.

I guess having a solid vision and persistence is the best way, and learning from mistakes as we go along.

All the best! - hopefully, you will keep going and will make a great success of it.

Collapse
 
prodbyola profile image
prodbyola

I've got lots of respect for you @kwnaidoo. Thank you for sharing your experience.

more than a decade of experience in building web products

That's a lot of years IMO! I would be happy to learn more about any of your products. Thank you.

Collapse
 
kwnaidoo profile image
Kevin Naidoo • Edited

Thank you so much for the kind words 🙏. I currently service the South African market but am expanding globally soon.

You can check out my open-source project:
plexscriptables.com/

There's a pro version launching later this year. My core area of expertise is DevOps tools.

Collapse
 
pavelee profile image
Paweł Ciosek

Thank you! 🙏

Collapse
 
rajaerobinson profile image
Rajae Robinson

Great recommendations!

Rob Walling and TK Kader are my favorites

Collapse
 
kwnaidoo profile image
Kevin Naidoo

Awesome thank you! Yeah, they have great content.

Collapse
 
vincanger profile image
vincanger

check out OpenSaaS.sh -- we just released a completely free, open-source SaaS boilerplate starter that's an alternative to paid ones like Shipfa.st and Supastarter

Collapse
 
kwnaidoo profile image
Kevin Naidoo

Interesting. Thanks for this - will definitely check out.

Collapse
 
aboubahaidara profile image
Haidara

Great content.
Thank you for your article!

Collapse
 
glennm profile image
Glenn Mullett

Thanks @kwnaidoo for the great article! Very informative. We are embarking on a project to saasify our current offering that is django & vue-based. Do you perhaps provide consultancy services, whereby we can soundboard ideas and get some input on structuring the control layer?

Collapse
 
kwnaidoo profile image
Kevin Naidoo • Edited

Thanks, much appreciated. I unfortunately just don't have the time these days to do consulting.

I am not sure exactly what your structure is, however, usually, SaaS involves tenancy - which can be a pain to implement on an existing codebase.

One trick with Django is to extend the default Manager (It's been a while since I implemented this - so this code may not work 100% - but you get the idea):


class TenantManager(Manager):
        def get_queryset(self):
            query = super().get_queryset()
            query = query.filter(tenant_id=SomeHelperClass().getTenantId()) 
            return qs

class MyModel(Model):
    ....
    objects = TenantManager()
Enter fullscreen mode Exit fullscreen mode

This way, you don't have to change code throughout your app. You then use a subdomain or the logged-in user to determine the tenant ID.

There's also the approach of splitting your tenants out into multiple DBs, and then swap the DB at runtime. This is less efficient. You could look at using: django-tenants.readthedocs.io/

Not sure if this helps.

Collapse
 
glennm profile image
Glenn Mullett

Thanks @kwnaidoo. I like the idea of using a Manager class to also apply some standard tenant-related filtering. We currently have a basemanager which we can extend a bit.

Currently, we would like to engage with some people/companies working in the Django/SaaS space, regarding minimizing frictions in our the user on-boarding experience and hooking up metering, metrics and billing. Do you perhaps know of anyone with such expertise who could assist in this space?

Thread Thread
 
kwnaidoo profile image
Kevin Naidoo

Off the top of my head, I do know a few Django devs - I'll have to speak to them and check if they are available (Will get back to you on that one).

Perhaps: twitter.com/czue, I don't know him personally but he's the guy behind Django SaaS Pegasus.

Thread Thread
 
kwnaidoo profile image
Kevin Naidoo

@glennm - here is another Django dev you can reach out to: linkedin.com/in/brian-m-a6a45645/

Hope this helps.

Collapse
 
catherinewee profile image
Catherine William

Hello there! What an insightful post on building a SAAS business! 👏 The step-by-step guide you've provided is incredibly user-friendly and has certainly demystified the process for someone like me who's been considering venturing into the world of software as a service.

I appreciate how you've broken down the complexities into manageable tasks, making it feel like anyone with a passion and dedication can take the plunge. Your emphasis on market research is spot on – understanding the needs and pain points of potential users is the foundation of any successful business.

The tips on creating a solid MVP and constantly iterating based on user feedback resonate well with the iterative nature of software development. It's a reminder that perfection isn't the goal at the beginning; it's about delivering value and refining over time.

I also found the advice on building a supportive community and fostering customer relationships particularly insightful. In today's digital age, the human touch in customer service can make a significant difference.

Lastly, I appreciate your commitment to ethical business practices. It's refreshing to see a focus on transparency and data security as integral components of a SAAS business.

Great job on this comprehensive guide! It's a valuable resource for anyone looking to embark on the SAAS journey. Thank you for sharing your knowledge!

On a related note, I've come across Impressico Business Solution in the past – they seem to be making waves in the industry. It would be interesting to hear your thoughts on how services like theirs align with the principles you've outlined in this post. Looking forward to more great content from you! 🚀

Collapse
 
kwnaidoo profile image
Kevin Naidoo

Thanks for the detailed feedback! I am glad that this is useful. I had a quick glance at "Impressico Business Solution". Honestly, this is the first time I have heard of "Impressico..." - judging by the website and brands like "IBM", looks very promising as a consultancy firm.

Collapse
 
zlresearch profile image
zhaoxiansheng

that's a good idea

Collapse
 
mykezero profile image
Mykezero

What do you do if there are already competitors in your market? Almost feels like everything has already been built and people are potentially doing it better. I get that feeling with almost everything I'd like to build, guess not really a SaaS question, but a more general one.

Collapse
 
kwnaidoo profile image
Kevin Naidoo • Edited

Competition is usually good - it means there's a market out there. You just need to find ways to stand out from the rest. I am not an expert on this subject, but I'll give you some general ideas that may help:

  1. Offer more value. E.g. Look at what most of your competitors are charging for vs the feature set. Then, simply add a few extra features for free or included in your package.

  2. Build a presence on YouTube, Medium, or whatever platform you prefer. When you have an audience - you stand out, people want and like that human touch vs some random salesperson. This is not scalable in the long term, but in the beginning is essential.

  3. Cold emailing - personally reach out to potential customers you find on Linkedin. Don't send bulk spam, personalize the messaging for whoever is on the other end. You might need to do hundreds of these but slowly and surely some will convert if your messaging is good.

  4. Study SEO keywords. Find keywords that have low competition and build content pages around those.

  5. Study forums and QA sites like Reddit and Quora. This will help you find gaps in the market, and then target your offering to fill those gaps.

Collapse
 
mykezero profile image
Mykezero

That makes a lot of sense. Maybe I shouldn't shy away from these opportunities, but find my own way to sweeten the offering. Thanks for the response! ^^

Collapse
 
rajaerobinson profile image
Rajae Robinson

Do you know of any good payment processor alternatives to Stripe (it's not available in my country)?

Collapse
 
kwnaidoo profile image
Kevin Naidoo

Yes, lemonsqueezy.com and paddle.com/. For Africa you can try: paystack.com/

Collapse
 
rajaerobinson profile image
Rajae Robinson

Thank you!

Collapse
 
proteusiq profile image
Prayson Wilfred Daniel

Could you share one or two of your SAAS web products? I am thinking of starting a plugin 🫣 but will like to know how much it is going to require of me.

BTW: thank you for the learnings

Collapse
 
kwnaidoo profile image
Kevin Naidoo

Thanks, I provide managed services to private clients - so it's not open for plugin development. I however have released Scriptables (plexscriptables.com/) recently as an open-source MIT license - you are welcome to fork the code and build your product around it.

Collapse
 
proteusiq profile image
Prayson Wilfred Daniel • Edited

Oh no! Plugin is for my own AI powered SaaS 😹. Thank you for sharing

Thread Thread
 
kwnaidoo profile image
Kevin Naidoo

Oh aha, I see 🙂 , cool best of luck with that!

Collapse
 
zlresearch profile image
zhaoxiansheng

I don't think Django is the best choice,using springboot can greatly improve stability of website

Collapse
 
kwnaidoo profile image
Kevin Naidoo • Edited

Thanks for your feedback. This is an opinionated piece from my experience. You most certainly can use whatever framework or tool you like and get the same result. This is why I say Django:

  1. Python is one of the easier languages to learn. Remember not all SAAS founders are professional programmers, some know enough to build an MVP and can hire developers later on.

  2. Django has been around since the early 2000s, it's battle-tested and several companies have been using it for decades including large websites like Instagram.

  3. Django SAAS Pegasus is one of the best SAAS boilerplates I have ever seen. Early on with a SAAS, you don't know if it's going to succeed or not. You need to get to the market fast - so that you can get real people to use the product and give you feedback to build a better product that the market wants.

  4. Django has a clean architecture with the MVT pattern, including separating your code into projects and apps.

Collapse
 
gq23401 profile image
Gbenga

Thanks you for this feedback.

Collapse
 
sambenskin profile image
Sam Benskin

Can you share what the ideal customer plan looks like? You say to make one but not how or give an example.

Collapse
 
kwnaidoo profile image
Kevin Naidoo • Edited

Thanks for the question. Unfortunately, building an ICP is an entire article on its own so it was not possible to cram everything into this one article. Furthermore, I am not an expert on this matter - please consider looking at some of the content from the experts listed in this article (e.g. youtube.com/@TKKader). To give you a starting point:

  1. Figure out what is your broad market. E.g. if you are building a CRM, which group of people is this best suited for plumbers, lawyers, doctors, etc...

  2. Once you have a group of people in mind. Now break this group of people down even further until you get to the smallest possible group of people. For example, if you chose doctors - which type of doctors: GPs, Dentists, etc...

  3. Now write down attributes that your perfect customer should have. Example: earn $200k a year, male/female if gender is relevant, location if relevant, and so on. Write down as many attributes as you can.

  4. Now look at the group of people from point 2 and draw up some profile avatars. Keep these somewhere visible so that you can refer back often.

  5. Design some messaging that is specifically targeted towards this group of people.

  6. Find out where these people are, and find a sample size either via social media or paid adverts (but don't go overboard here) or whatever channel you prefer. Thereafter, introduce them to your product and get some feedback. You may need to rinse and repeat points 3,4,5,6 as you go along.

Collapse
 
adlinke profile image
Adlinke

I need to know how can use google background back up code

Collapse
 
adlinke profile image
Adlinke

Hi yes can you help me please! How can I build that?

Collapse
 
mainarthur profile image
Arthur Kh

Hey @kwnaidoo! Thank you for your article! Do you have your own running SaaS business?

Collapse
 
kwnaidoo profile image
Kevin Naidoo

Hi Arthur, thanks for your question. Yes, I provide managed infrastructure services for South African clients.

I have recently open-sourced some of the code from my managed services. You can view more details here: plexscriptables.com/.

I am also working on expanding globally to the US market.

Collapse
 
mahmoudessam profile image
Mahmoud EL-kariouny

Thanks very much for the post 😎🤗😇

Collapse
 
maya_walk profile image
Maya Walker

Working in IT, have a related business like a YouTube channel? channel theme "Food"