Skip to content
Signalcrest

How our scoring works

Most trend tools read lagging search data and hand you a graph. We read the leading edge — developer and builder communities — and score real momentum. Here's exactly how, because a score you can't interrogate isn't worth trusting.

The sources

Every 30 minutes we ingest Hacker News, GitHub, Stack Overflow, npm, Hugging Face, Dev.to, Lobsters, Product Hunt, arXiv, and crypto governance forums. These are where technical trends actually start — weeks before they show up in mainstream search-trend tools. We deliberately favor leading indicators over lagging ones.

The signal score (0–100)

Each topic's score is a weighted blend of four things:

Velocity

How fast attention is growing right now — not just how popular something is. A repo going 50→400 stars/day beats one sitting flat at 5,000.

Acceleration

Whether that growth is speeding up. Early-stage momentum scores highest; this is what catches trends on the way up.

Cross-source spread

How many independent communities mention the same entity. This is the anti-hype filter — one viral thread isn't a trend; corroboration is.

Recency & saturation

Newer topics get a boost; already-mainstream, peaked topics get down-ranked so you see what's next, not what's over.

A real one, right now

Not a mock-up. This is the top-scoring signal from our most recent ingest — they run every 30 minutes — with the actual arithmetic behind its score — the same numbers our engine used, not a retelling. No account needed.

devto·Heating·🔗 5 sources · claudescored 18m ago

NexPath Review: The Prompt Quality Layer for Cursor, Windsurf and Claude Code

Reviews NexPath layer that improves prompt quality for AI coding assistants like Cursor and Claude.

Why this scored 95

every term, weighted
Velocity+40.0 / 40 max

Engagement gained per hour since the last capture, against the fastest item on its own source

Acceleration+25.0 / 25 max

Whether that velocity is itself speeding up, as a per-hour rate

Cross-source spread+20.0 / 25 max

How many independent communities are talking about the same entity

Recency+9.9 / 10 max

Decays to zero over 14 days

Saturation penalty0.1 / 30 max

Subtracted once something is big and old — we rank what's next, not what's peaked

Composite94.7

Weights are hand-tuned, not learned — we're calibrating them against realized trends as history accumulates. On a topic's first sighting there's no previous reading to compare against, so acceleration starts from a neutral prior rather than a measurement, and velocity falls back to engagement over its whole lifetime until a second reading exists. Full methodology

The anti-hype filter (our edge)

The hard part of trend detection isn't finding things — it's filtering noise. We use an LLM to extract the canonical entities from every headline (merging aliases like "Claude Code" → "Claude"), then measure how many distinct sources independently mention each one. A topic only earns a high spread score when unrelated communities agree. That's the difference between a real movement and a single loud post.

What we buried today

The saturation term works by taking things away, so you can't see it working in a ranked feed — everything it touches has already sunk. Here it is from the other side: real items from the latest ingest that racked up enough engagement, over enough time, to trip it — and the points we docked them for it. Rank purely by popularity and these sit higher. We push them down to make room for what hasn't happened yet.

  • @storybook/manager-api — Core Storybook Manager API & Context6.5M weekly downloads30 ptsscored 0
  • safe-buffer — Safer Node.js Buffer API262M weekly downloads30 ptsscored 0
  • livekit-server-sdk — Server-side SDK for LiveKit1.4M weekly downloads30 ptsscored 0
  • @webassemblyjs/helper-api-error — Common API errors42M weekly downloads30 ptsscored 0
  • @aws-amplify/api-graphql — Api-graphql category of aws-amplify1.6M weekly downloads30 ptsscored 0

Lifecycle stages

As we accumulate history, each topic is labelled by where it is in its arc: Emerging (new and rising), Heating (accelerating), Peaking (high and flattening), Cooling (past its moment), and Steady (moving, but not accelerating — the default when nothing dramatic is happening). You get in early, not late.

The stage thresholds were recalibrated on 2026-07-15 against the measured acceleration distribution of ~48,000 consecutive snapshot pairs from our own production history — the original hand-set bounds made Heating fire about twice a day across ~1,500 topics, which told you nothing. They're asymmetric on purpose: a topic loses velocity just by aging, so "cooling" has to mean decaying faster than ordinary age drag, not merely existing.

How early are we?

2.2 days early

Among tracked topics whose attention kept climbing after we first captured them, that's the median time between our first flag and their peak engagement on the source platform (points, stars, reactions) — measured on our own live production data across 6,229 topics. Not a hand-picked backtest: every matured topic that rose counts, and topics that never climbed are excluded and disclosed as such.

As of 2026-08-27. Updates as history accumulates; early cohorts are smaller, so the figure will firm up over time.

Honest limits

Forecasts are estimates from recent momentum, not guarantees. Acceleration and lifecycle need a few data points to be meaningful, so brand-new topics show as "Emerging" until history builds. We'd rather tell you that than fake precision.

See the method in action.

Open the live feed →