"Failures teach you more than success" though has become a cliche, is true. Atleast i think its true. I haven't had "success" to suggest otherwise.
I started working on smurly, a tool to generate cool dynamic short urls in 2019. Launched it in 2020 after a lot of procrastination. It failed, terribly. Here are some of the things that i have learned from that failure.
A side project can start from an idea but a product starts from a problem. People don't pay beacuse your idea is cool, they pay beacuse your product solves a problem.
This was my first mistake. I started building beacause I had an idea. When i started thinking about who is this product for or most importantly what problem does it solve, i quickly understood that this was not going to work. You look at most successfull bootstrapped startups like NomadList or HypeFury or HighRise or FeedbackPanda, they all started to build something beacuse they wanted a solution for a problem not because they had a idea.
Not a good advice to give as a developer, but great advice as a inidiehacker. I work as a software consultant and writing effecient code is a requirement for my job. When i first started building smurly, i wanted my code to be neatly organized, follow the best coding practice, run fast and have a ton of tests. I spent a lot of time on these things. Instead i could have shipped it, checked if it was worth the effort and then worked on perfecting the codebase. It's okay for your first release to be unoptimized. What you need is a decent foundation which you can then perfect over time and eventually build upon.
Build in public. Let people know what you are building. Tweet about it, blog about it, make videos about it or if you want to take it to the next level, live stream your development on Twitch.
I was wary of sharing information about smurly beacuse i thought someone might steal my idea and launch it before me. Now when i look back, it was easily one of the dumbest thing that i have done in my life. It's not the problem, it's the execution that matters.
Nobody wants to put time, effort and money into a product that no one uses. Think about who is this product for? Where do my potential users / customers hangout online? How can i show the value this product generates for users?
As a developer i ignored this part of product development. I was naive to think that people would come to my web app becuase it was cool. Later i realised it was only me who thought it was cool. I learnt my lesson the hard way.