https://gourav.io/blog/my-simple-github-project-went-viral Gourav Goyal Blog My simple Github project went Viral Gourav Goyal Gourav Goyal GorvGoyl@GorvGoyl on twitter 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'21Trending 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/reactjsdevs 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 WarsStar Wars 2008 TV Series: The Clone WarsClone Wars: Github projectClone 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/reactjsreddit.com/r/reactjsreddit.com/r/webdevreddit.com /r/webdev After effects 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. [6] 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 sitesTop referral sitesUsers by countries Users by countries Users by OSUsers by OSUsers by browsersUsers by browsers Currently, this project hasGitHub repo starsandGitHub 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'21Front page of HN - 14 Apr'21 Thanks for reading. Would love to hear your thoughts about it. Connect with me on Twitter and LinkedIn. ShareShare TwitterLinkedInFacebookCopy link Enjoyed reading? Get latest articles in your inbox. I write about tech, productivity, and my past learnings. [ ]Subscribe --------------------------------------------------------------------- Gourav Goyal Gourav Goyal GorvGoyl@GorvGoyl on twitter - View all posts