Sources and method
Where the signals come from and how a day's ranking is made.
Sources
- Hacker NewsFront-page stories via the Algolia API, weighted by points plus half the comments.weight 1 · 3,097 items
- RedditTop posts of the day in r/MachineLearning, r/LocalLLaMA and r/dataengineering (RSS), weighted by rank.weight 0.8 · 5 items
- GitHubTrending repositories, weighted by stars gained today; for backfilled days, the most-starred repositories created that day.weight 0.8 · 452 items
- Hugging Face modelsTrending models and Spaces, weighted by trending score; the organisation names the model family.weight 0.7 · 45 items
- Hugging Face papersDaily papers, weighted by upvotes.weight 0.4 · 647 items
- arXivNew submissions in cs.AI, cs.LG, cs.CL and cs.DB (RSS listings); each title counts once.weight 0.3 · 530 items
- Product HuntLaunches in the Product Hunt feed, weighted by position.weight 0.5 · 50 items
- Google TrendsUS daily search trends (RSS), only entries that name a tech or AI term, weighted by approximate traffic.weight 0.6 · 10 items
- fru.dev sitesNew releases on Changefeed and new rounds on Roundup, each counted once.weight 0.4 · 11 items
- Google News (Serper)A news count for the top few terms each day, as a cross-check; it does not change the score.check only
- LinkedInNot used. LinkedIn has no public API for posts or trends, and scraping it breaks its terms.skipped
How a day is ranked
- Collect. At 05:45 UTC the run reads every source for the UTC day that just ended: titles, links and engagement only, never page text.
- Find terms. Each title is matched against a curated list of about 230 names (models, tools, databases, chips, companies, people). Model versions are read from the text, so "GPT-5.5", "gpt 5.5" and "GPT5.5" are one term, and a new version is a new term the day it appears. New capitalised names become terms when three items from two sources, or four items, name them on one day.
- Tidy new names. At most one batched Gemini call a day sees only the day's new names with two example titles each, and merges spellings, fixes the written name, picks a category or drops what is not a tech term. Its decisions are stored and reused; without it, new names are kept by count alone and marked Unverified.
- Score. For each source, a term's share of the day: 0.7 x its share of engagement (square-rooted, so one viral post cannot own a source) + 0.3 x its share of items. Shares are weighted by source (above) and averaged over the sources that answered. Lift compares that with the term's own mean over the previous 14 days, capped at 6. Trend score = 100 x sqrt(share) x lift^0.35 x (1 + 0.1 for each extra source), capped at 100.
- Rank. The top 60 are stored for baselines; the top 20 are shown. Risers compare the summed scores of the last seven days with the seven before.
History
The first 30 days were backfilled from the sources that keep history: Hacker News (Algolia search by date), Hugging Face daily papers, and GitHub (the most-starred repositories created each day, which count for their names but never become terms themselves). Reddit, Product Hunt, Google Trends, arXiv listings and trending models only have today, so they count from the first live day on.
Trend scores are computed from public engagement signals on the sources shown. Logos via logo.dev; trademarks belong to their owners.
Trend scores are computed from public engagement signals on the sources shown. Corrections: use Suggest a correction on any term page.