57
16 Comments

Growing to $40,000/mo Helping Developers Ace Programming Interviews

Last updated: April 2019

Hello! What's your background, and what are you working on?

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:

  • an in-depth two-part video explanation consisting of a conceptual "whiteboard" overview of the algorithm at hand, covering its inner workings and its space-time complexity analysis, and an entire coding walkthrough of the solution
  • written solutions in five popular programming languages (JavaScript, Python, C++, Java, and Go)
  • a full-fledged coding workspace where you can type out your code, run it against pre-made test cases, and look at hints if you need help

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.

AlgoExpert Coding Workspace

What motivated you to get started with AlgoExpert?

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.

AlgoExpert Sample Video

What went into building the product?

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.

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.

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.

AlgoExpert Questions List

How have you attracted users and grown AlgoExpert?

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

What's your business model?

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 Testimonial

What is your competitive advantage?

AlgoExpert has three huge competitive advantages over the other products that exist in the space:

  1. Our comprehensive explanation videos — no other product has this, and we've heard time and time again from our customers how invaluable our videos are. Our videos truly distinguish us from everybody else.
  2. The all-in-one-place aspect of our platform — we give you 70 curated questions that you can code out right there on the website in any of 5 popular programming languages, with hints that you can toggle, test cases that you can run your code against, and written solutions that you can refer to, all in the same place. You don't need to supplement your study with YouTube or to write your own test cases and struggle to figure out if your solutions are correct.
  3. Our price — at just a dollar a question, our price is simply unbeatable for the content that we provide.
AlgoExpert Testimonial 2

What are your finances like?

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.

We do that one thing and that one thing only, but we do it really well.

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

What are your goals for the future?

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.

AlgoExpert Home Page

What are some lessons you've learned?

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.

  • You need to have a strong relationship that's based on trust and open communication (if this sounds like marriage advice, it's because a founding team is very much like a marriage). My co-founder Antoine and I are incredibly fortunate to have such a strong relationship, which has allowed us to build AlgoExpert completely remotely (I'm based in New York City, whereas he's based in Silicon Valley) with virtually no problems or friction. Without trust and communication, we would have had a tremendously difficult time accomplishing this.
  • You need to have complementary skill sets. My frontend skills and product management tendencies meshed perfectly with Antoine's expertise in developing robust APIs and scalable infrastructure. Had our skills overlapped too much, we might not have been able to create every part of our business.

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.

How can we learn more?

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.

  1. 1

    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?

  2. 1

    Superb honest content. Loved it.

  3. 1

    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.

    1. 1

      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!

  4. 1

    Awesome stuff! Very inspiring! And yes the 2 big icons at the bottom need to be made smaller. Rest looks neat!

    1. 1

      Thank you for the kind words! And we're going to look into the icons; I appreciate the feedback.

  5. 1

    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.

    1. 1

      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.

  6. 1

    Would love to hear more about "Our metrics-tracking, monitoring, and alerting efforts are driven by Stackdriver and Slack bots."

    1. 1

      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!

      1. 1

        Thanks! Very cool setup.

    2. 1

      You can set up slack bots to monitor stuff and alert you right inside Slack (well obviously).

      1. 1

        Yes. I want the details. What are they monitoring, alerting on, etc

  7. 1

    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!

    1. 1

      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!

      1. 1

        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.