Show HN: Find alternatives to almost any popular GitHub repo

120 points by stanislavb ↗ HN
Several months ago, I built a "stealth" feature that I could use. It hasn't been advertised, and I've been the only user. As I find it useful for myself, I believe others (software developers) may like it too. So, this is the first public post about it, and if it gets any positive feedback, I may put some time into promoting it more.

In essence, given that you've opened a GitHub repo (there are ~225k of the more popular ones indexed as of now), you can replace "github" with "libhunt" within the URL, and you will find the top alternatives and related projects.

For example, here are three popular repos:

- https://github.com/rails/rails

- https://github.com/vercel/next.js

- https://github.com/kovidgoyal/calibre

To test it out, open any of the examples above and replace "github" with "libhunt" within the browser URL. You can also try with any other repository as long as it's a bit popular.

I'd be more than happy to answer any questions and receive some feedback. Thanks!

57 comments

[ 2.1 ms ] story [ 118 ms ] thread
Nice one. The rails comparison is missing the JS version of Rails: RedwoodJS.

How do you find the matches/similar repos?

Thanks! I track all repos mentioned on Reddit, Hacker News and Dev.to (almost in real-time). Then, the ones that are commonly mentioned are considered alternatives/similar. I also use some signals from LibHunt itself - what people are comparing and manually suggesting as alternatives.
For example, my example above is spoiling this logic a bit :D. I've mentioned three projects that are neither alternatives nor similar ones. However, their mentions have been tracked and used as a signal. Yes, it's imperfect, but it works "good enough" in most cases.
Works for me! Cool project!

I really like the "Comparisons" page with brief info about the repos.

Does it crawl all of GitHub to find repos with similar names or only stick to the popular repos that were already indexed? Also how does it rank the alternatives that it finds? For example on https://www.libhunt.com/bitcoin/bitcoin , why is umbrel above dogecoin or bitcoin book?

Thanks, mate! It crawls only projects mentioned on Reddit, Hacker News and Dev.to.
Crawling noob here: what's a good strategy to crawl these websites? Reddit is huge, how does one efficiently crawl it? Search API for Github links?
I see. Nice work!
Cheers! Work appreciation here on HN is highly appreciated. (as that could be a rare beast)
The top alternatives for next.js were rails and tailwindcss.

Tailwind is css, and is no replacement for next.js OR rails.

Yeah, I know. That's a good example that the list includes both Alternatives and Similar projects. It's definitely imperfect in that direction as of now. That's something I'd like to improve in the future. I guess incorporating some on page user feedback like "Is it an alternative - Yes / No" could do the job...
The automated suggestion finding alternative seems poorly done and stuffed with ads:

- https://www.libhunt.com/posts/564420-lifetimes-clones-and-cl... (what's a post?)

- https://www.libhunt.com/r/owning-ref-rs (Tokio is unrelated to owning-ref, fluent.js isn't even the same language, and Scout APM is a stealth ad, not an alternative, and "fortify" wasn't even mentioned).

- https://www.libhunt.com/libretro/RetroArch (351ELEC doesn't run on the same hardware as RetroArch, aliaspider/pcsx2 is an outdated fork of the actual PCSX2, and SonarQube is a stealth ad).

In fact for the first two URLs, I think I found libhunt.com in Google search results, and they were entirely useless. To me it's worthless SEO spam like Pinterest.

I don't like to fling poo at anything people are putting their heart into, but... I've been wondering who to be annoyed at about this.

libhunt (along with joyk, giters, pythonissues, libreddit, teddit, opensourceagenda, githubmemory, maybe some I'm forgetting?), is on the list of content-repackagey sites regularly eating up slots in the top 2 pages of search results for the exact name of my wee attention-starved project on ALL of google, ddg, and bing (it even eats 2 of the 5 paltry entries bing bothers to show on the first page of results!)

And, of course, none of the comparisons are relevant.

Constructively: it would be great if the developer would, at minimum, figure out where the roll-off point for not-popular-enough-to-get-decent-results is, and discourage search engines from indexing pages under the threshold.

> I've been wondering who to be annoyed at about this.

I suggest being annoyed at Google.

I can chew two sticks of gum at once.
Minor note: libreddit and teddit are supposedly privacy-protecting low-JS Reddit frontends, rather than commercial site scrapers. I'm not sure if they live up to their reputation though.
Thanks for the note. I settled on "content-repackagey" because it was the closest I could get to a ~neutral common-denominator of their behavior, and I don't really want to directly judge their intent/purpose.
(comment deleted)
I use uBlacklist to remove sites like this from search results. It's pretty great. All the GitHub mirrors, the StackOverflow scrapers, any site that requires an account to view the thing I searched for... one click to never see these ad factories again.
> (what's a post?)

From the Libhunt site:

   It monitors everything that's posted on Reddit, HackerNews & Dev.to (almost
   in real-time). Then, if an open-source repository gets mentioned, we record
   that and use it to compile the lists of popular and similar projects.
I have some problems believing that the author thought that this really helps actually finding alternatives.
I've always seen Libhunt as a spammy SEO site. I've seen it in search results before and everytime it was useless. Their comparisons were clearly unoriginal based on some unknown algorithm trying to scrape data.
Will give recommendations from other Git forges too?
Cool project. In a related note, sometime back I used to use cdnjs a lot to find the best js libraries and related projects too.

So let's say you're looking for the best carousel library, just type carousel in their search and it will show you all the popular carousel libraries sorted by github stars.

This is awesome! Awesome enough that I actually don't mind that it has ads. I checked out my project (https://www.libhunt.com/etewiah/property_web_builder ) and even though the alternatives were not bang-on, there is a button to suggest alternatives so the results can be improved.

What I really like though are the mentions. I'll keep coming back to that page if only to keep an eye on where my project is getting mentioned.

Hah, the engine that tracks mentions was a separate product. It was built to track brand mentions on social networks. i.e. the reason you'd be coming back to this page. However, as I couldn't market it, I repurposed the whole project to be used as a back-end engine only.
Hey I've actually come across this tool before, so you must've gotten something right with the SEO. Also wanted to plug AlternativeTo[0] which I'm constantly shocked by how little known it can be even amongst people who work in tech.

[0] https://alternativeto.net/

Thanks! Another product that I've built, SaaSHub https://www.saashub.com, is an alternative to alternativeto.net :D
Hey this looks great! This next sentence is gonna be a mouthful, but the alternatives to SaaSHub listed on SaaSHub seem much better than the alternatives to alternativeto listed on alternativeto. Interestingly, SaasHub doesn't show up as one of the top alternatives to alternativeto on alternativeto
Any idea why it says https://www.libhunt.com/godotengine/godot is GPL3 and not MIT license?
(comment deleted)
I suggested an alternate to something, and it said it was approved. However I dont see the suggestion if I refresh the page. So are the suggestions just meaningless, or whats the deal?
Only the top 21 alternatives/relevant repos are listed. If your suggestion didn't cross the "threshold", that's the reason it wasn't listed immediately. In most cases, if another user suggests it, it may pop up.

Also, this is a known "issue"/confusion! I will add a section with the most recent suggestions. That should regard this case. At least for the time being.

p.s. thanks for trying LibHunt and your feedback.

Results for your examples don't seem too great to be honest. https://www.libhunt.com/vercel/next.js gives:

- React (Next.js is a framework on top of react)

- Tailwind (is a CSS framework, not a website framework)

- [a sponsored result that is not an alternative]

- Gatsby - An alternative!

- Typescript (is a language)

- Express - (is a server, stretch to call it an alternative)

- Nuxt.js - an alternative!!

Agreed. I actually spent about an hour on Tuesday looking for alternatives to outdated JS libraries, and every one of these "alternatives" sites listed mostly tangentially related libraries and very few actual alternatives. I imagine they're mostly generated by user behavior somehow, but something could use tweaking for sure.
I'm surprised no one has mentioned it here, but I'm a fan of npmtrends[0]. You can search for npm libraries that you know, and it will recommend related searches for you. Then it'll compare them based on downloads over time and show their github activity at the bottom. I use this every time I need to find a new library.

[0] https://www.npmtrends.com/

On that note, another slept-on website is OpenBase[0] which allows you to find and rate alternatives to different packages/libraries and gives you information like weekly downloads, github stars, last commit, etc. It really makes a big difference in comparing different options

[0] https://openbase.com/

I tried a couple of projects that are way too small to get alternatives listed. I got 404s, I expected a page with the libhunt design with some basic metadata and a vague assertion that they will be checked out.

Also: you should be logging those misses.

That's a good call. I will definitely implement it. Thanks!
With respect to your demo using 3 popular repos, it would have been nicer if you put the corresponding libhunt link next to each GitHub link, especially for those of us on mobile.
Wonderful! Have you considered a machine readable DOAP access?
This is really cool, just found something I'm going to use in a project because of this!
You could also contribute and suggest some better options...
why be part of the solution? This is great work, much nicer than the so many predatory sites that claim to list alternatives only to pump up some trek they built and try to charge for....

Keep up the good work!!

Cool idea for sure, but as others have pointed out, it's not great yet. How would this work though? Wouldn't you need to have some meta data about the base lib, like for example "web framework", so that you can search for other libs using the same language (if that's even relevant) that also has been tagged as "web framework"? Seems tricky to me, but I don't know.
The key is manual curation. Once you need to find a library, you do a bit of Googling/Reditting, and after 30mins you have the full low down on what are the actual alternatives and the differences. All the automated library tools don’t work.
Agreed - this is a subjective value judgment, hard / impossible to automate. As a list of links to check out, sure. As an automated conclusion? No thanks.

Someone is going to have to make a judgment call. If curation isn't built into the service, the user must spend more effort.