Method

How Pulse scores the tape

Pulse is a public dashboard for trending GitHub repositories and the AI stack. Every number on screen is observed from a public source or derived from those observations. If a source fails or a metric cannot be computed, it is omitted — never invented.

Heat score (0–100)

Let logNorm(x, cap) = min(1, log10(1+x) / log10(1+cap)). Recency is max(0, 1 − daysSincePush / 45).

  • stars 0.30 — logNorm(stargazers, 80,000)
  • velocity 0.45 — logNorm(stars added in the selected window, 4,000)
  • recency 0.15 — days since last push (GitHub Search only)
  • signal 0.10 — AI keyword hits in name, description, and topics

Missing terms are dropped and remaining weights renormalize. Hugging Face items use likes (0.55) and downloads (0.45) with the same log curve.

Sources

  • GitHub Trending HTML (daily / weekly / monthly) — stars, forks, language, and window velocity (“stars today / this week / this month”).
  • GitHub Search API (unauthenticated, optional GITHUB_TOKEN) — AI/LLM/ML topics, created-date filter, topics, timestamps.
  • Hugging Face public API — models, datasets, spaces sorted by likes.
  • arXiv Atom API — latest cs.AI submissions.

Derived metrics

Percent change is starsAdded / max(1, stars − starsAdded). Daily star rate for sparklines is starsAdded / windowDays for each window a repo actually appeared in. We do not interpolate missing days.

Refresh

Server fetches are cached for 24 hours (Next.js fetch cache + unstable_cache). Pulse revalidates daily. 403 and 429 responses are treated as rate limits and surface as a degraded banner.

Back to the tape