My side-project, Keepthescore.com, has finally hit the $10k monthly revenue milestone. It’s a webapp that allows you to create scoreboards and leaderboards. The 10k is gross revenue and includes MRR (subscription revenue), one-off payments and advertising revenue.
As tradition demands, here is a post sharing some lessons learnt so far.
I want to show that this journey is absolutely possible – once a few prerequisites are in place. Even if you’re not about to quit your job to code (and market!) your own product, I hope you’ll still find some interesting insights.
First, a brief recap of the timeline so far.
- 🚀 Late 2016: Coded and launched the product. You can see the version I launched here.
- 🌃 2016-2020: Worked on the product nights and weekends.
- 💳 September 2020: Added monetization
- 💯 March 2021: Quit my job and went all-in. Read more about that here.
- 💰 October 2023: Reached 10k gross revenue.
Onto my learnings:
1. You need a validated idea to get started
I know what launching an unvalidated idea looks like, and it’s very frustrating. But when exactly is an idea validated?
Let’s start from the opposite end: your idea is definitely not validated if
- Your mom says it’s really good and she would totally buy your app
- You manage to convince someone else to partner up with you
- You have a “waiting list” with 500 email addresses
There are lots of ways to validate your idea, including using specialist interview techniques or getting customers to pay you upfront.
I took a different route: I built 10 different projects, most of which either failed outright, or never made any significant revenue. Two projects ended up gaining traction: One was Kittysplit.com, but it was made by a team and I have since sold my stake. The other was Keepthescore.com.
Keepthescore.com was a toy project I used to teach myself web-development. I had the idea after walking past a whiteboard that had some names and scores scribbled on it. What amazed me was that it grew by itself from the start. After I added payment it began making money too: 500 USD per month. This was the final signal I needed: the idea was validated and I could quit my job and take a bet on it. So I ended up in the domain of score-keeping mostly by accident, not by design.
It took me 10 years to find a validated idea, I suggest you find a quicker route.
2. You do not need venture capital
The narrative that the only way to build a product is with massive injections of cash is simply not true.
Not only is getting VC funding often a false signal (it’s not validation for an idea), it means you suddenly have a very impatient boss. Also, too much cash can kill companies. In fact, the age of cheap money that we are leaving behind has caused damage beyond the burnt-out hulks of insanely overfunded startups. There is a convincing argument that the complexity of microservices and frontend development was directly enabled by a glut of VC cash.
Instead, a more sustainable route is to build a product first and prove that it can make money. If you manage it without external investment, reinvesting whatever money comes in, then this is the definition of bootstrapping. Also, your product will almost certainly end up better if your resources are seriously constrained. And if you do find massive demand, you can STILL get funding later.
If you require investment, there are other ways to fund your journey, for instance using “indie VCs”. These will be better for your own health as well as that of your company. Rob Walling, a veteran bootstrapper, coined the 1-9-90 rule: 1% of startups should use VC money, 9% should use indie VC money, 90% should just bootstrap.
There’s a 50% chance I will take indie VC money at some stage: it will help me reach my destination quicker.
3. Don’t follow your passion
Am I passionate about score-keeping or scoreboards? The answer may surprise you: nope! I ended up here by accident, remember. However, I am passionate about solving problems, making customers happy, working on a product that has traction and telling stories.
I think the whole “follow your passion” advice is unhelpful at best. For a long time I had no idea what my passion was, and I worried about it. Now I know this was totally fine.
Better advice would be “Show up. Be helpful. Get feedback. Be reliable. Don’t give up too early”.
4. There are no quick wins
Image from Baremetrics.com
The “overnight success” stories where some guy wakes up and has made 5k overnight are rampant on Twitter. But they do not reflect the reality of most founders.
Instead, it’s a long slow grind. There are no quick wins. Every second initiative you start won’t work out. The ones that do work out will only give 30% of what you expected. One founder famously called the typical journey a “long slow ramp of death”.
That’s just the way it is.
“When you are going through hell, keep going”
– Winston Churchill, War-time Prime Minister and SaaS Founder
5. Content is King
Like most technical founders, I had very little idea about marketing when I got started. I would not have believed how much time I would spend on marketing and indeed, how much of that would be writing unglamorous content.
However, writing lots and lots of text to cater to internet searches turns out to attract lots and lots of customers. The thing is: it takes time. Time to write and time till you see results. This has basically been my marketing (and SEO) strategy so far. Here is what my SEO stats look like for the past 6 months.
I used to dislike writing this content but now I quite enjoy it. Not only does it force me to research topics that often lead down new avenues, it has made me a better product developer.
Why? Because when you are writing a post that someone on Google will hopefully click on, you are truly starting at the beginning of the customer journey and you get to curate and design everything that comes afterwards.
Anyway, be prepared to research, write and tweak a lot of text. Do not outsource this at the beginning, because the quality won’t be right.
6. Do stuff that moves the needle
This is a hard one. But it’s probably one of the most important things you can do.
Again, let’s start from the other end. Here’s some stuff that won’t move the needle:
- Translating your app. (Don’t do this until you are well beyond 20k monthly revenue).
- Launching a new design and logo
- Adding dark mode
- Going to conferences
- Writing clean and elegant code
- Increasing your social media footprint / followers
As a very general rule-of-thumb: things that are at the start of the user journey (marketing, SEO, landing pages) or things that relate to pricing will have the largest impact. The fun stuff – building features – has far less impact. Sad but true.
As a one-man show, I am acutely aware of how little time I have but I still try to move fast. I have gotten comfortable with leaving stuff unfinished and moving on to the next thing. If it’s working out, I will come back and finish it, if not, it will get killed and removed. Completing everything to 100% is a luxury that nobody has.
Examples for this: My product did not have a login or user accounts for over three years. Yet it still grew! I was actually able to integrate payment without a login. When I did finally add a login, I left out the password reset flow for another 6 months. It was fine!
If you are lucky, you will have data telling you that you are working on the right thing. If not, you will trust your gut. And your gut will get much better as you go along.
Finally, of course I sometimes knowingly waste time or work on stuff simply because I feel like it. I am doing this to have fun and to have freedom, after all.
7. Allow your customers to pull you in new directions
You should be talking to your customers as much as possible. You already know that. Some of their ideas will be terrible, some will not fit your vision, some will be a solution for an audience of one. And sometimes you will hear things that you outright don’t understand.
For me that day came when a customer mentioned 3 letters: “OBS”. I ignored it. Then another customer mentioned these letters and then another. I decided I had to investigate and – oh boy, did I fall down a rabbit hole into a whole new wonderland.
It turns out that OBS is a software used by streamers. And it is huge. It turns out there are many hobby enthusiasts streaming their league games, their school sports, their private matches. It turns out that these streams require the current score to be shown in the stream.
I discovered that my app was actually a pretty decent solution for the OBS use-case and that I needed to focus on it more. I began working with a freelancer who now builds my streaming scoreboards. This has turned into a significant portion of my revenue, and it was my customers who led me there. The lesson here is you need to be open to change and know when to ignore your customers and when to listen to them.
As an aside, this is an interesting result of having a product that has so many potential use-cases. It’s also a curse: there are a thousand rooms in the palace and most of them are filled with junk. A few contain treasure, yet I will never be able to explore them all.
That’s all!
I had many more things to write about, including copycat products, building in public, metrics and tech stacks. I’ll keep those for next time.
Thanks for reading this and In case you are wondering: I am having the time of my life.
Follow my journey on