Bots & BonesWATCH
Updated 05 Nov, 03:21 UTC
How this works

About WATCH

WATCH is a trend radar. Every few hours it asks a handful of public sources what is growing — repositories, models, launches, papers, packages — measures how fast each one is moving, works out which of our three worlds it belongs to, and puts the result in one list you can read in a sitting. Right now it is holding 2,251 entities.

The one rule everything else follows: it never claims a number it did not measure. Where a real change between two of our own runs exists, you get it. Where it does not, the screen says so in as many words rather than dressing an average up as a measurement. That is why some cards read +840 stars / day and others read ~120 stars / day avg · no 24h data.

Where the numbers come from

8 sources answered the last collection, at 05/11/2026, 03:23:00 UTC. None of them needs a paid tier.

GitHub — stars, forks, issues and licence — and, for trending repositories, a real 24h delta997 rows
Hugging Face — likes, downloads and task tags for models and spaces308 rows
Hacker News — points and comments, which is attention rather than adoption142 rows
Papers — arXiv through the Hugging Face daily feed, the earliest signal there is247 rows
npm — downloads — who actually installs a thing205 rows
TrustMRR — monthly recurring revenue — the only money on the radar. Read out of the site's own page payload, because it publishes no API, so it can break at any time through nobody's fault and reports itself degraded when it does449 rows
Product Hunt — a public API20 rows
PyPI — the same question on the Python side5 rows

What the radar goes looking for is a list of 22 subjects, not a fixed query — the Topics screen shows each one, what it returned, and how much of GitHub's request budget it costs. Sources shows what each collector is doing right now, including what is missing and why.

How growth is measured

31 runs of history stored, the first on 03/09/2026. A scheduled collection records one snapshot every six hours, and the snapshots are the history — there is no separate database.

Measured — the change between two of our own snapshots. Real acceleration, because we hold both ends of itbest
Published — GitHub's own 24h delta, for repositories that happen to be trending theregood
Lifetime average — total divided by age, used when an entity is too new for us to have seen it twice. Always labelled as an averageweakest

Across every stored run, 3,736 source records carry at least two measurements — counted per source, so one project seen on both GitHub and Hacker News appears twice, and records that have since left the radar are still in there. The longest series runs to 31 points.

Four scores, not one

A single number cannot tell "this is moving fast" apart from "this matters to us". Conflating them is what makes a trend dashboard useless for deciding anything, so they stay separate and every one of them can show its own arithmetic.

Trend — is this actually moving? No relevance term at allvelocity 40% · momentum 30% · freshness 15% · quality 15%
Fit — how strongly the best-matching category claims it≥ 65 counts as ours
Opportunity — could we do something with it? A huge trend can be a terrible opportunitytrend 30% · fit 30% · headroom 20% · accessibility 10% · actionability 10%
Confidence — how sure the radar is: corroborating sources, measured or averaged, depth of history, how cleanly it classifiedcorroboration 35% · measurement 30% · depth 20% · classification 15%

Categories and tags

Two different questions. A tag says what a thing is; a category says which of our worlds cares about it.

AI — Applied AI — generation models, agents, and the tooling that runs them.19 core · 13 adjacent
IT — Software engineering and infrastructure — the systems everything else runs on.10 core · 9 adjacent
Roblox — Roblox and game technology — engines, in-game AI, assets and multiplayer.6 core · 7 adjacent

Underneath sit 65 tags in 7 groups, attached by keyword: a match in the source's own topics counts double a mention in prose, and the four strongest win. Classification is deterministic and reads no model — every sentence on every card is a template filled from a measured number, which is why the radar can explain any label it applies. Tags lists all of them with live counts and the signals that trigger each.

What the statuses mean

Emerging — young, moving at least 25/day, and accelerating at least ×1.6 against its own average< 45 days
Rising — going faster than it used to, whatever its age× 1.15+
Stable — moving at about its usual rate—
Declining — slowing against its own history — not the same as unpopular< × 0.7

From a list to a decision

The screens are a chain: signals, then what they add up to, then what to do about it.

Radar — every entity, filtered and sorted any way you like/radar
Trends — tags that keep company across the whole radar, grouped into a theme/trends
Opportunities — where a trend, a category and an action angle line up/opportunities
Recommendations — those ranked by trend × fit × opportunity × confidence/recommendations
Categories — the whole radar read one category at a time/categories

What it deliberately does not do

Kept here rather than discovered later.

No language model — every sentence is a template over a measured number. Where that runs out — a trend's thesis — a human writes it or nobody doesby choice
No invented history — an entity seen once has no chart, and the detail panel shows its score composition instead of a fabricated line—
Headroom and effort are estimates — two of the five Opportunity inputs are approximations, and say so where they appearlabelled
Nothing here is shared — what you mark on Recommendations lives in your own browser and follows you to no other deviceper browser

More categories are coming. Settings holds the rest of the mechanics — cadence, storage, and what each number is worth.