Hacker News new | past | comments | ask | show | jobs | submit

Show HN: A merit ranking of 1,000 Show HNs (and where it disagrees with HN)

I ran the last 1,000 Show HN posts through a TrueSkill rating system with an LLM acting as the pairwise judge. ~12,000 head-to-head comparisons, each judged twice with the order swapped to cancel positional bias. The result is a merit ranking that's independent of how many upvotes each post actually got.

The interesting part is the disagreement with HN's own ranking. The merit model rewards depth, novelty, and craft; HN's upvote system rewards screenshots, immediacy, and timing. The two rankings agree on a handful of posts and disagree wildly on the rest.

A note on predicted upvotes: an earlier version of this report tried to predict "deserved upvotes" with a regression. That number was misleading — HN points are too noisy a signal of merit (timing, frontpage luck, and screenshot-friendliness dominate). This version drops it. Instead, every post gets two independent percentile ranks: where it stands by merit, and where it stands by upvotes. The disagreement is the story.

Top 10 by merit

Ranked by TrueSkill conservative score (μ − 3σ). The orange bar is merit percentile; the gray bar is upvote percentile.

#titlepointsmerit %ileupvote %ile
1.Dust3D 1.0 – low-poly 3D modeling tool (10 years in the making)810042
2.Electrolite – embeddable ElectricSQL-style sync for SQLite11008
3.An 8-bit computer made from one NAND gate, and live-evolving neural net310024
4.High-performance database — graph, vector, array, columnar, KV39924
5.Git repositories hosted directly on Freenet69936
6.Selvedge – an MCP server that captures why AI agents change code49930
7.Pantheon – a PS2 game engine (VU1 / EE / DMA)1998
8.IEEE-754-conformant FP64 on Metal (Apple Silicon)1998
9.Pixel-Perfect MaterialX in Blender and Three.js29918
10.Lib0xc, the C standard library you wish you had1998

Of the top 10 by merit, nine got below the median in upvotes. The pattern: low-level systems work, exotic data structures, weird hardware, and decade-spanning solo projects.

Buried gems — high merit, low attention

Posts in the top decile by merit but below the 25th percentile by upvotes, at least 48 hours old.

#titlepointsmerit %ileupvote %ile
1.Glyph – byte-exact substring retrieval (~1.5ms, FM-index)1978
2.MOG Simulator — emergent galaxies via ensemble of grids1948
3.Crforest — competing-risks RSF in Python, 6× faster than R's rfSRC1968
4.Cyoda-go — application platform in Go without the Temporal/Kafka glue1958
5.Distributed-correctness tests using Jepsen tooling pass on ArcadeDB1918
6.Reckoner — a query workbench for domain experts1928

Methodology

  • Source: 1,000 most recent Show HN posts via the Algolia API. Linked URLs fetched and extracted with readability-lxml; for text-only posts, links from the body were followed.
  • Judge: a single Deepseek V4 Flash LLM does pairwise comparison with a rubric biased toward depth, novelty, and craft, and against marketing polish. Each pair is judged twice with order swapped — flips become draws, not wins. This is the highest-leverage error mitigation.
  • Rating: TrueSkill, ~12 matchups per item, matchmade by current μ so comparisons are between near-equals (chess-style).
  • Filtering: only items with σ < 3.0 enter the published lists. Posts under 48 hours old are excluded from "buried" — they may just not have been seen yet.

What this is not

It's not a replacement for HN's ranking. It's a second opinion that weighs different things. The most reliable claim I'm comfortable making: HN upvotes correlate with how easy a project is to evaluate from a screenshot. Deep technical work that requires reading the README to appreciate gets penalized.

Code, raw data, and matchup logs: github.com/kouhxp/showhn-rank. Curious to hear which "buried gems" people think the model got right and which it got wrong.