Reflecting on my Failure to Build a One-Dollar Company

UPDATED ON JAN 30, 2024 : 1941 words, 10 minute read โ€” BOOTSTRAPPING

TL;DR: No market validation, coding doesn’t get users, and fantasizing instead of taking action.

Failure is the world’s best teacher.

Second best is getting to learn from someone else failing, then you skip all the pain and frustration. This is a reflection on what went wrong while attempting to build my first product.

These lessons are a hard pill to swallow knowing I went in the wrong direction for so long, but the silver lining of failure is we learn. You don’t want to spend months working on a project no one uses. I’ve done it. Let me walk you through my failures, and hopefully you can avoid them.

What was it? ๐Ÿ”—︎

What was it? Deals on Tap (DoT) , orig. Madtown Deals, was a collection of the daily specials at bars around campus, which usually only appeared on chalkboards or buried on bar websites no one checks. I’m a sucker for a bargain, so I was building this for myself & friends initially without any concept of spreading it farther. This was great, until I let my imagination run wild.

Web app with bar deals

An abbreviated list of what I did wrong ๐Ÿ”—︎

Took over too much of my life ๐Ÿ”—︎

If you only take one thing away from this article, let it be this. My biggest regret is allowing the idea to take over so much of my life, especially without anything to show for it. I let myself get stressed and overwhelmed by all of the things I “HAVE to do RIGHT NOW” to make the project a success. It led me to not maintain my relationships, skip fun events, and skip the foundations of a healthy life like sleeping & working out. What do I have to show for it now? Just a list of lessons and some 25 cent wings ๐Ÿ—. Prioritize the important things in life, you will still find time to build your idea.

Not validating the idea ๐Ÿ”—︎

Without knowing it, I actually started with a decent MVP. I put up a minimal static site, hard-coded a bunch of information into it, and called it good within a day. It was quick to make and nailed the core feature, which is exactly what you want…

then it all fell apart.

Basic website with bar deals

I was showing the site to friends, but never made any effort to distribute it more widely or see how people I didn’t know would use it. I had lots of ideas for how it could make money through bars, who the target audience might be, how to keep users coming back, but I wasn’t taking action to see if my assumptions had any ground to stand on.

I didn’t talk to a single bar owner, so I had no information about the problems they faced.

That is an entire half of my market I had no understanding of their motivations, not a good spot to be in. If I had gone out and gathered some information, I could have found out in a fraction of the time & effort whether the idea was viable.

Real examples of actually validating ideas quickly:

No plan for distribution ๐Ÿ”—︎

In a similar vein with not validating the idea, I spent next to no time on distribution. “Build it and they will come” does not work for products. There is software collecting dust online that could be the best ever, but it doesn’t matter how good it is if no one knows about it. They wrote it and never had a plan for putting it in people’s hands, and I fell into the same trap. I also got stuck thinking if I add one more feature, it’ll take off. The game never ends though, there will always be something else you can add. Not to mention, adding a new feature doesn’t change how many people hear about your product. To hammer it home for myself, ADDING FEATURES IS NOT A DISTRIBUTION STRATEGY. You can use ads, content marketing, or good old ground-pounding and talking to people. Whatever you decide, think about it early and often in the process of building.

Took bad advice as gospel ๐Ÿ”—︎

Something I heard recently that resonated with me was

“If you ask for advice, people will usually give it to you. Doesn’t mean they know what they’re talking about, or that you should follow it. "

(paraphrased, if you know of the original let me know so I can attribute it)

One thing I knew for sure was I had no experience trying to build products or start businesses. None of my friends did either, but that didn’t stop me from picking their brains for ideas on everything from new features to business strategies. A lot of energy was burned going down wrong paths because I wasn’t discerning with suggestions I was given. I also tried going to a number of small startup events on campus where they would connect you with community mentors. Unfortunately, I treated everything they said to me as gospel. They often came up with feature ideas, potential markets, or changes I “had to make” for a bar owner to even consider talking with me. Looking back, I’m sure it was well-intentioned, but it was ultimately pretty crappy advice. These were people I would have thought knew better, yet no one asked me the difficult questions that I needed to hear .

  • “What actionable steps will you take this week to grow and get your first 10 users?”
  • “When do you plan on talking to bar owners about this?”
  • “Why have you put so much energy into coding instead of finding users?”
  • “Why would someone use this over existing solutions they could cobble together?”

If you want to succeed, you will have to ask yourself hard questions you don’t want to answer. They aren’t fun, but you need to be the devil’s advocate since no one else will. Take off the rose-tinted glasses and look at your idea from your customer’s perspective.

Asking the wrong questions ๐Ÿ”—︎

“So I have this idea..” is a great intro to encourage people to lie to you. I spent plenty of time in brainstorming sessions with friends asking hypothetical questions like “what feature would you want as a user?” and then building it. I thought this is what it meant to listen to your users, but much like advice, if you ask someone to come up with a feature they will often give you an answer. When you ask bad questions, you are asking people about a hypothetical future, and anything could happen in the future. A global pandemic could show up, who knows? ยฏ\(ใƒ„)/ยฏ

I ignored human nature โ€” what people say and what they do often differ wildly.

Hypothetically, they could see themselves maybe using this one feature on your app if they really think hard about it. If you watch them use the product though, you’d find that only the aspirational version of themselves would use the feature, the version that wakes up at 5am, runs a marathon, then teaches orphans to walk. People will often speak from their aspirational view of themselves, or some other hypothetical version divorced from reality. At best this doesn’t move you closer to a good product, and at worst sends you down rabbit holes. This has all been explained much better than I can, so if you are interested in asking valuable questions, I recommend reading The Mom Test or listening to his interview about it on Indie Hackers .

I wasn’t just asking others bad questions, I was also asking myself the wrong questions. Products follow the Pareto principle, 20% of your features will get 80% of the usage. If you’re trying to move fast you need to be able to answer “what features will be used the majority of the time?”

Take a todo list app, for example. Wunderlist (RIP), TickTick, Todoist, Microsoft ToDo, and so many more are all loaded with features. If they didn’t nail the user experience for adding & viewing todos, though, nobody would care about the pile of other ways you can use them.

Making fake progress with code ๐Ÿ”—︎

Coding is such an incredibly powerful tool, but dangerous for developers.

At the time, I was unaware of the threat looming in front of me. For one thing, as a developer I was (and am) constantly under the pull of Shiny Object Syndrome. I want to use new & interesting tools, despite having no experience with them. This is great if the goal is to learn, but not a hot idea if you want to build something quickly that just works. I was also still a student trying to learn and prepare for the job search, and much of what I thought would be important for full-time software engineering leaked into what I was building. I got hung up on design patterns, documentation, writing lots of tests, and following best practices to ensure I had a pristine code base. I wasted many hours debugging or tweaking the code to perfection, which at the time made me feel great. Look Mom, I’m building a real app!

In reality, I was merely a hamster on a wheel to nowhere.

Thinking tech is the only thing that mattered ๐Ÿ”—︎

Like many developer before me, I completely underestimated the importance of branding & other non-technical aspects of building a product. If I make something with awesome features, people will just use it right?

โŒ Wrong, bucko.

You’re selling an experience, it has to have value in your customer’s lives and they need to know it, or they will not spare a second thought when removing it. Branding, design, the copy on your site, they are all things that help people fall in love with your product and make you stand out from anything similar. The bar for producing something new these days is super low. With services like AWS for hosting and Nocode tools for building apps, it’s incredibly cheap and quick to get your idea off the ground. Think of any service you use & I guarantee there are multiple competitors in the space and plenty of templates you can buy online to start building your own, e.g. Uber & Lyft, ride-sharing app templates. Features can be copied so fast, and most product ideas are not stretching the bounds of technical capability. Your idea isn’t quantum computing, it’s Flappy Bird. Tech is rarely the deciding factor for a company to do well.

Moving in the wrong no direction ๐Ÿ”—︎

The theme you may have noticed across these lessons is a lack of action in the right direction. It’s comfortable to write code or read articles about startups, it’s safe and feels like you’re making progress. I wanted to start a company, but got lost reading about challenges startups face at 10,000 users and missed what was needed to get my first 10.

Early on, action trumps waiting to find the the perfect path to take. You can always correct course once you have it in progress, but users can’t use a product that’s still inside your head. The hard part here is stepping outside of the comfort zone and fighting analysis paralysis. You will be in unfamiliar territory, and you will be confronted with things you don’t yet know how to do. Take it one step at a time. You’ll be surprised where you end up.

inspired by:

See Also