Build your own HackerTube
Karpathy's about page ends with "Fork it. Everything behind this site is yours to reuse." This page is the practical version of that sentence. This edition was built the same way.
1. Get the export
The official data lives at hackertube.org/about ("Download the data"). It is a 17.8 MB zip, hackertube-data.zip, released under ODC-By 1.0: use it for anything, credit HackerTube and the open-index/hacker-news dataset.
| File | One row is | Key |
|---|---|---|
videos.jsonl | a video (6,454 rows, best-scored first): id, title, channel, summary, why HN likes it, format, level, shelf life, topics, categories, pull quote, HN stats, score | vid |
mentions.jsonl | a labeled HN comment (39,834 rows): comment id and link, author, month, story title, stance, why, quote, cleaned text | hn_comment_id + vid |
taxonomy.json | 16 areas and 150 categories with synonym-rich descriptions | category id |
related.jsonl | "the same HN people also recommend", for 3,778 videos (counts only, no usernames) | vid |
embeddings.npy + embedding_ids.json | a 384-dimensional bge-small vector per video, L2-normalized, so semantic search and "similar videos" come free | row index |
DATA.md | documentation written for AI agents: joins, gotchas, example records, licensing |
2. Hand it to an agent
The export is designed to be given to Claude Code or a similar agent with one sentence of intent. Some prompts that work:
- "Build a static site with one page per video and per topic, using the HN comments as the page body." (This site.)
- "Email me, every Monday, three videos from topics I list that I have not seen, with the best HN quote for each."
- "Make a terminal browser: fuzzy search over titles and summaries, open in mpv."
- "Which channels have the most strong recommendations per video? Which years produced the most evergreen talks?"
- "Re-rank everything for me using my own liked list and the embeddings."
3. The gotchas (from DATA.md, confirmed while building this)
- Only
stance∈ {rec,strong_rec} are recommendations. About 25% of videos havehn.recommenders == 0; decide whether to show them. - At most 20 mentions per video are included, so
hn.mentionsis capped at 20. shelf_life == "news"marks videos that only mattered around one event; most interfaces should hide them by default (407 videos).- Some talks were uploaded twice under different ids with near-identical titles (18 duplicate titles). Dedupe by normalized title if it matters to you.
- Thumbnails need no API key:
https://i.ytimg.com/vi/<vid>/hq2.jpgis the mid-video frame HackerTube uses;hqdefault.jpgis the uploader's custom one. Embed withhttps://www.youtube-nocookie.com/embed/<vid>.
4. YouTube metadata, legally
Durations, view counts, publish dates and whether a video has been deleted are not in the export, because YouTube's terms do not allow redistributing them. Every record has the video id, so you fetch them yourself with a free YouTube Data API key: videos.list takes 50 ids per request, all 6,454 videos cost about 130 units of a 10,000-unit daily quota. About 6% of videos turn out to be gone. Keep the key private, show the data with attribution to YouTube, and refresh it from time to time.
5. What this edition adds, if you want to copy it
- A static site generator (Astro) that renders every video, topic, area, channel and format page at build time, so search engines and AI crawlers can read them. The original is a single-page app with no sitemap.
- Per-video "recommended in which years" computed from the mentions, shown as a strip on every card.
- Top-8 similar videos precomputed from the embeddings with one matrix multiply, folded into each video page, and reused in the browser for a no-account "because you liked" row.
- Full-text search over titles, summaries, tags and comment text with Pagefind, built from the HTML itself.
- A refresh pipeline that queries the Hacker News search API for new YouTube links after the export date and applies the same three-people, three-months rule.
Credits and licensing for this site are on the data page.
Video list and Hacker News comment labels from HackerTube (prompted by @karpathy), released under ODC-By 1.0, built on the open-index/hacker-news archive. Hacker News data is provided by Y Combinator; comments remain the work of their authors. Video titles, channel names and thumbnails belong to their creators and are shown via YouTube. HackerTube Watch is an unofficial edition. Data export of 2026-10-31.