Several 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 you’re not familiar with DCP, it’s a mailing list that sends subscribers a coding interview question every day. It’s free to subscribe, but you can see in-depth solutions and explanations if you buy a $9 / month paid membership. In this post, we’ll 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. It’s 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 wasn’t my first venture. It’s not even my third or fourth or fifth. I’ve tried seven different business ideas, ranging from iPhone apps to sleep timers to an intelligent flashcard app to a social music website. I’ve 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 didn’t 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 subscribe, 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 don’t scale.
Even though this is a small side project, we want to make the experience better for our users. Here’s what we’re focused on right now:
- Lowering our churn rate. Our churn rate is about 10%, which is quite high. We want to figure out why they left. Did they find a job?
- Bettering the user experience. We want to calibrate the questions better so that the difficulty ramps up appropriately. We also want to make sure our solutions are top-notch and crystal clear.
- Getting the word out. We’re thinking of more interesting problems to write and post on our blog. These are ones that are short but don’t rely on a special trick to solve.
- Contacting press and other sites. We posted DCP on Product Hunt and got the #2 Product of the Day, and were also featured on a tech news site!
Do you have any questions or comments about this article? Feel free to reply or comment or email us at [email protected]! 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.