Build a site of the books Hacker News recommends from 9M comments

Ishank Choudhary used Cursor to build HackerShelf, filtering 9.4M Hacker News comments down to 151 recommended books in about 2.5 hours, with Gemini on its free tier doing the extraction.

Done withCursorinGitHubGemini· Nov 3, 2026

What they did

Choudhary, a lead software engineer, copied the method Andrej Karpathy published for HackerTube (recommended videos mined from Hacker News comments) and applied it to books, using Cursor instead of Claude Code. Cursor wrote the pipeline and the whole static site and set up deployment to GitHub Pages. The pipeline took 9,437,609 comments from January 2024 to August 2026, pre-filtered them with DuckDB rules for book links and phrases, had gemini-3.5-flash-lite pull book mentions in batches of 40, matched titles against Open Library, kept books named by at least 3 people in at least 3 different months, and wrote one Gemini card per book. Choudhary created the repo, gave Cursor GitHub access and turned on Pages by hand.

How it went

The site shipped with 151 books, 723 mentions and 601 recommenders in 9 categories. Wall clock was about 2.5 hours, of which Cursor's coding took about 40 minutes; rate limits and the Open Library step (44 minutes) took most of the rest. Gemini usage was about 2M tokens in and 620K out, $0 on the free tier, roughly $2.15 at paid rates. Problems: the first Cursor run shipped 9 placeholder books, a broad filter matched 392K comments, 470 extracted quotes were not verbatim and were blanked, and Open Library matched 1984 to the wrong book. A spot check of 83 mentions found all correct.

Worth knowing

Check model-extracted quotes against the source before publishing them; a quarter of them here were quietly paraphrased. Fuzzy title matching is the weak step. Cursor's own usage cost was not reported.

Try it

With Cursor· 6 parts to fill in

Build a pipeline and a static site that lists the [books, tools or other things] most recommended in [a public comment dataset]. Pre-filter the comments with cheap rules first, then use [an LLM API] in batches to extract mentions, resolve each to a canonical record with [a catalogue API], and keep only items recommended by at least [number] different people in at least [number] different months. Handle rate limits with backoff. Use the real data, not sample data, and report counts at each stage. Stop before deploying and show me 10 items with their source comments so I can check them.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related