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.