paint-brush
My Journey Of Going Viral With A Humble Github Project 🚀by@gorvgoyl
164 reads

My Journey Of Going Viral With A Humble Github Project 🚀

by Gourav GoyalMay 18th, 2021
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

The clone-wars project is a list of 70+ open-source clones or alternatives of popular sites like Airbnb, Amazon, Instagram, Netflix, etc. List contains source code, demo links, tech stack, and, GitHub stars count. On Github, it reached from 0 to 4k+ stars and 200+ forks within 7 days. It was featured in Trending repositories of day section for straight 5 days or so. The project was named after Star Wars 2008 TV Series: "The Clone Wars"

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - My Journey Of Going Viral With A Humble Github Project 🚀
Gourav Goyal HackerNoon profile picture

Recently (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)

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)

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

Clone Wars: Github project2. Pretty view of table

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/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 on Twitter suggested a neat idea for devs who are looking to get hired.

I got 150+ new followers after that 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).

You can see users insights at the end of the article on my blog.

Thanks for reading, I hope you enjoyed it.

Previously published at https://gourav.io/blog/my-simple-github-project-went-viral