How I Built Repo Hunt, a Hacker News for GitHub Repos, in 10 Days
I’m an 18-year old Computer Science student. Like most CS students, I spend a lot of time surfing GitHub for that coveted snippet of code. Everybody has, at least once, felt extremely exhilarated after finding the repository they’ve been looking for all night.
Inspired by GitHub Trending
As time progressed, I started to take GitHub more seriously. I discovered that I could use it for more than looking for a solution for my programming assignments. I started exploring really interesting repositories on diverse topics. That’s how I stumbled onto the GitHub Trending page. Eventually, I checked the GitHub Trending page as often as I checked my Instagram feed. However, I wanted it to be on my phone with handy widgets, notifications, and other candies.
This all happened when I was a student at nFactorial Incubator, an intensive 12-week app development bootcamp that produces job-ready mobile app engineers. It has also launched 200+ apps and graduated 300+ alumni since 2015.
Building Repo Hunt - TL;DR
I built Repo Hunt and released a few updates for it in 10 days. I spent most of the time trying to figure out the best way to get the trending repositories from GitHub. As it turns out, GitHub API doesn’t provide this functionality. I tried contacting them, but their response was, “We don’t have something like this now, but we hope we will add it sometime in the future.” I decided not to wait for ‘sometime in the future’ and deployed a simple scraper using Ruby. First, though, I needed to learn how to use Ruby to scrape websites and how to deploy the scraper for web services.
For someone with only three months of prior experience in mobile development, essentially on Swift, it was quite tricky at first figuring out servers, scrapers, Heroku, Ruby, Sinatra, and all those scary words.
I spent my entire day familiarizing myself with Ruby and its syntax. Mainly, I used Codecademy and found it intuitive and easy-to-follow. Exactly what I needed.
I spent days two to four figuring out which framework to use for development: Rails or Sinatra. Spoiler: I chose the former. I also learned how to scrape Github’s website, which was the main goal. Eventually I deployed my so-called 'scraper' on Heroku.
I spent this whole day sketching and designing the app. At first, I wanted it to look similar to the mobile version of the app, but eventually decided to make it look very different, with bright icons and contrast.
The rest of the time I dedicated to building the app itself, with the first couple of days dedicated to working on the UI and the rest to connecting my API endpoints and implementing some candies like widgets, Force Touch, and notifications.
Release And Product Hunt Feature
After I successfully released Repo Hunt to the App Store, other students and developers from the bootcamp I was participating in began thanking me and telling me that they’ve always wanted an app like this. Arman Suleimenov, CEO of ZeroToOneLabs and founder of nFactorial Incubator, submitted my app to Product Hunt. Honestly, I was quite surprised by the feedback and upvotes for Repo Hunt. I was one of the top two on PH for an entire day and finished in fourth place.🎉 Repo Hunt was an app that I dedicated to myself, to facilitate my daily life. It turns out, I wasn’t the only person who wanted this app!
What’s Next for Repo Hunt
Right now, Repo Hunt is essentially Hacker News for GitHub repositories. You can see what’s trending on GitHub and filter the results by time or programming language. It supports Markdown for READMEs (which you can preview using Force Touch, like on Instagram ). You can also star repositories in your GitHub account.
In upcoming updates, you’ll be able to mark certain programming languages as favorites and add some handy search through languages.
I’ve benefited from this app in many ways, but the main conclusion I drew is that sometimes, by solving your own problem, even if it’s silly, you can benefit and help other people at the same time.
Download Repo Hunt and discover what repositories the GitHub community is most excited about!
Don’t forget to also check out the project on Product Hunt