gitwtfhub

wtf is hntrends?

el10savio/hntrends — explained in plain English

Analysis updated 2026-05-18

1PythonAudience · dataComplexity · 3/5Setup · moderate

TL;DR

A one time tool that groups old Hacker News posts by topic automatically and shows the trends on a browser dashboard.

Mindmap

mindmap
  root((repo))
    What it does
      Groups HN posts by topic
      Discovers topics automatically
      Tracks trends over time
    Tech stack
      Python pipeline
      DuckDB storage
      MotherDuck cloud option
      Superset dashboard
    Use cases
      Explore HN trends
      Browse topic clusters
      Compare time windows
    Audience
      Data explorers
      Hacker News fans
      Analysts

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

See which topics were trending on Hacker News over different time windows.

REASON 2

Explore clusters of similar posts without manually labeling categories.

REASON 3

Run a one time backfill and browse the results in a local dashboard.

What's in the stack?

PythonDuckDBMotherDuckDockerApache Superset

How it stacks up

el10savio/hntrends0xustaz/streamgatea-bissell/unleash-lite
Stars111
LanguagePythonPythonPython
Setup difficultymoderatehardhard
Complexity3/54/54/5
Audiencedatadeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Needs Docker for the local setup, or a MotherDuck account and token for the cloud option.

Wtf does this do

hnTrends is a tool that looks through a big batch of old Hacker News posts and figures out what topics people were talking about, without anyone telling it what those topics are ahead of time. Instead of sorting posts into categories someone already defined, it reads the text of each post, turns it into a set of numbers that capture its meaning, and groups posts with similar meaning together. Those groups become the topics. Once it has done that work, it shows the results on a dashboard you can open in a browser. The dashboard has a chart of how big each topic group is over time, a ranked list of the biggest topic groups, and a way to click into any group to see the actual Hacker News posts inside it. You can also switch between different time windows, from the last day up to the last five years, to see how topics have shifted. Under the hood it stores everything in DuckDB, a lightweight database file, and can either keep that file on your own computer or use a cloud service called MotherDuck if you want the heavy processing to happen remotely instead. Running it locally needs Docker installed. One part of the setup loads and processes the data, and once that finishes, a second part starts up the dashboard so you can explore it. If you choose the MotherDuck option instead, you need to sign up for a MotherDuck account, get an access token, and put it in a configuration file, then flip a setting to tell the tool to use the cloud version rather than the local one. The dashboard you see afterward looks the same either way. The project describes itself as a way to explore and report on trends, rather than a finely tuned system for deep topic analysis. It documents which techniques it borrows from, such as sentence embeddings and a grouping method called K-Means, and points to further reading for each one. The full README is longer than what was shown.

Yoink these prompts

Prompt 1
Help me set up hnTrends with Docker and run the local DuckDB pipeline using make up.
Prompt 2
Explain how the embedding and clustering steps in hnTrends group Hacker News posts into topics.
Prompt 3
Walk me through switching hnTrends from local DuckDB storage to MotherDuck.
Prompt 4
Show me how to open and read the Superset dashboard that hnTrends produces.

Frequently asked questions

wtf is hntrends?

A one time tool that groups old Hacker News posts by topic automatically and shows the trends on a browser dashboard.

What language is hntrends written in?

Mainly Python. The stack also includes Python, DuckDB, MotherDuck.

How hard is hntrends to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is hntrends for?

Mainly data.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.