Last updated: April 2019
Hi! My name is Clément Mihailescu. I'm a Software Engineer at Google and the co-founder and CEO of AlgoExpert.
AlgoExpert is a website that helps prospective Software Engineers prepare for algorithm-intensive programming interviews. The website offers 65 curated practice interview questions, with more being added periodically. Each question is accompanied by:
Ever since our official launch in September 2017, our gross monthly revenue has followed a healthy upward trend, breaking $2,000/month in April 2018 and 40,000/month in April 2019.
Entrepreneurship has always been an intrinsic part of who I am, from high school days spent working on small projects with friends to college years spent taking a series of classes on entrepreneurial management. In fact, the pull towards entrepreneurship is why I decided to enroll in a coding bootcamp immediately after graduating from college with a degree in Mathematics. I wanted — I needed — the practical programming skills to turn an idea into a real, working product.
The idea of AlgoExpert came to me while preparing for my own tech interviews in February 2017.
I had just graduated from a coding bootcamp and realized I was underprepared in the domain of algorithms. I began reading through page after page of dense interview prep books, and scouting the web for YouTube videos that might shine a speck of light on cryptic text solutions to the algorithm problems that I was coming across. I dreamed of a world where I could just open my browser, quickly find a good interview question, code out a solution for it in my preferred programming language, get hints if I was stuck, run my code against premade test cases, and watch a video explanation of the solution to truly understand the problem — all in one place.
That's when I conceptualized AlgoExpert.
And a couple of weeks later, after pitching the idea to one of my best friends and now co-founder Antoine Pourchet, a Software Engineer at Uber who had experienced the same struggle during his interview preparation, AlgoExpert was born.
We started developing AlgoExpert at the end of February 2017, just two months before I started my full-time Software Engineering job at Google.
It took us about a month and a half of non-stop work to build and launch a closed, free Alpha version of the website in April 2017. This version had the core functionality of the current website with roughly half of the questions, minus C++ and Java support, mobile responsiveness, and a few other non-essential features.
Since then, we've been juggling our full-time day jobs with our AlgoExpert responsibilities, squeezing in every possible opportunity to put time towards it and often working 100-hour weeks. My weekday commutes are dedicated to working on AlgoExpert. My 40-minute morning and evening train rides are typically spent developing new features on my laptop, and I generally use my 15-minute morning and evening subway rides to send emails to partners and customers from my phone. My weekday evenings and nights are likewise spent working on AlgoExpert. And my weekends — you guessed it — are also, in large part, spent working on AlgoExpert. Building this out has taken a lot of focus and dedication, and we think it’s been worth it.
The website is a React app running on Google Kubernetes Engine and Google Cloud Datastore against a Go backend. We've built our own code-execution engine optimized for speed to drive costs down, and we rely on Docker containers for network and resource isolation. Our metrics-tracking, monitoring, and alerting efforts are driven by Stackdriver and Slack bots.
In terms of funding, we decided to finance it ourselves with a one-time investment of $2,500 each, which covered our initial fixed costs and left us with a few months of runway. Start-up expenses included an iPad Pro for the "whiteboard" portion of our videos, mandatory LLC-formation fees, hosting, etc. AlgoExpert has been self-sustaining ever since.
When we launched our Alpha in April 2017, we had a modest zero users. Since then, we've grown very organically to over 3,000 users, thanks in large part to my connection to Fullstack Academy (FSA), the coding bootcamp I attended between September and December 2016.
In the early months of our business, we gave the product out for free to FSA students who contacted me with questions about my post-bootcamp journey. We received great feedback from those early users and testers, which helped validate the product. Eventually I started teaching a class on algorithms and giving an evening talk on programming-interview preparation every six weeks at FSA, advertising AlgoExpert in the process. I also did an interview about these topics on a friend's podcast.
Slowly but surely, people started buying the product, enjoying it a lot, and spreading the word.
In September 2017, our first month actually selling the product, we made three sales. The next month, we made about 15, and our monthly sales have continued to increase ever since. In April 2018, we surpassed 40/month with the help of advertising that we placed on Quora in order to supplement our other marketing efforts, and in August 2018, we closed a deal with FSA whereby they would buy a copy of AlgoExpert for each and every student in all of their programs.
Since then, we’ve focused on aggressive social-media marketing: guest posts on coding blogs, Facebook/Google/LinkedIn/Reddit/Quora ad campaigns, and sponsored videos with YouTubers in the Software Engineering field. Our advertising through YouTubers, which we started in November 2018, has generated the best results thus far.
Month | Customers |
Sep '17 | 3 |
Oct '17 | 18 |
Nov '17 | 12 |
Dec '17 | 16 |
Jan '18 | 15 |
Feb '18 | 21 |
Mar '18 | 26 |
Apr '18 | 41 |
May '18 | 55 |
Jun '18 | 37 |
Jul '18 | 31 |
Aug '18 | 272 |
Sep '18 | 143 |
Oct '18 | 14 |
Nov '18 | 176 |
Dec '18 | 369 |
Jan '19 | 339 |
Feb '19 | 366 |
Mar '19 | 708 |
Apr '19 | 809 |
Our product is very simple with a deliberately narrow and targeted scope. We sell access to our platform (questions, videos, coding workspace, etc.) for a $70 one-time fee or $25 a month.
Some of our targeted customers get a discount via special promo codes. In fact, if you're reading this and would like to purchase AlgoExpert, use the promo code indiehackers on our purchase page to get a discount!
Our goal since day one has been to keep the website as simple and focused as possible. We provide our users with a convenient and practical tool to help them learn how to solve algorithm problems in the scope of a programming interview. We do that one thing and that one thing only, but we do it really well.
AlgoExpert has three huge competitive advantages over the other products that exist in the space:
As an online software company, we've been fortunate to have fairly low expenses. Our current monthly expenses are as follows:
The only two costs that we anticipate will increase significantly in time are advertising costs and of course, Stripe costs.
When we developed our product, we optimized for simplicity and cost minimization. Simplicity meant outsourcing certain complex features like our payment-processing and authentication services. We use Stripe for the former and Google OAuth, Facebook Login, and Github OAuth for the latter. Cost minimization meant implementing our own version of features when it made financial sense to do so. For instance, we built our own code-execution and an in-house continuous integration tool because we had the necessary expertise and because it saved — and continues to save — us a lot of money.
Our gross monthly revenue has naturally followed the same growth as our sales, with April 2019 being our best month to date at $40,000/month. Note that we experimented with our price a bit throughout the months, which explains some potentially puzzling figures.
Month | Revenue |
Sep '17 | 200 |
Oct '17 | 950 |
Nov '17 | 600 |
Dec '17 | 1000 |
Jan '18 | 750 |
Feb '18 | 1000 |
Mar '18 | 1100 |
Apr '18 | 2000 |
May18 | 3052 |
Jun '18 | 1996 |
Jul '18 | 1780 |
Aug '18 | 11340 |
Sep '18 | 6022 |
Oct '18 | 746 |
Nov '18 | 7465 |
Dec '18 | 15511 |
Jan '19 | 14435 |
Feb '19 | 15081 |
Mar '19 | 31323 |
Apr '19 | 40052 |
Our main goal moving forward is to continue growing our user base.
An avenue that we're considering is to potentially partner with various coding bootcamps, where students lack the algorithms and data structures preparation and knowledge required for tech interviews. Ideally we'd like to actually incorporate AlgoExpert in their curriculum. We're also exploring the possibility of teaming up with the creators of popular programming-interview-prep books and other online platforms.
Ultimately, as mentioned above, our primary objective and challenge going forward are one and the same: to expand our market and to get our product in the hands of thousands of users.
Building out AlgoExpert over the past year has been incredibly rewarding and has taught us some invaluable lessons. The two that stand out to me the most are:
1. Your company's founding team is indescribably important.
2. You have to put in the work.
It's very easy to come up with cool ideas, to fantasize about what they could look like, to tell people about them, but never to materialize them, especially when you have a full-time job. If you truly want to launch a business, you have to pour your heart and soul into it, and that involves a lot of hard, sustained work.
Needless to say, check out AlgoExpert! If you have any questions about the product, ask us via our contact form. And if you’d like to get in touch with me, reach out on LinkedIn.
Can you talk more about why you decided to create AlgoExpert when there were a lot of free tools like leetcode which are very popular out there? I understand that with your in-depth videos, it makes your product very compelling, but before you even started AlgoExpert, did you have the strong belief that just adding the high quality videos could beat leetcode?
Superb honest content. Loved it.
Hi Clément, congrats on launching AlgoExpert together with Antoine!
My friend Jannine Chan, who's also an alumi from the Full Stack bootcamp in NY, shared this link with us. It's awesome that you guys have been bootstrapping AlgoExpert as a side-project while having what I assume to be fairly demanding full-time jobs.
My husband Chris and I left New York last June and returned to Vancouver, Canada to work on building CozyCal (https://www.indiehackers.com/product/cozycal) together. The journey of bootstrapping a SaaS is not easy for me as I don't have a tech background. But I enjoy the learning process and seeing CozyCal's gradual growth is rewarding.
I'm excited to see where AlgoExpert's heading next.
Hi Kat,
Thank you! It's great to hear that a fellow Fullstack alumnus shared the interview with you.
And it's always awesome to hear from other entrepreneurs working on projects! I love seeing the way others have grown their businesses - super cool to look at your journey on your Indie Hackers product page.
Best of luck with CozyCal!
Awesome stuff! Very inspiring! And yes the 2 big icons at the bottom need to be made smaller. Rest looks neat!
Thank you for the kind words! And we're going to look into the icons; I appreciate the feedback.
Very cool. Nice idea, great execution.
Just a feedback. On my far-from-latest, 2GB-RAM mobile the page seems quite heavy, meaning very sluggish scroll. Browser was latest Chrome.
Please check it out if time and priorities permit.
Thanks a lot for the positive words!
As for the issue, we’ll try to take a look when time permits. What OS are you running? We haven’t heard this feedback before, so I’m wondering if it’s unique to an old OS version or machine.
Would love to hear more about "Our metrics-tracking, monitoring, and alerting efforts are driven by Stackdriver and Slack bots."
Stackdriver lets us gather metrics from the logs of our Docker containers in production so we can get aggregated counts per service / endpoint / status code. It also lets us set thresholds for those counts, meaning we get emails when a certain number of 500s (for instance) occur within a given time frame. On top of all of this we have a daemon that continuously runs integration tests on the production API, alerting us through Slack if any of those fail. This runs 24/7 and has been super useful during bad deploys, allowing us to roll back quickly with very little downtime. None of it is super fancy, but it really gives us confidence that the site is up and that the core functionality is there for our users with a few nines of availability!
Thanks! Very cool setup.
You can set up slack bots to monitor stuff and alert you right inside Slack (well obviously).
Yes. I want the details. What are they monitoring, alerting on, etc
Congrats!
Your site is really well done and and thought-out.. until I got to the very bottom. Those two massive white icons were never meant to get that big. I'd find other images to put in there, or reduce the size of those icons and put them on top of the copy blocks. IMO!
Hi Peter,
Thanks for the kind words and the feedback - much appreciated! Regarding the icons, is your feedback based on the mobile version of the website, the normal version, or both? Either way, we'll look into it!
Of course, happy to help. Haven't looked on mobile, but I was referring to desktop. See here: https://cl.ly/3N0E1w0p1z1w
Personally, I'd reduce their size by 80% and put them above the headlines, centered.