Month 7: If at first you don't succeed, try, try again

Sometimes "dead" startups can be revived with a change in approach

Hey 👋

Hey there, I’m Ben, and I build things in public. With that, I hope you enjoy this post about month 7 of building startups until something takes off!

“If at first you don’t succeed, try, try again”

A perfect representation of that quote.

This month’s post is all about how to turn an assumed failure into a success. That quote above? My parents used to tell me that all the time when I was a kid, and I think it subconsciously helped me with developing some grit.

This unwillingness to give up on an idea came in handy this month. I know last month I mentioned I was going to switch gears build an iOS app for the first time in 10 years, but I realized the idea I had was nearly technically infeasible. Nearly because I could have implemented it, but the UX required to launch that idea would have been terrible and would have required the build of a MacOS app as a companion to the iOS app and having the user context switch between their phone and their computer, so I decided to not explore this idea at the moment. I still may come back to it later, but it also doesn’t have a path to SEO relevance without spending $$$$$$ competing against giants in the space, so I decided to table it for now.

So, instead of moving onto that new app idea, I decided: “hey wait a minute, I’ve been launching startups for about 6 months now and I have a few ideas that haven’t generated any revenue - why don’t I try meaningfully improving one of those before so quickly moving onto the next idea?”

I think this is key because there’s a lot of common advice in the indie hacking / #buildinpublic community that says: “Launch as many ideas as possible and only commit once one of them takes off”

On paper and in practice, this makes a lot of sense. However, I’ve also come to the conclusion that it’s important to not give up too easily on any single idea, and the proof of this is below.

Pivoting https://simpleotp.com into a money-making business

A closeup of a US hundred dollar bill (Benjamin Franklin side).

“It’s all about the Benjamins” as the great scholar P Diddy tells us.

Simple OTP is one of my earliest products from month 2 of my startup journey. At the time, I was still figuring out (even today, it’s an ongoing learning process) how to market products and create a product that sells. I also had a short term mindset at the time, and I was thinking like this:

  • I want quick sales on day 1

  • I want recurring revenue from day 1

  • I want an idea that takes off from day 1 or it’s a waste of my time

  • The landing page doesn’t matter, just throw up a buy button as fast as possible and start making money

  • SEO is annoying and it can come later

Thinking like this was a mistake. My new thinking is:

  • I still want quick sales. But it’s OK to not make money on the very first day. That’s a rarity.

  • Recurring revenue is still the goal, but the cart cannot be put before the horse. It’s better to start with a one-time fee to validate the product because people are less likely to commit to a monthly plan immediately, particularly in a crowded industry with competing products all doing the same thing.

  • The idea needs to be given a full month to start to generate some revenue, and 100% effort needs to be dedicated for that month before calling the product a loss.

  • The landing page absolutely matters, and I’m going to spend the final week of this month migrating off the janky landing page builder I had been using, and instead roll my own using Tailwind CSS for a more modern look and feel + fewer outages (Carrd seems to go down a lot, Cloudflare Pages doesn’t).

  • SEO is super important even if it doesn’t pay off immediately. Next month, the product I’m building has a clear path to SEO dominance and I did keyword research ahead of time to determine how much organic traffic the product could hope to get. Simple OTP doesn’t, and it was a mistake to build something that doesn’t have this natural growth lever.

Of course, I still need to optimize for quick sales even with my new approach to launching products - I’m completely self-funded and fundamentally disagree with giving away equity to VCs, so I can’t afford to have a generous free plan and/or burn money buying ads for 10 years until someone buys the product. I need to make products that are so compelling that the paid plan actually makes sense for people to buy when they see the offer organically. In other words: I need to make real businesses, not toy projects propped up by external funding.

That said, not making a sale on the very first day is really not a dealbreaker from what I’ve come to realize. Sometimes the offer you’re making doesn’t make sense for the market and it’s worth a pivot.

With Simple OTP, I had started out with a typical SaaS pricing plan in the authentication space: $10 per month for a certain number of monthly active users. In hindsight though, this pricing plan doesn’t make sense for the crowded authentication space that I’m in:

  • All of my competitors offer a monthly plan with a similar number of MAUs. Why would people use Simple OTP when they can sign up with a more well-known competitor for similar money and get the same value out of the product?

  • There’s nothing unique about offering passwordless email-based authentication, many other companies do it

  • Authentication software requires high trust in the maker, and I’m just getting started with no credibility in the security space. Given that, why would anyone trust the Simple OTP black box to handle authentication for them?

So, I decided to make a major change to the product and pricing:

  • $19. One time. No more monthly subscriptions. One time fees are easier for people to stomach which is important in the early days of a product launch. I knew this to be true as someone who almost never buys subscriptions but sometimes buys one-time-fee products. Now I can make a few sales, get customer feedback, add social proof to the landing page — and maybe eventually add a cloud subscription-based pricing model where I host the product for people. But right now it doesn’t make sense. I’m in a position where I need to build trust, and it’s hard to do that by emulating the pricing model and positioning of competitors that have way more clout than I do.

  • Source code included for the entire product: authentication backend, client SDKs, and the admin dashboard. Very few auth companies are willing to do that - their source code is their secret sauce: they don’t want people to clone or exploit their authentication code. In my situation, I don’t care about this concern. Like I said, I need to build trust, and I’m not so full of myself that I think I can build the perfect auth product on my own. Including the source allows the community of people who care enough about my product to pay for it to give suggestions that will help me improve the security and/or functionality of Simple OTP.

  • I adjusted the landing page: the color scheme was a bit off, so I added a nice gradient to the buy button and called out the new one-time fee pricing plan.

This approach paid off immediately. I made 2 sales from random social media followers within a few hours of me making the change and re-launching the product; here’s one of the sales:

Those couple sales gave me the confidence to dedicate more time to the product. Now that I had a pricing model that was working, I thought to myself: “how can I make this better and hopefully make more sales?” Luckily, I didn’t have to think for very long because a user on IndieHackers gave me the answer when he responded to my re-launch post:

WebAuthn was something I had been thinking about anyway, and the additional feature request to add Passkey support gave me the motivation I needed to get it done. I spent the next 2 weeks shipping, and here’s a video which shows how the finished product works:

Luckily, a few days after shipping Passkeys and announcing on Twitter and LinkedIn that I had shipped the feature, I made a sale! This customer let me know that he specifically bought the product because he wanted to understand how WebAuthn-based passkeys were implemented:

It feels awesome to know that my intuition to listen to the prospective customer was right when I decided to add the Passkeys feature, that people value having this feature at my new pricing of $39, and that I’m helping at least one person solve their Passkeys problem. My goal in business is always to help people first and make a profit second - making money without providing value feels slimy.

Conclusion

Motivational sign in the window of a boxing gym.

Changing the pricing on my product and simply building features that customers wanted was a game-changer for https://simpleotp.com. Did I make a huge amount of money after shipping the change? No. Is any of this revenue recurring right now? Also no. But I went from $0 MRR to $108 in total revenue with a 92% profit margin. My new pricing model allows my margin to be as high as possible because my only expense is a domain name for simpleotp.com since people host the product themselves, so getting paid $108 is a win even if it’s a small win.

Now, for next month, I’m finally going to build a new product and it’s not an iOS app. Excited to announce what it is in next month’s post and I’ve already bought the domain name.

It goes without saying, but despite shifting my attention to a new product, I’m of course going to continue listening to Simple OTP customers and building more features, making fixes whenever I get requests - but it feels like the right time to add an additional revenue stream.

In the meantime, if you have any authentication needs, check out https://simpleotp.com and I’d be happy to personally help you onboard.

See you next month for another launch!

Join the conversation

or to participate.