The Epic Guide to Bootstrapping a SaaS Startup from Scratch — By Yourself (Part 1)
No co-founders. No funding. No connections. No customers. No — you’re not nuts.
But First, a Digression…
Are you like me and completely sick of all the patronizing startup advice out there? You know, the kind that goes like this:
“Just collect emails! I make $50K MRR and only launched to 100,000 email signups!”
“Just build an audience! I sold $2M of info products to mine!”
“Just do integration marketing! I get 250K signups a week from my Mechanical Turk integration!”
“Just make your product epic! We’ve never spent a dime on advertising and never did any marketing!”
Let me give you permission to join me in calling bullshit. It just doesn’t work that way. And anyone that would lead you to believe otherwise is only trying to make themselves seem smarter and more clever than you — so that you’ll keep listening to them for their next nugget of advice.
The stone cold truth of the matter is that most of the people pandering this advice are only doing so to build up their “guru” status.
When they claim they got 100,000 email signups in a week (and make it look as easy as microwaving popcorn) — they’re playing you. They’re creating an idealized result that you will never attain. At the same time, they’re implying that you should be able to get similar results — but only if you know what they know. They do this so that look up to them. They do this so that you talk about them (getting you to help them grow their audience). They do this so that you’ll feel like you’re somehow less than they are. And they do this to make you feel like you can only be successful with their continued “help” (or exclusive online webinar with limited seats starting at $1,000 where they spill all their “secrets”).
I promise I’m not going to do any of that to you.
What follows is straightforward, battle tested, and pragmatic advice to help you get your SaaS startup off the ground all by your lonesome — just like I did when bootstrapping Tamboo (a service that lets you record and watch what people do on your website), as well as a handful of other SaaS apps.
Some of it may seem simple. Don’t be fooled. There is complexity in simple things. The more you experience it, the more you’ll see what I mean by that.
Let’s get to it.
A Quick Update
Since its original publication, The Epic Guide has become an *insanely* popular resource for bootstrapped startups — on the verge of becoming a “cult classic”!
I’ve had an insane number of people asking me for even more down and to the point advice for building their startups — so much so that it’s inspired me to give The Epic Guide the full-length book treatment.
If you’re interested in learning more about the book or if you’re itching to pick up a copy, head on over to this page I’ve set up for The Epic Guide to Bootstrapping a Startup By Yourself: The Book!
Now back to our regularly scheduled programming:
If You Love Writing Code, You’re Going to Hate Running a SaaS Business
Since most people wanting to start a SaaS business are developers, we need to get this out of the way — and fast.
Building and running a SaaS business has nothing to do with your ability to write code.
Too many developers have the following thought process:
Wow, I’m pretty good at writing code, and I get paid pretty well doing that for this company. I should totally use my skills for myself instead of these jokers and build an app that I can sell over and over again to everyone. Just like that one guy I read about who made a gazillion dollars from his side project! His app’s UI looked like something from 2005 — I’m waaaayyyyy better than that loser. When people see how awesome the apps I build are, they’ll be throwing money my way! I’ll get to spend all of my time writing code that I could finally be proud of. I’ll get to code things the right way — not the jank ass way these ass clowns do things. I’ll have a build server for continuous integration and have automated unit tests for everything and I’ll use that cool new framework I just saw the other day on HackerNews and …
Yeah, that would be great. Except it doesn’t work that way. Unless you relish doing failed startup postmortems.
This might be going a little too far, but at the same time it’s probably not going far enough: Code is the least important thing about a SaaS business.
In fact, most startup codebases are dismal abysses of darkness, pain, and the cause for much wailing and gnashing of teeth. They are the furthest thing from the pristine green fields you imagine them to be.
The reason for this is simple: A business’s software serves one purpose and one purpose only: To make the business money.
You want comprehensive unit tests for your entire codebase? How does that make the business money?
You want to use DI and IoC? How does that make the business money?
You want to use that shiny new framework? How does that make the business money?
Contrast that with the following:
This customer is requesting this feature. How fast can we build that so we can get them to buy?
We think making this change will get more signups. How fast can we make that happen?
This thing is completely broken right now and we have customers cancelling! How fast can we get a fix in?
If you try to build your SaaS app like you build enterprise software, you will most likely fail. Not because your software isn’t good enough (in fact, I’ll bet you it would be downright awesome). But because you took too long working on things that don’t contribute to the business making money. And so you just simply run out of time and/or money. Game over.
Now don’t misread me here. We’re talking about code, not your product. Your product still has to be good. It still needs to be solid. It still needs to do what your customers expect it to do. Customers care about your product. You’re the only one who cares about your code.
The other thing you need to be aware of is that you’re going to spend very little time actually writing code running a SaaS business.
There’s times that I don’t write a line of code for months on end.
Instead of coding, the vast majority of your time is going to be spent marketing, selling, optimizing funnels, and providing support. Those are the things that get (and keep) customers. Those are the things that you do when you run a business. Not writing code.
Getting Your Idea Off The Ground
Now that we’ve gotten all of that out of the way, let’s get to the good stuff: How to actually build a SaaS business from nothing.
First off, you should know that your idea probably sucks.
Dude, what’s with all of this negativity? Oh yeah, I forgot to tell you that I don’t kid glove when it comes to this stuff. If you want to feel good about yourself, go listen to one of the startup gurus out there that will be more than happy to spoon feed you some entreporn. We’re busy building a business here.
Now, back to your idea.
The reason your idea probably sucks is because it’s your idea.
Meaning: Your idea is only worth something if other people care about it. It doesn’t matter what you think. Chances are you’re not Elon Musk (hello if you are!). We’re building a business, not our ego.
So really, your SaaS business idea is just a guess.
You’re guessing that this is something that people are interested in. You’re guessing that this is something people would want to use. You’re guessing that this is something that people will give you money for. You’re guessing that this is something that can scale into an actual business that can replace your income.
So Elon — going forward, we’re not going to refer to your precious game-changing idea as “your idea” anymore. We’re going to refer to it as “your guess”.
This will help you disassociate your emotions from the process. And believe me, you’re going to need to do just that.
Finding the Right Words
If you’ve heard about value propositions, USPs, elevator pitches, etc. and think you can just skip this section — you’re doing so at your own peril. Getting your messaging right is perhaps one of the most important things you need to nail. Pretty much everything down stream depends on this. And don’t think you’ll just do this once and be done. You’ll probably get it wrong the first few times. Plus you’ll need to continually come back to this as you try to grow your market.
Now that we have our hunch or guess (not idea!), we need to answer three important questions:
- What do I think people want to do?
- Why would they want to do that?
- Why would they pay money for that?
We need to do this for two reasons.
First, we need to sanity check our guess to make sure that it’s actually valuable to people and that we’re thinking in terms of what it enables people to do. Your guess shouldn’t be about software. Your guess should be about the types of superpowers or beneficial outcomes people will get as a result of using your service.
Second, we need a way to quickly explain our guess to people to see how they react to it.
It’s simple (but infuriatingly difficult).
Let’s play fill in the blank:
I believe that people want to <ability> so that they can <outcome>, and they would pay good money for that because <value>.
I believe that people want to send automated drip email campaigns to their email list signups so that they can automatically nurture leads and convert them into paying customers, and they would pay good money for that because trying to convert leads by manually sending emails or by using something like MailChimp is hard and takes forever.
Perfect. This becomes our business hypothesis.
Now we need to rearrange the jigsaw pieces a little bit for when we put the message in front of people. One more time:
If you <value>, you can <ability> with <Your Business Name> so that you can <outcome>.
If you have been trying to convert leads by manually sending emails or by using something like MailChimp and think it’s hard and takes forever, you can send automated drip email campaigns to your email list signups with MailZoo so that you can automatically nurture leads and convert them into paying customers.
Now — are your messages compelling?
You did do this, right?
Need more prodding? When I first started out building online businesses, I didn’t do this exercise and would just jump in and start coding. Most of those projects would wind up failing miserably. When I started doing this exercise (and got it right), my projects stopped failing.
Now. Are your business hypothesis and customer-facing message believable? Do you really think people would give you good money for the ability you’re giving them? Is the outcome you came up with plausible and something that people actually want to achieve? If not, go back to the drawing board until it sings. This can take minutes, hours, days, weeks, or even months to get right. And if you can never get it right, chances are your guess was wrong and you’ll need to come up with a new one.
There are no sacred cows when it comes to building a business. I don’t care how much you love your “idea”. If it doesn’t scream “buy me!” when you put it into this format, slaughter it and start over with something new.
Let’s Make Some Friends
Now, let’s take the underlying reason that people would pay money for our service from the exercise above. Just for reference, our example is that people would be willing to pay good money for our solution because converting leads by manually sending emails or by using something like MailChimp is hard and takes forever.
Our job now is to find people that meet this criteria. In our example, we’re looking for people that have been trying to convert leads by manually sending emails or by using something like MailChimp and think it’s hard and takes forever. (See why I told you that was important?)
We need to test some very important things here that will make or break our business:
- How do we find these people?
- How do we get our message in front of these people — and in what way?
- How do these people respond to our offering?
So now it’s time to hurt our heads a little bit.
Go and brainstorm 20 different and specific places you can find the kinds of people that would want to give you money for the value statement you’re offering. These need to be super specific. You can’t say something like “people who participate in online forums where they talk about email marketing”. No. You need to name those forums. And they can only count as one way out of the 20 we’re talking about here.
You’ll ultimately need to figure this out for yourself, but here’s some ideas based on our ongoing example: People following MailChimp on Twitter, people who hang out on inbound.org, people that have blogs with a newsletter signup box, people listening to the Smart Passive Income podcast, people who have retweeted any of Ramit Sethi’s articles, people who like HubSpot on Facebook, etc.
You’ll probably find that this is harder than it seems. That’s okay. It is.
As a side note: If you can’t come up with 20 good places, chance are you don’t know who your customer actually is. Believe me, it’s better you find this out now rather than after you’ve spent 5–6 months heads down around the clock coding your app. Either educate yourself or pick a customer you understand better.
Alright, it’s about time we put ourselves out there. Like I said before, all you have right now is a guess — not an idea. You’re guessing that some solution you’ve concocted in your head is actually going to be useful to people. So we’re going to find out if people care about what you have to say.
But here’s the kicker — we’re not going to tell them anything about our solution. Nothing. Nada. Zilch.
Instead, we’re going to see if they care about the reason we think they’d want to give us money. You’ll see why in a few.
So now, we’re going to research 10 individual people from each of the 20 places we identified. Yes. If you’re good at math, you just realized that we’re going to be going after 200 people. I kid you not. You’ll also see why in a few.
Let’s take our running example. Let’s say we think that people that have blogs with a newsletter signup box would care about what we’re talking about. Great. Let’s go find 10 blogs that we think would give us money based on the premise that we identified. Find out how you can get in touch with the person running the blog. Ideally, you want an email address. You can settle for a contact form. But don’t just leave some comment spam and walk away thinking you did your job.
Now, let’s send them a personalized message like the following:
“Hey <Name>! I was just reading your post about <what the post’s about>. I totally agree with you that <some point they made>. In fact, <your own thoughts on that point>. I also noticed that you have a newsletter. I was curious what kinds of things you send to your list, if you have products you are trying to sell to your list, and if you’re doing it all by hand or using something like MailChimp for that? The reason I ask is I’m thinking of doing something with newsletters myself and I’m not too sure what people like you are doing with theirs. Anything you could share with me would be huge. Thanks and keep up the awesome work you’re doing!”
The text in bold is just my emphasis to call out where we’re slipping in the part we think they would care enough about to pay money for — don’t bold your own text like that.
Also: Never say you like something if you don’t, express interest in something you could care less about, or mislead them in any way. It will come back to bite you. Tenfold.
If you do everything right, you should probably get a handful of responses from the 200 people you sent detailed, thoughtful, well researched messages to. Yep, you read that right. A handful of responses for 200 messages.
If you work in a corporate environment, this will probably mess with you. Think about it. You’re used responding to emails you receive, and you’re used to getting responses from people you’ve sent emails to. It’s common office courtesy. If you don’t respond to an email, you’re ostrisized. The internet doesn’t work that way. Indifference is the rule. We’ll talk more about how to handle rejection later on.
Because of this, you may be tempted to just blast people with a template. Don’t. People will see right through it. Plus that’s just spammy and wrong.
Okay, so let’s say we get some responses. You’d honestly be surprised by how much information you can get from people when you just ask them about what they’re doing. Maybe they read like this:
“Thanks so much! That was a tough post for me to write because <some reason you never would have guessed>. Yeah, I use my newsletter to try and get people to purchase my $29 e-book on <some topic that’s related to their blog>. It can be hard to keep up with, and I don’t always get the response I want. I tried to do it by hand, but my list got too big so I moved it to MailChimp. It’s not bad, but it’s not great either. Hope that helps. Good luck!”
I had a dog and BINGO was his name-o.
If you don’t get any responses, or if you don’t get any responses that reinforce your hypothesis, you have a couple of options:
- Get 10 more people from the original 20 ways you identified and try again.
- Pick 20 different ways to find people who should give you good responses. Find 10 people from each of those. Repeat the exercise with them.
- Scrap your “idea” and start over. You guessed wrong.
For those of you still playing along at home, we’re not done — nowhere near close. But if you are getting responses like this, you’ve gotten some confirmation that the underlying reason people would give you money does exist. Now it’s time to find out if they think your solution is worth any salt.
Time To See If Our Solution Sticks
Now it’s time to see what happens when we actually put our idea out in front of those people who responded in a way that confirms our money-generating hypothesis.
Something as simple as this would suffice (bold is my own — don’t bold your stuff):
Thanks for getting back to me! I’ve actually been asking some other bloggers about their newsletters too and they’re basically echoing what you’re saying — that it’s a little rough to do everything by hand or with MailChimp and that they’re not getting the results they want. Out of curiosity, if there were something that would let you send automated drip email campaigns to your email list signups so that you could automatically nurture leads and convert them into paying customers, would that be something you’d be interested in? I only ask because after hearing everyone talking about this, I’m thinking there could be a good opportunity to do something different here. Plus I’m a developer, and I think that could be a fun project to work on :)
You can see that here, we use the ability and outcome from our earlier messaging exercise. (See why I told you to do that?)
Now, one of the following is going to probably happen:
- You don’t get a response. Yep, even though you thought you and your new pen pal were besties, the rule of the internet is indifference.
- You get a response along the lines of “No, it’s not that big of a problem for me.”
- You get a response along the lines of “Oh, there’s a bunch of companies already doing that. I just don’t use them because they cost too much.”
- You get a response along the lines of “Heck yes! I want that!”
Chances are, you’re going to get responses #1–3 far more often than #4.
So what do you do?
If you don’t get a response, you should follow up until you do or they tell you to bugger off.
If their response is “No, it’s not a problem”, ask them under what circumstances it would become a problem or make sense for them to try what you’re offering. If you get enough of these types of responses, it may be that you’re close, and that you just need to target people that have the problem they refer to or are in the circumstances they describe.
If their response is “There’s a bunch of companies already doing that”, don’t scrap your idea! Just because someone else is already doing what you thought was a revolutionary concept doesn’t mean you should give up. In fact, it helps to prove that there might already be a market out there for you. In this case, you should ask them what they mean by “expensive” and what they would like to see in the market as an alternative to the companies they mentioned. See if adjusting your offering in light of these insights will get you to “Heck yes”.
If they’ve said “Heck yes”, you’re nailing it.
After you get those “Heck yeses”, tell them that you’re going to look into what you can do for them and ask them if they’d be interested to look at what you come up with.
The goal here is to get to 20 “Heck yeses” that are interested in hearing about what you come up with. You’ll need to refine your message, listen to feedback, adjust your message again, try different approaches, different places, different people, etc.
Make no mistake, it’ll most likely suck.
If you can’t get to 20, you might want to reconsider what you’re doing.
Next Up: Hand-to-Hand Combat
This ends Part 1 of The Epic Guide to Boostrapping a SaaS Startup from Scratch — By Yourself.
In Part 2, we’re going to be diving in the contact sport of marketing your SaaS app. Be sure to follow me on Medium or on Twitter as @cliffordoravec so you don’t miss out!
In between Parts of the Epic Guide, I write some short pieces I call Interludes, which are focused on helping you mentally absorb the material just discussed. You can read Interlude 1 here — Don’t Go Back to Your Comfort Zone (Interlude 1).
UPDATE! Part 2 of the Epic Guide is now available here: The No-BS Approach to Building Your SaaS Startup’s Launch List (Part 2)
UPDATE PART DUEX! The Epic Guide made it to #3 on Hacker News! Read The Morning After: Startup Famous for 24 Hours (Or, What a Hacker News Hangover Really Feels Like) to see what that was like!
UPDATE PART TROIS! I’m turning The Epic Guide into a full-length, all thriller no filler, startup warfare book!