Skip to content
Signalcrest
Method

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.

devtoHeatingscored 2m ago

Georgian Language Benchmark: Two Biggest AI Labs Clash in a Language That Doesn't Play by Anyone's Rules

Benchmark compares leading AI labs on challenging Georgian language tasks.

Why this scored 71

every term, weighted
Velocity+40.0 / 40

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

Acceleration+21.3 / 25

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

Cross-source spread+0.0 / 25

How many independent communities are talking about the same entity

Recency+10.0 / 10

Decays to zero over 14 days

Saturation penalty−0.0 / 30

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

Composite71.2

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/api — Storybook Manager API (facade)1.7M weekly downloads−30 ptsscored 0
  • @storybook/client-api — Storybook Client API1.1M weekly downloads−30 ptsscored 0
  • @open-wc/testing-helpers — Testing Helpers following open-wc recommendations228k weekly downloads−30 ptsscored 0
  • @aws-sdk/credential-provider-cognito-identity — [![NPM version](https://img.shields.io/npm/v/@aws-sdk/credential-provider-cognito-identity/l17M weekly downloads−30 ptsscored 0
  • react-docgen-typescript — [![Build Status](https://github.com/styleguidist/react-docgen-typescript/actions/workflows/nodejs.yml/badge.svg)](21M weekly downloads−30 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.1 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 12,272 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-10-11. 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.

The bigger limit is that most topics simply stop. Measured on our own forecasts from 24–30 August 2026, only 48% of high-confidence topics — and 13% of low-confidence ones — were still being picked up in their source community seven days later. The rest went quiet within a day or two, and fewer than one in six hundred ever came back. A long-horizon projection on a topic like that is describing a trajectory that already ended, so read the 14- and 30-day numbers as "if this keeps running", not as a claim that it will. The same fact cuts at us: any accuracy we can measure is measured on the topics that survived long enough to check, which flatters the result. We'd rather say so.

See the method in action.

Open the live feed