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.
Humble Beginnings
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.
Identifying Markets
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.
Cutting Ruthlessly
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.
Next Steps
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!
Conclusion
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.
Lawrence
I really like your way of splitting the free/paid users. Very clever.
Are you worried about the churn rate? As I read the first sentence it was my first thought: it seems like most folks only interview once every few years.
edit: I also like your logo :)
Thanks! I really like our logo too. I just replied about the churn rates to Andrea, right below :)
Hi Lawrence, awesome to see the success you've had so far!
I remember you posting for landing page/business model feedback on IH a few months ago shortly before you launched... really impressive growth in such a short amount of time.
Good luck for the future!
Hey louisswiss, I remember you! Thanks so much for your invaluable feedback!
Hey Lawrence that's an awesome idea! Just joined the mailing list. I have a few questions:
Thanks!
Thanks for reading and signing up dc! Happy to answer your questions.
We've tried many things from FB ads to referral/trial programs but the highest ROI method for us was to write on our blog and share the links on HN and r/programming. Our most successful (and my favorite) post is this: https://www.dailycodingproblem.com/blog/how-to-find-arbitrage-opportunities-in-python. It brought 9k visitors and about 1% of them signed up from that post. We also write about interviewing tips.
I gathered lists of problems my friends were asked in interviews. I have to word the problems to be totally unambiguous, so I usually have to rewrite them to be crystal clear. I also come up with some myself.
Let me know if you have any other questions!
Makes sense! Thanks Lawrence.
This comment was deleted 5 years ago.
I highly recommend creating some sort of rating system for the developers that get questions correct. Then companies can pay you a monthly fee to access your backend and see highly qualified developers. Or rather than charge a monthly fee, you can get a recruiters fee if they are hired. I actually believe this business could be HUGE. Congrats man!
Also, what other fields do you think this could apply to other than developers? This could be applied to other positions for sure.
This was great, thanks for sharing.
Do you mind me asking how many free subscribers you have?
Hey Trevor, thanks for reading! We have about 3000 free subscribers.
Thanks for sharing, Lawrence!
I love (LOVE!!!) how you could scale such a simple business (in terms of tech), definitely great vision here, congrats!
PS: I am not envious at all ;)
PPS: Move to Portugal, $2k a month is better than most people's salary so you can get a hell of a lot more than Ramen here, not sure how good the Ramen you can here is tho hahaha
What software are you using to send/make your newsletters?
Hey George, great question. We have a custom stack built on top of Heroku and Sendgrid. We have a cron script that emails everyone every day.
This comment was deleted 5 years ago.
Hey Andrea, great question. You're definitely right that we're going to see a lot of churn due to people getting a job. However, I think tech is still a growing field so hopefully that makes up for the churn. Plus, if they find a job thanks to DCP, hopefully they can recommend it to their friends :)
With a happy customer base, I’d move up market. Companies gladly pay 💰 for a single person to come in and give workshops about the latest tech. From tensor flow to react, large enterprises always want to level up theirs teams and what better way than a daily email challenge. For large companies I’d charge $5000 per technology with a detailed report at the end how the team did.