My simple Github project went Viral

Gourav Goyal

Gourav Goyal

Apr 12, 2021

Last month (Mar'21), I made a simple project which got spread in various tech communities and social media. On Github, It reached from 0 to 4k+ stars and 200+ forks within 7 days. Github featured it in Trending repositories of day section for straight 5 days or so.

Trending on Github - 13 Mar'21
Trending on Github - 13 Mar'21

Clone Wars
70+ open-source clones or alternatives of popular sites like Airbnb, Amazon, Instagram, Netflix, Tiktok, etc. List contains source code, demo links, tech stack, and, GitHub stars count.

Project link: https://gourav.io/clone-wars
Github link: https://github.com/gorvgoyl/clone-wars

Motivation behind this project

I'm a techie and many a time I lurk in popular programming communities on Reddit like r/webdev, r/reactjs, etc. to see what other devs are building or if any new JS framework is popping up. I noticed many devs were making clones of popular sites like Instagram, Trello, Spotify, etc. as part of their learning purpose, and they were sharing it with others to get feedback in terms of code quality and best practices.

devs sharing their projects in r/reactjs
devs sharing their projects in r/reactjs

These clones were scattered all over the communities. So, I thought why not create a single list of all these clones which people can bookmark and revisit later for whatever purpose they need it for. Honestly, I wasn't entirely sure at that time whether it would provide any good value to others or not. So, there was a way to find out that is to build it myself!

How I built it

1. Scraping Reddit

I wanted to get all posts that contain the "clone" keyword. I initially did it with default reddit search reddit.com/r/reactjs/search/?q=clone&source=recent&restrict_sr=1&sort=new, (means look for all posts in reactjs subreddit with "clone" keyword and sort by new). It returned all posts, but that also included low-quality posts with 0 upvotes, questions on how to build a specific clone, etc. It would be a headache figuring out good clone projects from that dump. So, I used redditsearch.io instead, which provides advanced Reddit filtering like return posts that have at least 10 upvotes, posted during a specific timeline, etc.

Next, I made a list of all these clones, their Github repo, demo links, tech stack. It was manual work.

Additionally, I googled "open-source alternatives" and found some fully-functional clones of Slack, Airtable, Bit.ly, Evernote, Google analytics, etc. I added these to the list.

So, now there are 2 kinds of projects on the list. The first ones look quite similar (UI-wise) but aren't fully-functional and the other ones which are fully-functional but UI is different (to avoid copyright issues, etc).

Naming the project

I named my project after Star Wars 2008 TV Series: "The Clone Wars" and also kept the similar color scheme of OG image.

Star Wars 2008 TV Series: The Clone Wars
Star Wars 2008 TV Series: The Clone Wars
Clone Wars: Github project
Clone Wars: Github project

2. Pretty view of table

I've worked with markdown before, but it was the first time I was working with markdown table and realized table view sucks on Github project page. Especially, if it's a long table with multiple columns. I needed to make it look better (sticky header) which meant I needed to deploy this project somewhere else. I still needed it to be on Github so that others can collaborate easily. I decided to host it on my personal site https://gourav.io.

My site is built using NextJS, and I was already using markdown (mdx) to write blog posts, so it was just a matter of copy-pasting markdown file from my Github project to new page https://gourav.io/clone-wars. And on top of it, I use Tailwind CSS with "typography" plugin which makes tables pleasing to read along with other text.

I thought of automating it to the next level i.e. if any change happens to the Github project or someone's PR gets merged, update the same on my site https://gourav.io/clone-wars. But, decided not to over-engineer it as changes weren't that frequent.

Making it Viral

I posted in 2-3 subreddits and it took off 🚀

reddit.com/r/reactjs
reddit.com/r/reactjs
reddit.com/r/webdev
reddit.com/r/webdev

Serendipity

Once the project gained some popularity many developers started raising PR to add their clone projects to the list. When I started it had around ~75 clones, but now it's more than 120+ and I still get new PR every now and then.

I got to know from a friend that it was picked by React Newsletter. Such a serendipitous moment.

People were tweeting about Clone Wars. @nickbulljs suggested a neat idea for devs who are looking to get hired.

I got 150+ new followers after this tweet :o

And one person donated $5 from BuyMeACoffee link I put on the project. Love you stranger.

100+ developers subscribed to my newsletter.

Within 30 days of launch, 40k+ people came to my personal site and viewed my project (80k+ views).

Here are some users insights (first 30 days since launch i.e. from that Reddit post):

Top referral sites
Top referral sites
Users by countries
Users by countries
Users by OS
Users by OS
Users by browsers
Users by browsers
Currently, this project has GitHub repo stars and GitHub forks

Update: 14 Apr'21

Someone shared this article on Hacker News and it hit #1 on front page!

Front page of HN - 14 Apr'21
Front page of HN - 14 Apr'21

Update: 24 Apr' 21

Host of Tech Podcast (Map Reduce Filter) found out about Clone Wars project and invited me to be his guest. It was my first-ever podcast 🙌.
🎧 Listen here: Clone wars with Gourav Goyal | Journey from Job to Incubator to Co Founder to Indie Hacking

Thanks for reading. Would love to hear your thoughts about it. Connect with me on Twitter.

Share
Enjoyed reading?

Get latest articles in your inbox. I write about tech, startups, and my past learnings.


Gourav Goyal

Gourav Goyal