A few months ago, I was looking for a course to revise the fundamentals of Java Spring framework. I was searching for a tutorial that gave me a quick walkthrough of Spring concept without going into too much depth so I can start to write code without spending much time on just reading. After few hours of search on various online courses sites, I found a suitable course for free.
A few days after, I was discussing with my friend about programming and he asked me where to find free video tutorials. I explained him the steps of finding free online courses that I followed. One month later to this, another friend who wanted to revise software testing concepts and asked a similar question.
I realized that other people also may have a problem with finding free courses. so I decided to build a site that has a collection of all free courses for different programming languages and tools.
But before spending time on brainstorming the features and building the full website I need to validate the idea. I wanted to make sure that there is a real need for it. So it was important before investing my time and energy into this project.
I validated the idea multiple ways before starting actual work on the product development.
First, I created a signup page with a simple template and messenger chatbot. I posted on various Facebook groups with the site and chatbot link.
In few hours 150 people signed up (53 people via email and 97 people via Facebook Messenger). This showed the potential of the idea.
As a next step, I collected all free programming courses and categorized them based on programming language. I uploaded the list on GitHub and shared on Reddit. This got 118 upvotes and a created pretty good discussion on Reddit. GitHub repository stared more than 50 times.
During this time, someone copied the whole list and posted on the popular blog in Vietnam and it turned into total 17,000 clicks in 3–4 days. (I had used URL shortener service to track the clicks and they copied all of them on the blog.)
After validating the potential of the idea, I started to work on building a website. I was working 2 hours in the nights during weekdays and 6–8 hours on weekends.
Build The Product
First, I brainstormed the list of features needed. The initial list was very long. As a maker, you always want to ship the product with all features and it can take so much time to build everything and you never know how many of these features customers will use.
Only build the features those solve the actual pain point for your audience.
The aim of the site was to keep it simple and easy for users to find free courses. By keeping this in the mind, I narrowed down the features that needed for first MVP launch. I designed few mockups on pages to get more idea before start coding.
After this, I started writing code to develop the website. In this process, first I designed the over all architecture of the site (important to spend more time on this), then built backend system and finally worked on front-end design. In a couple of weeks, a first MVP of Quick Code was ready.
The First Launch
The next step was to launch the first version to public. The best place for the product launch is Product Hunt. The site was ready one week in advance and I wanted to launch. I restrained my temptation and decided to launch the site in the long weekend of the Thanksgiving. The selection of the day for Product Hunt launch is very important. In the past, I have launched other products (Bot Stash, Product Huntian bot etc.)on Product Hunt that experience gave me a lot of good sense in selecting the launch day.
I posted Quick Code on Product Hunt on around 1:00 am PST. In the morning, when I woke up, Quick Code was already trending at #2 position on Product Hunt. I was on cloud nine. I checked live traffic and it was insane. Around 25–30 users were visiting the site every minute. I responded to all the comments on Product Hunt and thanked everyone on Twitter for sharing about the site. It is very important to involve in the community. By the evening, Quick Code was #1 on Product Hunt.
The traffic on the site was still same in the next few days. 10,000 people visited in the three days of the launch.
- Identify the niche for your targeted audience and launch to first. It validates your idea fast and gives you the confidence to build the actual product.
(In this case, I launched the list on the Reddit in ‘learn programming’ section and in the Facebook groups before writing the code.)
- Wisely utilize your time and resources in testing the idea market fit with the right audience.
- Don’t do over-engineering. Solve the most important problem of your users first. Add new features later to empower your users.
- Use channels like Product Hunt, BetaList to launch the product. (Select day and time of launch very carefully)
- Instead of looking for a specific idea, think about the problem you are facing in a daily life, find the patterns and try to solve it.
After the idea validation and launch, lots of new features have been added to Quick Code in last few months.
- A user can signup, Follow the subjects, Like & Bookmark the courses, Post comments or reviews on the courses.
- Find free online courses from 64 different programming languages, frameworks and tools categorized into 21 sections.
- Find free courses in 13 different native languages including Spanish, French, Chinese, Arabic & more.
- Get updates on new free courses on Telegram, Messenger, Email.