> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openhome.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hacker News Digest

> A hands-free voice interface to Hacker News — hear a digest of the front page, drill into any story, and search any topic by voice.

Hacker News Digest is an OpenHome community ability that turns Y Combinator's Hacker News into a hands-free voice briefing. Trigger it to hear a digest of the current front page, say a number to drill into any story, or search any tech topic — all without touching your screen. Titles, points, and comment counts come straight from the [Algolia Hacker News API](https://hn.algolia.com/api), so the digest reflects live data with no hallucinated stories.

## What It Does

* Fetches live front-page stories from the Algolia Hacker News API and delivers them as a concise spoken digest
* Drills into any story on request for a fuller breakdown
* Searches Hacker News for any topic by name
* Pages through the front page for more stories
* Uses the LLM only for narration — titles, points, and comment counts come directly from the API

## Voice Commands

| You say                        | What happens                                      |
| ------------------------------ | ------------------------------------------------- |
| `"1"`, `"2"`, …                | Deep-dive on that story                           |
| *"Tell me about the Rust one"* | Expands the matching story by title               |
| *"Search for WebAssembly"*     | Searches Hacker News for that topic               |
| *"More"* / *"Next"*            | Fetches the next batch of five front-page stories |
| *"Stop"* / *"Done"* / *"Bye"*  | Ends the session                                  |

## Example Conversation

> **User:** What's on Hacker News?
>
> **AI:** A new memory allocator for Rust is getting attention — it cuts allocation overhead by forty percent in benchmarks, and the thread is full of performance engineers comparing notes. Up next, PostgreSQL 17 shipped...
>
> **AI:** Want me to explain one of those? Say a number, name a topic, or say stop.
>
> **User:** Two.
>
> **AI:** PostgreSQL 17's headline feature is a revamped vacuum process...
>
> **User:** Search for WebAssembly.
>
> **AI:** Five stories on WebAssembly right now — the top one covers the new WASI 0.2 spec that just hit stable...
>
> **User:** Stop.
>
> **AI:** Later. Stay curious.

## How It Works

* **Low-latency startup** — the API fetch and the spoken intro run concurrently, so the stories are ready by the time the intro finishes.
* **Background prefetch** — once the digest is spoken, all five story expansions are pre-generated in the background, so asking for a story by number is usually instant.
* **Intent classification** — each response is routed through an LLM classifier (`EXPAND`, `SEARCH`, `MORE`, `EXIT`, `CONVERSE`, `UNKNOWN`); bare numbers bypass the LLM via fast-path detection.
* **Pagination** — "more" fetches the next Algolia page, so stories never repeat across batches.

## Trigger Phrases

* `Hacker News`
* `HN digest`
* `what's on Hacker News`
* `tech digest`
* `HN today`

## Setup

No API key required — the ability uses the free, public [Algolia Hacker News Search API](https://hn.algolia.com/api), which needs no sign-up or token. It requires Python 3.10+, the `httpx` package, and an OpenHome Agent with an LLM configured (used for narration and intent classification).

## APIs Used

| Service                    | Auth required | Purpose                                                  |
| -------------------------- | :-----------: | -------------------------------------------------------- |
| Algolia Hacker News Search |      None     | Live front-page stories, story details, and topic search |

## Developer Credit

Developed by [Kuber Mehta](https://github.com/Kuberwastaken).

<Card title="View on GitHub" icon="github" href="https://github.com/openhome-dev/abilities/tree/dev/community/hn-digest">
  Source code for the Hacker News Digest community ability.
</Card>
