October 27, 2021
My Google search had returned a page of 10 terrible results. It’s not that the links were irrelevant. Rather, each of the results had clunky UI, huge ads, and were kind of ugly.
I had been scheduling international phone interviews and searched for timezone converters. Many of the existing converters used dropdowns for entering the time. They had numbers 1 through 12 for the hour and 1 through 60 for the minutes:
I built and launched my own converter the following weekend. I told the world about it with posts on Hacker News (HN) and Reddit r/programming and got lots of feature suggestions, many of which I implemented.
But traffic dropped back down to zero in the following days. Before starting to code I had written on a scratch sheet of paper “1000 visitors a month”. When writing this I had decided that if I passed this threshold I would work further on the project. So far it was looking grim.
Despite the low traffic my site had several advantages over the alternatives. Instead of dropdowns I parsed times from text inputs. For the design I drew inspiration from an Apple Dashboard widget for converting length. I had no ads. Here’s what it looked like:
Not all the feedback I received was encouraging. One said Wolfram Alpha already had an *awesome* time zone converter and another said it should have taken an hour not a weekend to create.
My new problem though was that people who actually needed the site didn’t know about it. It ranked somewhere way down on page 9 of Google. No one was going to find it there.
So I just waited.
I kept the site up and occasionally checked its traffic. I thought the page title and meta description would be important on the search results page so every few weeks I spent a few minutes tweaking those. I doubt it had any effect. But mostly I just kept the site live and let it sit.
Then I got lucky. About 9 months passed when one day I signed in to Analytics and found a sudden traffic spike. The publication Mashable had written an article on time zone converters and included mine in a list. I’m not sure how they found it. But unlike the traffic spikes from HN and Reddit this time the traffic stuck around. I had crossed my threshold of 1000 visitors a month.
I felt a fresh wave of motivation and suddenly had the energy to continue improving things. I was surprised to find that even more important than the traffic numbers were the emails I would get with bugs, feature suggestions, and compliments. These really kept me going.
This all happened about 10 years ago and I’ve worked on it ever since. The site now has more than a million visitors a month and earns a nice side income from a small ad.
I share this story for a few reasons. First, I’m launching a new time calculator that I’d love feedback on. Second, I really enjoyed the courageous post by Krzysztof Werys a few days ago about his 5 failed side projects which inspired me to share mine. And finally, although you shouldn’t blindly trust ”success story” advice I’ll share what I think worked in my case.
First, I tried to get confirmation that I was solving a real problem. I had the problem myself, though I’ve learned for me this isn’t enough of a signal. Maybe I’m weird. Maybe I’m the only one with the problem. Maybe I’m the only one who cares enough to seek a solution. Maybe I’m biased towards my own solution and can’t see its flaws.
In this case not only did I have the problem but the existence of competitors told me others did too. Competitors weren’t a red flag but rather a signal about a need in the world.
Second, I had a few ideas about how to be better than the alternatives at least for some uses. For example, one tradeoff I made was to forget about dates and only consider times (this meant the converter always assumed “today” for the date). This worked fine for scheduling things in the near future that didn’t fall past a daylight saving time change. My site was worse for people who had more advanced needs.
Third, I had a guess about how people were going to find the thing I made. It was the same way I found competitor sites: a Google search. When naming the site and choosing my first domain name, I spent time on Google Trends with different name variations and chose one that fit the way most people searched.
Finally, I set my expectations low. I personally believe in “happiness equals reality minus expectations”. I like to keep expectations low so that even a mildly positive outcome makes me really happy. I know this approach isn’t best for everyone and for some achieving only a small part of an audacious goal works better.
But there is one thing about side projects that I think applies to everyone. If we define a side project as something you spend your time on when you have freedom about how to spend it, then the overarching goal of any side project should be to make you happy. If it isn’t making you happy then why even keep working on it? Besides, that’s what your day job is for.