February 21, 2018
Six months ago, I launched Daily Coding Problem. It now makes $2,000 in monthly recurring revenue (MRR) and is steadily growing, which is just about enough to pay rent and living expenses. In the startup world, this is called ramen profitability. If youre not familiar with DCP, its a mailing list that sends subscribers a coding interview question every day. Its free to subscribe, but you can see in-depth solutions and explanations if you buy a $9 / month paid membership. In this post, well talk about how we started Daily Coding Problem and some ideas that I think helped us.
In my senior year, I was interviewing with several companies along with several of my classmates, and we were all in a Facebook group chat. I started sending tricky interview puzzles each day to practice, and we would all race to solve them. After about a month of consistently doing this, all of my friends landed jobs at Google, Facebook, and Amazon. They credited my daily interviewing questions as the reason why they got the offers. I was extremely happy to see them succeed because of me! It also made me think that there was a valuable business opportunity here.
Coding interviews can be tough, and so this is an area that people will pay money to get better at. Its quite a painful process, even for computer science grads. Learning how to pass technical interviews can be one of the best investments you can make since top tech jobs are paying so much. For example, typical new grad compensation at one of the big top tech companies (Google, Facebook, Amazon, Apple) can easily hit $200,000, including bonuses and equity! I decided to partner up with a good friend and coder that I trusted to build out my interviewing prep service.
Daily Coding Problem wasnt my first venture. Its not even my third or fourth or fifth. Ive tried seven different business ideas, ranging from iPhone apps to sleep timers to an intelligent flashcard app to a social music website. Ive made plenty of mistakes and will make plenty more, but the most common pitfall I see in entrepreneurs is a tendency to make everything complete and perfect. Every related feature has to be built, every pixel needs to be perfect, and every service must be automated and scale infinitely.
Instead of that, cut as much functionality as you can and just launch. Cut even more than you think is possible. Our launch was literally just a landing page and a signup form hacked together using Stripe. We didnt even have a way to automate sending the emails. I wanted to launch literally the same night I came up with the idea. If no one subscribed, then we could quit right then and there and only lose one night of work. If people did subscribed, that quickly validated the idea that people would pay for such a service.
After setting up a landing page, writing a blog post, and posting it to a couple sites, we got 17 subscribers the first night and ten times that number of revenue. So now that we validated the idea, we got to work automating sending emails and unsubscribing. But for the first couple of days we sent all our problems manually on Gmail every day to our 17 subscribers! Do things that dont scale.
Even though this is a small side project, we want to make the experience better for our users. Heres what were focused on right now:
Do you have any questions or comments about this article? Feel free to email us at email@example.com! Thanks for reading.
Are you interviewing for programming jobs, or do you just enjoy fun programming questions? Check out our newsletter, Daily Coding Problem, to get a question in your inbox every day.