World Model · podcast knowledge graph

How this works

A continuously growing knowledge graph built from podcast RSS metadata. No audio is ever downloaded, and no transcripts are analysed yet — this is what metadata alone can support.

The pipeline

RSS feed
  → conditional GET (ETag / Last-Modified)   ← unchanged feed = 304, no bytes
  → normalise episode metadata
  → extract entities (rules + confidence)
  → resolve identities (aliases, variants)
  → extract relationships
  → Cloudflare D1
  → this site, a REST API and an MCP server

Why you can trust a claim

Every relationship is stored with the episode, the exact source text, the extraction rule and a confidence score. Nothing is invented: if you see an edge, there is a quote behind it. Open the “evidence” disclosure on any connection to read it.

What is in the graph

mentioned 5268 · discusses 1813 · references 1568 · hosted by 822 · appeared on 276 · works at 85 · authored 73 · founded 28 · recommended 2

Agents welcome

The same graph is exposed as an MCP server (POST /mcp) with semantic tools such as search_entities, get_related_entities, get_entities_across_podcasts and find_path_between_entities, plus a JSON API under /api.

Honest limits

Extraction is rule-based, so recall on free-form prose is limited and a link with an uninformative domain can be typed wrongly. Confidence, the extractor name and the source text are stored precisely so a later semantic pass can correct them, and processing can be re-run at any time without duplicating anything.