PodINT
A pipeline that turns podcast episodes into a graph of who claimed what, and when, so stances can be tracked across speakers and appearances.
- Status
- active
- Role
- Sole developer
- Period
- 2026–present
- Stack
- Python · faster-whisper · pyannote · Neo4j · SQLite · marimo
The question. Executives, investors, and policymakers say things on podcasts they would not put in writing, but that material is barely instrumented. Existing tools mostly track brand sentiment. PodINT asks a different question: who said what, when, and how confidently, and how do those positions change or conflict over time?
What I built. A five-stage Python pipeline: ingest (RSS and YouTube), transcribe, extract, graph, analyze.
- Transcripts come from the first source that has one: the RSS feed, then the show’s website, then YouTube. Only when none exists does the pipeline fall back to local transcription with faster-whisper, plus speaker diarization with pyannote.
- Extraction uses an LLM behind a provider-agnostic interface to pull out claims by named speakers and classify them by topic.
- The graph is Neo4j. It links claims to people, topics, and episodes, with edges for claims that support, contradict, or evolve from one another.
- Supporting pieces: a SQLite catalog of shows and episodes (Alembic migrations), voiceprints stored with sqlite-vec for recognizing speakers across episodes, a Click CLI, and a marimo dashboard.
Where it stands. I surveyed the whole system when I resumed work in September 2026. At that point:
- Catalog: 80 podcasts and 7,775 episodes.
- Processed: 12 episodes, mostly from Dwarkesh Podcast and Grid Talk.
- Graph: 772 claims, 67 topics, and 23 people, with 63 supporting, 16 evolving, and 11 contradicting links.
- Code: about 11,000 lines, with 611 passing tests.
The same survey recorded what does not work yet:
- Claim timestamps are the bounds of ten-minute chunks, not exact times.
- Most processed episodes used scraped transcripts, so they cannot be voiceprinted.
- The voiceprint stage’s exit test failed: it found four voices in a three-speaker episode.
Status. Built February to July 2026 and resumed in September 2026. The repository is private.