A typed, validated extraction pipeline powered by Claude. Action items with assignees and deadlines, decisions with dissent tracking, topic segmentation, per-speaker sentiment, and an executive summary — every field grounded in a source quote pulled straight from the transcript.
Live Demo
Plain text, SRT, or JSON — auto-detected.
⌘/Ctrl + Enter to run · max 50,000 chars
Under the hood
Auto-detects plain text, SRT, or JSON. Strips fillers and HTML, normalizes speaker names through an alias map.
Four extractors run concurrently via asyncio.gather:
action items, decisions, topics, sentiment. Each enforces a Pydantic schema.
On Pydantic validation failure, the exact error is appended to a retry prompt so the model can fix its own JSON. Up to 3 retries with exponential backoff.
The summary extractor runs sequentially after the parallel stage so it can use extracted topics and action items as additional context.
Cross-references assignees against the speaker list, fuzzy-matches every
source quote against the transcript, and flags past-dated deadlines.
Outputs a concrete hallucination_rate.
Each stage emits an event over the WebSocket as it completes — the UI renders results progressively instead of waiting for the entire run.