ContentRank v1.0

About

ContentRank does the confrontation work.
You form the opinion.

We don't measure truth. We measure how well a text earns your time.

The idea

Two articles on the same topic say different things. You'd like to read the better one, but "better" is multidimensional, and skimming both takes longer than reading one. ContentRank takes the two URLs, compares them on nine quality axes with citations anchored on exact passages, and gives each a single score from 0 to 100.

The score emerges from a network of matches, the way PageRank emerges from a network of links. Each URL is a node, each match is an edge. As matches accumulate, Glicko-2 (the statistical method behind chess Elo) makes the network converge into a stable rating. The single ContentRank you see on a URL is what survives that convergence.

Inspired by Karl Popper (quality survives refutation) and PageRank (quality emerges from a graph). Built to be auditable end-to-end: every score traces back to the matches that contributed and the citations that anchored each verdict.

64 78 ContentRank 52 71 45 60 URL = node match = edge thicker edge = stronger match concordance
Each URL is a node, each match is an edge weighted by concordance. The score shown on a URL profile is the rating that survives Glicko-2 convergence over the graph, the way PageRank emerges from a network of links.

What it isn't

ContentRank is honest about what it can't do.

  • ·Not a fact-checker. A LLM can't reliably verify claims against the outside world. We score whether a text behaves like it has substance, not whether it's true.
  • ·Not an absolute quality score. A ContentRank of 73 means little in isolation. It means a lot relative to the peers it has been compared against.
  • ·Not an AI-content detector. Different problem entirely.
  • ·Not a truth oracle. A well-formed argument can score high and still be wrong about the world. The verdict on truth stays with you.

How it's different

vs. classic LLM-judges
We don't ask a LLM for an absolute score. We ask it to compare two texts and anchor every verdict on exact passages. The ranking emerges from many comparisons, not from one opinion.
vs. PageRank
PageRank measures authority (who links to whom). ContentRank measures the quality of the content itself, how it holds up under refutation, regardless of inbound links.
vs. NewsGuard
NewsGuard rates publishers manually using human reviewers. ContentRank rates individual URLs algorithmically, on any topic, not just news. Methodology is open and auditable.
vs. Trustpilot
Trustpilot measures customer satisfaction. ContentRank measures the content's intrinsic argumentation quality, and it is structurally astroturfing-resistant because the rating doesn't depend on user votes.

Who uses it

ContentRank is built for people who decide things based on what they read.

  • The skeptical reader. You stumble on two contradictory articles via Google or a Reddit thread. You want to know which one is more solid before you act on it. Submit both URLs, read the diagnosis, decide.
  • The journalist or researcher. You compare sources weekly. You need fast, defensible signal on which source to cite. ContentRank speeds up the vetting that you'd do by hand anyway.
  • The content creator. You want to know how your article stacks up against the top SEO results on your topic, and on which axis you lose ground. Run the comparison, see the per-axis breakdown.
  • The product builder. You build a CMS, a moderation tool, a learning platform. You want quality scoring you can embed. The API is on the roadmap.
  • The documentation lead. You manage 200+ internal documents and zero time to read them. You need to know which to rewrite first. Audit on a private corpus is on the roadmap.

What we promise

Traceability, not transparency

Transparency is an abstract claim. Traceability is concrete. Every score on a URL profile points to data you can inspect: the matches that contributed, the citations they were anchored on, the per-axis verdicts and their reasoning. You can audit any score from the artefact down to the source passages.

How a score is built

A ContentRank rests on four pillars, each doing one job:

  • The match graph. Each URL is a node, each match is an edge. The score emerges from the graph the way PageRank emerges from links. A single match informs the structure; the structure produces the rating.
  • LLM-as-a-judge. On each match, it does the local qualitative comparison: given two extracted texts, it produces nine axis verdicts anchored on exact passages. Natural-language judgement, with citations.
  • The match algorithm. Deterministic in-house math: converts verdict labels into Glicko inputs, weights them by concordance, runs anti-hallucination checks (do the cited passages actually exist in the source?).
  • Glicko-2. The statistical method behind chess Elo, validated since 2012. It aggregates many match outcomes into a stable rating per axis, with a confidence interval. The single ContentRank you see derives from the nine per-axis ratings. The confidence interval surfaces as a five-star reliability tier on each URL profile : ★☆☆☆☆ for a fresh URL with few matches, ★★★★★ for a settled rating that won't shift much.

Within a single match, the pipeline is itself multi-stage: content extraction, graph node lookup or creation, concordance pre-check, qualitative comparison by the LLM-as-a-judge, anti-hallucination verification, score quantification (verdict labels become Glicko inputs, weighted by concordance), Glicko-2 update on the two nodes, and a final consolidation pass that produces the summaries and verdict narrative for display.

01 Extraction 02 Concordance 03 LLM-as-a- judge 04 Math 05 Glicko-2 06 Graph of matches URL → text comparable? 9 verdicts verdicts → scores rating update network converges
A match runs through six stages, from raw URL to a stable rating in the graph.

Methodology open, implementation mostly closed

The methodology is public: the 9 axes, the verdict labels, the Glicko-2 update logic, the concordance composite, the reliability tiers. The architecture and the principles are described in plain language on the methodology page.

Most of the implementation stays closed. That includes the exact LLM prompt, the NLP extraction and normalisation pipeline, the in-house statistical aggregation code, the embedding model and concordance weighting details, the cache and rate-limit thresholds. Two reasons:

  • ·Anti-injection. If the prompt or the extraction logic were verbatim public, page authors could tune their content to game specific phrasings, and the rankings would degrade.
  • ·Anti-abuse. Cache TTLs, rate-limit thresholds, and similar guardrails work because abusers don't know them precisely.

It's a deliberate trade-off. Open on the principles. Reserved on the levers.

Honest limits

We're an upstream filter. We catch what stands up under refutation by peers. The methodology page goes deeper into each limit. We'd rather lose readers to honesty than keep them on overclaim.

Submit two articles. Read the diagnosis.

Run a match →

Want the deep version? Read the methodology. · Currently v1.0.