Skills you need to bootstrap a SaaS startup

When you’re a technical founder you have to do everything yourself. These are the skills we had to learn:

  • Product sense and taste. No shortcuts here, this is just a matter of experience. To get better product sense think hard about the products you use and ask yourself what makes them good or bad. Which features do they have and what set of features make sense to combine in a single product. Related is interaction design. This is the skill of designing user interfaces where the buttons and toggles are where people expect them.
  • Decent software engineering skills. You’ve got to make a prototype that people can recognize has the potential to be great. This means you need to know Javascript, and CSS at a minimum. You can use a frontend stack like TypeScript, Angular, or React if you really want to, but it isn’t necessary. How much frontend code does your webapp need for an MVP? You can get a lot of functionality from a few thousand lines of plain Javascript. Frontend Javascript frameworks mainly exist to simplify working with many people in a mature code base, which doesn’t apply when you work on an MVP or prototype. You don’t need to mess with CSS compressors either at this stage. It just doesn’t matter, and you want to move fast.
  • For the servers you need to know a backend language or two. It doesn’t matter whether it’s Python, golang, java or anything else. They’re all pretty much equivalent. Only the quantity and quality of the libraries you have at your disposal makes a big difference. Webapps are (or can be!) pretty simple at the backend because you have full control over the stack and that makes for easy debugging. The common wisdom is that you just stick with whatever backend stack you know best, and I agree.
  • Server admin skills. To run a web service you basically want to understand the entire tech stack. Databases, TCP/IP, firewalls/routing, http, SSL, etc. This stuff isn’t especially hard, there is just a lot to know. If your app stops working in the middle of the night you want to be able to diagnose it quickly.
  • Security. It takes a ton of effort to make web apps secure because everything is a potential security hole. Everything from authentication tokens, to cross-site scripting, to weak cyphers, to SQL injection, to broken firewall rules, to denial of service issues, header splitting, remote includes, and the list goes on. Extreme paranoia is warranted. No product is perfect, but if you’re going to store sensitive customer data you have a moral responsibility to really know what you’re doing in terms of web security. You must never cut corners here.
  • Visual/graphics design. It’s hard to stand out when your app doesn’t look good. You might be tempted to lean on templates or pre-made themes, but if at all possible create your own style from scratch. People will judge your app on how it looks so you better learn how. Even when you’re not a natural (and we’re not) you can make something that’s pretty nice looking if you follow the “rules” of good visual design.
  • Type words good. You have to communicate to people what your startup does and what problem it solves. If you can’t explain in simple words what you’re doing you aren’t ready to build an MVP. Writing is a skill like any other and you’ll get better with practice. Don’t worry about sounding serious or business-like, worry about getting your point across.
  • Sales skills are optional. Just use plain language to describe what the benefits are of your software and then “ask for the sale”. Techies like us think asking for a sale is scary or morally wrong, but that’s something you’ll have to let go of. If you’re great at software you’re unlikely to also be a smooth salesperson, and that’s OK. Let non-technical founders do the sales-focused startups.
  • Business sense is optional if you simply write software and charge money for it. You can google the rest, when you need to. Your startup isn’t going to fail because you can’t figure out how to incorporate or how to calculate VAT correctly. The business stuff can be tedious and aggravating at times, but it’s not hard.
  • You should know basic finance. It’s not hard. You should understand the formal basics like a balance sheet and cash flow statement as well as the concepts specific for web businesses. Look up what customer churn is, acquisition cost per user, customer lifetime value, and stuff like that.
  • You do need a good amount of common sense. This seems almost unfair to include, because it can mean anything. But many startups fail because founders make boneheaded unforced mistakes. Common sense means figuring out what matters and what doesn’t, and then doing only the stuff that matters.
  • You need optimism, pragmatism, and persistence. Optimism because startups are hard even when you have a cheerful disposition. Pragmatism will keep you grounded. Persistence you need because startups are highly random. Like everything else on this list, you can work on these skills.
  • And of course you have to be resilient. People will tell you how your startup idea is dumb, or that nobody will pay for it, or that it’s a toy, or that it’s too risky, or that you should raise money. The list is endless and we’ve heard it all. Thankfully, it doesn’t matter what the naysayers believe.
  • You don’t need a network or Twitter followers or investors or anything like that. If you have an internet presence it might help but we’ve been doing SaaS products for over a decade in complete obscurity. It’s fine. Social media skills are optional.

Okay, this admittedly turned into a long list. But many people already have all the technical skills already and only need to figure the basics of the nontechnical side. Github is overflowing with cool projects made by dedicated programmers who really wish they could work on their projects full-time. But they can’t, because they don’t take that extra step of turning their project into a startup. A main goal of 80daystartup is to show people who already have the technical skills — by showing them in real time — that building a cool product along with a dash of marketing is all it takes.

Our hope is that people, through the course of this adventure (or incredible journey) will see how bootstrapped startups are perfectly realistic alternative to VC funded startups with hockey stick growth trajectories. Bootstrapped startups can also grow quickly and become massively profitable. Besides, when you own 100% of your business (or 50/33 percent if you have co-founders) you don’t need to become a massively successful outlier.


This somewhat reflective post wraps up our first week for 80daystartup. We figured out what we’re going to make and we’ve got some rough design sketches so far. Next week we’ll try to come up with a good minimal feature set that we think can make for a compelling MVP. Then we’ll start prototyping individual features so we have something tangible to interact with. But let’s not get ahead of ourselves. One week down, fifteen more to go!

The initial stages of a SaaS product

These are the phases you’ll typically go through when you start a SaaS product:

  • Idea phase. Here you try to figure out if there is a hypothetical market for your idea. What kind price you can charge and how you will reach your audience. If possible, explore multiple ideas and let them marinate. Don’t rush this stage. At this point anything is still in play. But the decisions you make here will affect what kind of customers you’ll have, what kind of technical challenges you’ll work on, whether you’ll make money, and everything else. Any business has fun and not-so-fun parts, so choose wisely! Owning a business that operates smoothly and profitably is a lot of fun, and you’re unlikely to get bored. By contrast, working on a product you’re passionate about that has no functional business model is painful and you’ll start to doubt yourself sooner or later.

    If you’re a techy (like me) you want to choose a startup idea that has a relatively straightforward customer base and business model. That way you can succeed if you have an excellent product but mediocre marketing.
  • Prototype phase. Good taste and good design sense matters. If your product looks good users will assume it’s is a good product, and you’ll get the benefit of the doubt when something doesn’t work right. If your product looks sloppy you’re going to lose people who would otherwise be interested. Prototypes are by their very nature flawed, but you don’t want to make an app only a founder could love.

    You might think you can save time by using cookie-cutter CSS templates/frameworks, but these frameworks make your product look bland. Your product should be visually distinctive. People are far more willing to try products that look different, and this also makes you more memorable. The world is a diverse place and people have different tastes. By being different you’re going to alienate some people and attract others. That doesn’t sound great, but the alternative is being bland, and then you won’t have any enthusiastic users. Big businesses can afford to be bland, startups cannot.

    The press also likes to cover things that look new. It’s tech fashion, basically. Design styles go in cycles. Do products use a lot of whitespace, or very little? Skeuomorphic design or Swedish minimalism? Muted pastels or saturated colors? When a startup becomes super popular you’ll see many other startups copy their visual style. It’s pretty funny when you notice it happening. Of course, there are no right and wrong answers in fashion. And what looks fresh in one year can look tired two years later. A sloppy and amateurish look will do you no favors.

    Your product should have very clearly defined core functionality. Businesses with money to burn can afford to have their product be a confusing mess. You can’t. Your users will simply move on if they don’t “get it”. And you can’t blame them. In this prototype phase it’s your job to figure out if your innovations actually make sense. And because you’re going to rewrite these prototypes anyway you can cut corners if you have to. In addition, you can experiment with the software architecture of your program. Changing your mind in this stage is cheap, but refactoring a live service with millions of users is painful. The prep you do here will pay off handsomely.

    In this stage you figure out the identity of your product. How you interact with it. What it feels like. What it does.
  • MVP phase. Here you build the real thing. It has to be good enough so people can actually use and derive value from your product. The goal isn’t perfection in this stage, but you don’t want launch anything half-assed. As Wim wrote earlier today, you want the core functionality, and nothing else.

    Everything that can reasonably be postponed to after the launch you postpone, even those features that you know people will be asking for from day one. The goal of the MVP is to get good user feedback. The most important thing is whether you believe the product is any good, but if you’re the only person on the planet who believes it is then you’re in trouble.

    What you really look for in this stage are people who think your MVP is great. It doesn’t matter how many people hate it, or don’t get it, or are indifferent. None of those people will become customers anyway. You only need a handful of passionate users at this stage. Talk to them and judge if you can actually turn your MVP into a business. If you can’t find any passionate users, then maybe your idea wasn’t so great after all. Or maybe your execution sucked. This is really the critical junction. At this point you can still walk away without having invested too much. Delete everything and go build something else. If you go ahead with the commercial launch before you have clear evidence that people need what you’ve made you risk running a zombie startup: one that’s neither dead or alive. This sucks because you might thread water for years. Barely surviving, but not going anywhere. Don’t let this happen to you. But if you proceed and turn this into a real business, then you also have to accept all the responsibilities that come with it. Onwards!
  • Commercial launch. Whoo-hoo! Your first paying customers. Hopefully, you didn’t have any trouble converting your beta users to customers. Now you have to fix in a hurry all the shortcuts you took while building the MVP. And you have to figure out billing, invoicing, refunds, customer support, backups, failover, GDPR compliance and everything else. This stage is schleppy but the excitement of growing your tiny business will help you power through it.
  • Scale. Don’t get distracted. Focus on your product and the customer. Setting the right priorities is everything. Learn to say “no” a lot.

On competition and disruption

Wim just wrote about what our product is going to be. In this post I’m going describe how our task/planning IDE relates to other products in the space.

State of the market

To-do/planning apps can be roughly categorized like this:

1) Pen & paper. Making plans on paper is pretty fantastic, provided you’re meeting in person. After the meeting you have to manually transfer your paper plans to a calendar. That’s a bummer. And then every person has to keep a separate todo list for their daily responsibilities. And then you need regular meetings to coordinate the info from the notepads on each person’s desk. Pen and paper might work if you’re by yourself, but it doesn’t cut it when you work in a team.

2) Glorified shopping-list apps. Apple’s Reminders app fits in this category. Apps like these are only suited for casual use. They don’t allow for any higher level planning. Collaborating with multiple people doesn’t really work. Creative work can be chaotic. You want to be able to type in free form, but you can’t. And modifying or reorganizing tasks is tedious.

3) Kanban boards like Trello. It’s a pretty decent solution for planning in a team. It’s like moving post-its on a digital whiteboard. Trello is a good product but Kanban boards address maybe 20% of the problem.

4) Single user (desktop) apps like Things (for casual use) and Org-Mode (for power-users). No matter how great these apps are, in 2022 people want software that’s suitable for remote teams.

5) Enterprise team scheduling apps like Asana. Products like these have decided to appeal to large businesses by shoehorning in as much features as possible. If you add everything and the kitchen sink a product will look great in a comparison table or during a PowerPoint presentation. But who wants to use bloated and slow products like that? Not us.

In 2020 people download 1.7 billion task/productivity/do-apps in the USA. It’s a huge and growing market and people are clearly clamoring for better software. This is matched by our personal experience. We’ve tried a bunch of todo and planning apps over the years and none of them really work the way that feels natural to us.

We think a major product category in this space is missing: the IDE. A task/planning IDE that is for teams, primarily text based, friendly to power-users, and that can be used for high level planning down to disorganized note-taking. None of the popular products try to solve this problem.

Because we’re going to be the first product (to our knowledge) in this segment it remains to be seen if there is a sizable market for it. For the time being we’re delusionallycautiously optimistic.

Market disruptors

IRC never got into the mainstream. Not user-friendly enough. Difficult to share files. A few products like HipChat and Campfire tried to bring IRC-like chat to the mainstream, but ultimately failed. The user experience as a whole wasn’t very compelling. Then Slack set the world on fire.

The story of Spotify is similar. Many people predicted that online music streaming was going to be huge and many startups tried to make the killer app. Spotify was the only one where you could click play on any song and immediately hear music and enjoyed explosive growth as a consequence[1].

GMail was the first email client with search that worked, spam filters that worked, and you could keep a staggering (at the time) 1 gigabyte worth of emails in your account. GMail has stagnated for a decade now but back in the day it was transformative.

Slack, Spotify and GMail all completely transformed their markets by making a product where the –core functionality– was leagues ahead of everything else out there. When you nail the core experience your app can be deficient in other areas. Your users will understand and forgive, provided the core experience makes up for it.

When a segment of the software market feels stagnant it’s because the apps have converged on a local maximum. The different players try to keep ahead of the others by piling on features, but this backfires. By copying each other the products end up in the same spot.

We believe that the task/planning apps out there are stuck in local maxima, and are ready to be disrupted. That’s not to say we’re going to be the ones to do it. We can’t see the future, and our hunches are wrong more often than not. Nonetheless, our concept is solid. Now we have to create some prototypes to discover what feels right and what doesn’t.

[1] The real story is more complicated. Spotify also has to get all the critical licencing deals done and, like many startups, almost died multiple times. However, Spotify’s strong initial growth can be attributed to technical excellence of the product.

What are we going to build: The Idea

It’s day 3 of 80, and the decision on what to build as a startup in the remaining 77 days has been made! As we summarized here, it will be a web app (SaaS), and it’s going to be a… brace yourselves… to-do list app. Haha, yes, well, kinda.

Building apps for tasks and notes sound like a cliché at this point. The last internet census counted 68,482 to-do apps. It’s even become the “Hello World” example for web framework tutorials. So perhaps it’s only fitting to build this as the ultimate example of how to build a startup! We’re planning to build a real product though. And as we outlined yesterday, we only think an idea works if it has a “first”. So we want do try a new approach in this category:

We’re going to build an editor/IDE1. Except it’s a text editor specifically designed for tasks, planning, and thoughts; for makers to manage creative work.

Using an editor interface for managing tasks and planning feels like a much more logical fit to us than the existing categories, the classic to-do lists and kanban boards.

The most obvious symptom of the problem with the existing apps to us is a “todo.txt” on our hard drive. We know we’re not the only ones who keep falling back to just jotting down notes in a text file or (virtual) stickies. With text, you can write down tasks or thoughts as fast as you can type, indent as much you want, collapse/expand sections, select, copy/paste or move a bunch of text somewhere else, add whitespace… format it any way you like. All these features are essential for organizing thoughts.

Having to decide what needs to be a project vs a task vs a subtask when you’re just typing out thoughts, having to click buttons, using an interface that gets slow when you enter more than a 100 items… it’s just too much friction and disrupts the creative flow. So it’s great to have all these fancy apps, but in the end, we end up with a todo.txt, again. And although a text file works, there’s no way to visually organize things, add any structure or links, collaborate in teams, drag things around, filter or schedule things. It’s just plain text, after all. So we can never find anything back and after a while declare text file bankruptcy and start over.

We want to have the best of both worlds. And we think that looks like an IDE. When you think about it, IDEs have similar features you need in a todo app built-in: things like syntax highlighting, collapsing indented blocks, keyboard command palettes, and plugins. Instead, our “IDE” will be for anything related to organizing creative work: commands, auto-complete and highlighting for things like dates and priorities. With support for scheduling, references, split-panel views, and being able to drag things around. And like an IDE, “hack-ability” in terms of plugins is a big thing too, because good tools should adapt to how you like to work.

We could talk a lot more about other cool properties this kind of system would have but that’s the idea at its core.

In the next post we’ll recap why we think this might work as a startup to build in 80 days.

[1] For non-coders: Integrated Development Environment, fast and powerful editors and related tools for programmers

Honing in on an app idea

We’ve been brainstorming in the past couple of days about what we’re going to make.

So far we’ve determined that:

  • we want to build a web app, because we need the friction to sign up to be as low as possible
  • we want to make something we can personally get excited about
  • we’ve also decided that we want to make something small in scope (only 80 days!), that is cheap to operate (no budget)
  • we’ll make at least one version of the product free (100% free, no ads) in order to get as much word of mouth advertising as possible
  • we ideally want some kind of subscription service (SaaS) for small business. We’ll write about the economics of SaaS businesses later
  • and we want to make something that’s unique enough that people can get genuinely excited about it
  • our app has to find a niche in an established market with plenty of competitors
  • we want to tackle some fun technical challenges. This will be harder for us in the short term (because it might turn out that people don’t care about our app at all), but it should work in our advantage in the long term (it will set us apart from the competition)
  • this means the core functionality has to be unique. If you only have 80 days you don’t want to waste it replicating common functionality, except for the bare minimum like account sign-up, login, and subscription logic.
  • we want to make something that can rapidly grow to millions of active users
  • we want to make something that has broad appeal among regular people (“horizontal” in business speak, as opposed to “vertical” apps that target a specific industry or profession).

This narrows down the universe of app ideas tremendously. Right now, we can only think of a few potential products that meet all these criteria. And that’s okay, because we only need one!

Startups are all about constraints

You can start a web startup with the money you find between your couch cushions, but good luck trying to start a rocket company that way. Web startups are unique in that they require no upfront investment whatsoever. For all of history you needed to have money to make money. No shortage of corny expressions saying so. But not anymore! The internet is the great equalizer. And the internet is still growing rapidly, which means there is an abundance of opportunity. That’s pretty sweet, too.

However, even web startups face significant constraints. But that’s alright. It just means you have to be a little creative.

Constraint 1: Web Tech

You have to use Javascript and CSS which greatly limits what you can create. Essentially you’re restricted to using a tiny fraction of the computing power on the device and you’re locked into a browser sandbox that is crufty and constantly shifting under your feet. Code you write today might stop working tomorrow or next year, but almost certainly by the next decade. The more you push at the boundaries of what’s possible within the constraints of a browser the more likely your code is to suddenly stop working on one of the major web browsers. Windows and Linux utilities written 20 years ago still run fine on modern machines. On the web everything breaks for no reason. If the web is so bad, then why build a web app at all? Because the web takes care of the distribution problem.

I suppose the silver lining is that many of the web products out there that you’ll end up competing with will be barely functional. The quality bar you have to meet is low on the web, but despite that we still intend to make something that’s rock solid.

Constraint 2: Time

We’re giving ourselves 80 days. That’s not much, when you take into account we also want to document what we do. We risk running out of time if we waste even a couple of weeks going into technical dead ends. We have to ruthlessly cut all non-essential functionality. We have to say no to almost all the thing we want to include. After we cut nearly everything will we be left with something that’s not just a pointless toy? It’s a fine line to walk. If we don’t get the core set of features right nobody will get excited about our product. But if we build too much we’ll have to rush at the expense of quality. Tomorrow we’ll create a rough timeline of how we think we should allocate our 80 days. Err, I mean, 77!

Constraint 3: Audience

Even if you have the technical skills to make something, and the time in which to do it, you still won’t get anywhere if you don’t have a way of reaching your target market. We’re no good at marketing, and we don’t particularly enjoy it. Which means we can only build products that can –at least in part– sell themselves by word of mouth. In addition, we want to make something that we can directly drop people into so they can play with it. The product must largely sell itself, because we’re not going to. This means we’ll have to put a lot of our attention on onboarding. We have to make a great first impression and our app has to feel fresh. When the traffic to your website is only a trickle you have to convert a large percentage of your visitors. We’ll have to compensate for our lack of marketing skills by making a sticky app with good curb appeal. This means we can’t build anything that confuses people or that is too weird.

Constraint 4: Money

I’m adding this constraint for completeness, and because money and time are interchangeable. We could self-fund several years of development before launching anything. That way we could do exploratory programming and we could tackle much more difficult technical challenges. But we’re not giving ourselves a budget here, except for the bare minimum. We’ll need some server space. A MacBook maybe. We won’t spend anything that would put a big dent in your savings. There is no money for ads. We’re not flying to conferences. We’re sticking to the basics.


Our goal with #80daystartup is to show how you can bootstrap from nothing. No money, too little time, no audience. You just have to be very mindful of the constraints you face. Our goals here are intentionally modest, in an effort to show that starting a very simple startup is still totally worthwhile. And if all goes to plan we can show that something that starts as a very modest startup can easily pivot and grow into something far more ambitious. But that’s something for a later update :).

Bad Ideas: What Not To Build

Much has been written about picking startup ideas. Although a good idea won’t be a guarantee for success, of course we want to avoid picking a bad idea which sets us up for failure even before we start.

As part of picking an idea is identifying bad ones, we wrote down some of the points we check our ideas against to see if we’re not too quick to jump onto something which isn’t a good fit. Not everyone will have the same criteria, and in our case it’s mostly about bootstrapped software business, but here goes:

1. It’s not super relevant for us

If we can’t even convince ourselves we’d really want to use this, how would we convince others? How do we come up with improvements and novel solutions, if it’s a problem we don’t want to solve for ourselves? How can we find and interact with our audience if they’re nothing like us?

Just as important, how are we going to stay motivated and care enough to make it a success when inevitably there will be some roadblocks along the way. Everything feels like an uphill battle if you don’t think an idea is really interesting, matters enough, and is fun to work on. When an idea does fit, working on it feels like going on autopilot.

That rules out going for that “I have an amazing idea!” you read about somewhere else.

2. It doesn’t allow us to run the business we want

Besides the problem space itself, the idea must support running the type of business we want. Can we use the skills we enjoy using to make a difference in this space? What other aspects of running a business do we find important (for example, being able to work remotely, not having to raise capital, and so on).

Likewise, what are things we really hate doing? There are always tasks that aren’t fun, but if the success will depend on us primarily doing exactly those, we’ll likely not do them on autopilot as we should and risk not moving forward fast enough. It’s better to be honest about this beforehand, as now is the time to pick an idea which is fun to work on by design. No use in trying to launch an idea for the enterprise market when you have no interest in sales.

3. There is no part of the product that’s a “first”

Not building something that’s original would violate #1 for us. But even if you enjoy building a “me-too” product, the internet will be too saturated to care. Some things might have worked five years ago but not anymore. It’s easier to be first (some things even just work once).

No product is 100% original in every aspect of course. In fact, if the category of product doesn’t exist at all yet, that’s often a red flag. But something about it needs to really stand out in a fundamental way. Think about how fans of this new idea’s approach would never want to go back. And how your product did it first.

Just like the product, the marketing (or anything related, like business model) needs a first, too. It’s not the web of 20 years ago anymore. There’s more content competing for attention than ever. Ads are dead (prohibitively expensive for many bootstrapped businesses). Established Marketplaces (like App Store or G Suite) are saturated. Provided you execute well, the chances someone buys from a competitor is not because their product is better, it’s because they don’t know you.

It’s more important than ever to stand out, but there are many ways to do so. For example, the first community around X, the first SaaS version of X, the first privacy-first version of X, the first open source version of X, the first freemium version of X, the first premium version of X, the first to use a channel for X. Everyone needs a thing.

4. We don’t know who to charge for it

Even by filtering ideas, we don’t know for certain if it’s really viable. Interviewing potential users, asking friends, getting “leads”.. It’s all nice, but the only validation is validation by credit card.

So whether people will really pay is what we need to test. But we must at least have an idea how to get users to our checkout form. If we either don’t know who the audience is, we don’t know how to find them, or we can’t charge them enough (depending on our $ARR goal), then it’s time to go back to Start and don’t pass Go.

Lastly, and this is related to #3 above, we also want these initial customers to be real fans. The idea must support creating real fans so we get vital feedback and organic growth. Obviously we don’t know yet if our idea will have fans, but it’s just as obvious that certain classes of products will never have fans, but simply users (i.e. don’t start a paper company).

5. The V1 of the idea isn’t simple enough

The only way to truly validate the idea is to charge for it (#4), and that most likely means building a V1. What’s possible depends on resources like knowledge, budget and time of course, so it must be simple enough to fit those constraints.

Another advantage is that a simpler product is often faster to sell than a large integrated solution which requires numerous stakeholders to sign off on. It’s also easier to explain what is and convince first potential fans to try it out. As building and testing a new idea is already difficult enough, keep things as simple as possible.

One category in particular to be wary of is “broad product ideas” with existing competitors. Where a deep product solves one particular problem really well (digs deeper than the competition in one aspect), a broad product is useful because it does many things in an integrated way. For it to be truly unique and better in some way (see #3), its V1 needs to do be either broader than the competition, or at least as broad and deeper. Both outbuilding and outselling complete existing platforms from day 1 is a bad idea when bootstrapping your first business idea.

Not all Startup ideas are created equal

Okay, so we have 80 days to build something. 80 days means 16 weeks at 5 workdays per week. We’re in Europe, after all!

0 to profit in four months. Two people. And we’re doing everything ourselves. We’ll be generous and consider anything that covers our hosting costs profit 😉

Now what can we make in four months that is useful enough to charge money for, and ideally, has broad enough appeal that it might grow quickly?

And that brings us to the subject of this post. Let’s that you have the technical software skills (or willingness to learn) to build pretty much anything, and let’s assume you have enough common sense to figure out the business side. How do your approach the problem of deciding what to build?

I’ve heard people argue, time and time again, that ideas don’t matter and that ideas aren’t worth anything. I know it’s fashionable to be contrarian on the internet, but let’s get real. Of course ideas matter. If you don’t have a good plan of what you’re going to make, how you’re going to make it, why people need it, how you will reach your audience, and how you will make money, you’re really just hoping to get lucky. A good idea doesn’t guarantee anything, but with a bad idea failure is a given.

The equation changes when you take outside investment. Friends, fools, and family. Angel investors. VC. When you’re spending other people’s money you can have a great career even when you run your startups into the ground.

Bootstrapped startups are fundamentally different. You’ve got to make something people are willing to pay for or you’ll fail. In my book that’s a good thing, and I think way too many people sit at the extremes. Either they work on hobby projects that have no chance of becoming self-sustaining (e.g. github projects that the programmers dream of working on full-time), or they go for disruptive moonshot startups (that have a tiny chance of making a huge impact). Don’t get me wrong, there is plenty of value in both but most businesses are going to be in the middle: regular products that people pay for because they solve some problems.

Okay, let’s zoom out a bit and consider our options. We’re good at software and we enjoy writing software. No surprise here: we’re doing a software startup. But the universe of software is large. So what kind?

Indie Game

Games we can immediately strike from the list. Building a game can be a ton of fun but making games for a living is absolutely unforgiving. The downsides are too numerous to list all, but these are the main ones:

  • You can’t know if your game concept works (meaning: whether it’s actually fun to play) unless you actually build it and play it. If you’re unlucky, you’ll spend the better part of a year before discovering your idea is no good and can’t be salvaged.
  • Games demand a high level of polish but are sold cheaply thanks to regular Steam sales on high-budget AAA titles. A low sales price implies the indie game dev needs high volume to recoup their investment. The indie dev also needs to cover the costs of the inevitable dud; breaking even on your successful games isn’t good enough.
  • Indie devs make most of their money in a single big sales spike when the game is new. This means you need a lot of marketing and hype going into it. Otherwise your game will languish on page 17 of some game marketplace. And that’s a real bummer, because your game needs to be a hit or you’ll go broke.
  • Which is the next problem. Indie game devs are completely dependent on 3rd party platforms for distribution. These platforms take a large cut of revenue and they have their own obnoxious systems for pushing updates and saving games to the cloud. This is going to take up time you don’t have.
  • No common platform. Want to support Windows, Mac, and XBox? You’ll have to do a ton of duplicate work and you’ll have to fight through many painful debugging sessions. And everything better work perfectly when you launch otherwise you’ll have angry gamers to deal with and all your effort will be for naught.
  • It’s effectively a winner-takes-all market. People want to play popular games with rave reviews. If you make a game that’s merely good in a category that has some truly great games then you’ll still lose.

It’s a cold and unforgiving world out there, especially if you’re an indie game dev. Thankfully, there are other options.

Mobile iOS app

When Apple launched their App Store over a decade ago a veritable gold rush took place. And for a good reason, iPhone users were eager to try new apps and the App Store made trying and buying apps super easy. For a few years you could make an app in any category and do very well. But the good times don’t last (they never do). Eventually the App market got saturated and prices were pushed down. People got used to paying 99¢ for an app, and at that price point indie devs can’t really sustain themselves. Combine that with competition from free ad-supported apps and that’s that. It’s a race to the bottom where app developers have no pricing power and Apple still takes a 30% cut.

Even if you beat the odds and build a successful business on the App store you can still get kicked off without notice, your updates might get rejected, or your product might get shamelessly cloned by Apple. Apple can’t be reasoned with, can’t be bargained with, and it doesn’t feel pity, remorse, or fear 🙂

Android’s ecosystem isn’t any better. The verdict here is clear: don’t build an iOS app unless you’re happy to submit to Apple’s arbitrary and capricious ways.

Desktop App

Web tech is pretty much broken. On the server side it’s not hopeless because you are fully in control of the stack. Client side? You’re stuck with CSS and Javascript or a myriad of languages that sort-of-but-not-really have CSS and Javascript as compile target. You can use OpenGL, or a subset thereof, WebGL, but it’s buggy and doesn’t work on mobile devices. You have offline storage, with IndexedDB, but no guarantee the data you save will actually persist. And the web is insecure by default, which means you’re always one typo away from catastrophe. I’m sure we’ll write extensively about web security in the coming days and weeks.

If the web is such a mess, clearly the solution is to write a desktop app, right? Well, no. The web gets one thing right and that’s distribution. People can just click on a link and they’re immediately in your app. Within 30 seconds you may have caught their interest and after that they’re hooked. By contrast, if you have a desktop app you need to persuade people to download the app using your website, YouTube, or by other means. If your software is actually good you want people to experience that for themselves, but if you write desktop software you’ll lose the majority of prospective customers before they’ve even downloaded a free trial.

The distribution model for desktop software desperately needs to get solved — not by app stores but by sandboxing. Let people freely download and try software without having to put their entire machine at risk. This requires a major change in direction by Apple and Microsoft who are both committed to the distribution model of curated app stores. I really hope desktop apps will make a comeback, but until distribution, cross-platform, and security problems are addressed I don’t see it happening. Until then indie devs who make desktop software are fighting an uphill battle.

Hobby/leisure/marketplace app

This shouldn’t really be a category by itself, but I see too many techies take the advice to “scratch your own itch” too literally. There is no shortage of minor annoyances in life but very few of these problems can be solved by software.

In this category I’ll also include marketplace apps that don’t solve real problems. You don’t need an app to keep track of which neighbor borrowed a lawnmower. That’s not to say marketplace apps can’t work, but they’re notoriously difficult to bootstrap. If you really want to go this route build a hobby blog/community first and grow a large audience. This will take at least a couple of years. After you have a captive audience you can start the marketplace service. Marketplaces need a critical mass of buyers and sellers, otherwise it provides no value, and you can’t bootstrap that from zero.

This means, unless you’re already running a community website of some sort there are better options elsewhere.

Enterprise Web App

When we talk about Enterprise software we mean software that’s used by larger businesses. The fundamental difference between software for the Enterprise and Small/Medium sized businesses (SMB) is in the sales cycle and the kind of support the Enterprise customer demands. And Enterprises only like to purchase software from established companies. If you’re a bootstrapped startup you don’t have the time to engage in contract negotiations, extended talks, product demos, and other handholding the Enterprise customer expect. That sucks, because it means you won’t win the customer even if you have the “best” product.

Many Enterprise software products are qualitatively bad, but entrenched. If you want to disrupt a market like that you’re going to need a team of engineers to quickly reach feature parity with existing solutions and you need a sales team to push your software. There is also a general lesson here. If you’re thinking about entering a market where the existing solutions are suspiciously bad, don’t ignore that feeling. It might mean that the people who make the purchasing decision are far removed from the people using the software. And that, in turn, means that you can’t win by making better software.

In every Enterprise software market you have to compete with entrenched players and lavishly funded startups that will happily lose money for a decade if that’s what it takes. As a self-funded bootstrapped startup you won’t stand a chance in direct competition against them. Some markets belong to VC backed startups, and this is one of them.

Plugin/extension/integration to existing platform

This is the first software category that has real promise for independent bootstrapped startups. Any business that grows quickly has users clamoring for extra functionality that’s not in the main product. That is where you can find good opportunities, because it’s so obvious where your potential customers are and it’s easy to reach them. In many cases the platform business is eager to highlight and market add-ons/plugins and the like because it allows them to solidify their position in the market.

You can write an add-on for enterprise products like SAP or SalesForce or for SMB products like Slack, Stripe, WordPress, Google Workspace, Office 365, and many others.

The biggest downside with businesses like these is that they don’t last. Why? Because the platform business can see exactly which plugins/extensions are popular and just clone the best ones and turn them into native features. In a sense you’re competing with the platform that you’re also entirely dependent on. This puts a ceiling on how successful your add-on can be. But if the big fish is big enough, and some of them are huge it’s still very much worthwhile.

Prosumer/freemium webapp

Freemium apps are apps that users can indefinitely use for free but they can choose to pay for a premium version that offers some extra functionality. It’s all about scale here. If you have enough users you don’t need to make much per customer to have a nice business.

A typical strategy is to start by giving away your software for free and enjoy the hopefully exponential growth in free users for as long as it lasts. When user growth starts slowing down you introduce a paid (subscription) plan and a fixed percentage (3% maybe) of users will convert. For bootstrappers this can result in a real painful dilemma. Because you want to wait as long as possible before you exchange exponential growth for linear growth + revenue. But if you’re running out of money you might get forced to start charging for your product prematurely.

The cool thing about freemium apps is that you can get many users quickly, the only problem is monetization. And that’s a big one. Go this route if you think you can make something that appeals to millions of people.

SMB webapp

The SMB segment is underserved when it comes to software. They need software to run their businesses and they have money to spend but Enterprise software businesses don’t cater to their needs. SMBs generally want simple software that “just works” and that they don’t have to worry about. Small companies will happily pay $50 to $500 a month for anything. It’s not much money when the alternative is hiring additional staff. For every 1000 customers paying $100 a month you’re making a million in revenue. 1000 isn’t a large number. If you’re willing to grind your way through you’ll get there eventually.

The only real difficulty here is reaching your potential customer base. SMBs don’s spend their days googling for software that might help them with a problem they have. If you have a good product in this segment marketing will be your biggest pain point.

But if you keep growing your customer base and keep improving your product you’ll be able sell to the lower end of the enterprise segment as well. It’s a good place to be. It just takes a long time.

Near universal truths

Let’s zoom out a little bit. When you make a product you want to make something…

1) that people will use regularly and that solves some pain they have. If they’re not using your product regularly they’re not going to be exited about it and talk about it.

2) that people, and ideally businesses, are very happy to pay for. Basically you want to look for indirect competitors. If there are plenty, that’s a great sign. If a single business has a stranglehold on the market, think twice.

3) that you can prototype relatively quickly. Established businesses can create prototypes for products that will go to market a decade from now, but you can’t afford to. You need to move fast and get it out there.

4) that has an audience you know how to reach. Tech people don’t like marketing, and we’re no exception. But if people don’t know your product exist they won’t try it, and that’s no good. If you’re doing something you’re excited about it’s much easier to talk about what you’re doing, and that’s the essence of marketing.

5) that is unique and clever in a way that’s hard to replicate. You don’t want to clone somebody else’s product. It’s uninspired, the customer can tell, and it almost never works.

It can be hard to make sense of all the contradictory advice you find on the internet. But it helps to remember that funded and bootstrapped startups play by completely different rules. You also have survivorship bias: startups that succeed despite the odds are unaware of how lucky they got. One of the biggest hurdles is going from nothing to making a symbolic amount of money. You want some indication that you’re not crazy and that there are actually people out there that like what you’ve built. Once you know you’re on the right track you’ve just got to keep going. The first part is where tons of people get stuck.

We hope to show people with the 80daystartup what you actually have to do to launch a commercial web app.

Spoiler: it’s actually a lot of work. But we’ve done this before and we know what we’re signing up for. Here we go!

Hello World!

Day 1! Last week, as a preview, we wrote a bit about how we prepared this site (you can read the entries at Day -1 and Day 0) and now it’s time to finally get started. The first important part is the idea of what to build, so today we’ll post some of our ideas about.. ideation.

As a quick intro though, I thought I’d also quickly mention all the stuff we’re not going to worry about. Although it might seem obvious, I think it’s good to mention because I often read people worry about all kinds of aspects before starting their first business, which once you’ve actually built something you know just don’t matter. The beginning is a very fun/creative process, but it’s just too easy to come up with reasons why something wouldn’t work and then not get started:

  • Lack of “business experience”. You don’t need a fancy company structure (nobody succeeded by having more companies than customers), you don’t need to write BusinessPlanLastVersion3.docx, know what SWOT means or start by printing business cards. That’s just how it works in movies (and in school textbooks maybe). All the stuff which actually matters you can learn on the fly.
  • I don’t have “a network”. Neither do we, and it’s very very rare to have people actually care about what you’re doing right from the start anyway. Chances are nobody will read these initial posts, or not until we’re much further in the process. You can only get the ball running by putting things out there, so just start.
  • There’s not enough new things left to interest people. That’s why it’s so great to launch online businesses today. If this is a worry then people vastly underestimate how big “the internet” actually is. Even a tiny niche idea in the context of billions of people will get you some initial fans.
  • “That’s not how things are done”. When we bootstrapped our first web business, I think quite some people we knew just assumed it wouldn’t really work out, because it was different from all the examples they had seen and were told about as things proven to be “possible in life”. If everything worked like this, nothing new would ever be tried. As long as you don’t break any laws of physics, no reason not to try it because you assume it’s impossible.
  • What if it’s bad and fails? Only way to improve is to start. We have plenty of experience with code and business aspects of online startups, but there’s always new developments and many things we haven’t tried. The idea for 80daystartup is going to involve lots of writing, maybe things like podcasts, who knows what else. All of which I have little to no experience with, so it’s very likely I’ll be very embarrassed looking at all the writing a year from now. Which is great, that means progress!

Anyway, enough with the worries ;). Next step, ideas!