Fast version — in their own words
DISCOURSE MONITOR v2 · fast
Pick a source, ask it anything, and watch it answer — or dodge — in its own voice. Quick, shareable, no homework required.
Now analyzing

1. Choose your content

Tap a Quick load below, or pick a country, an outlet, or a single show — then hit Load.

Or upload a file manually —
Click to choose file(s) or drag them here. Everything is processed on your own computer — nothing is uploaded anywhere.

Only stored in your browser; sent only to Anthropic when you ask a question. Enter it once here.

3. Topics, names & timeline

Rank the most frequent words, phrases and people/names across everything loaded above, and chart any of them by month or quarter. Click × on a row to remove it (the next-ranked entry moves up). Click rows to add them to the trend chart.

Analytics run automatically when you load data — use Recompute after changing the show filter.
Or load a precomputed topics_timeline.json (from 3_extract_topics.py) —
Load topics_timeline.json from 3_extract_topics.py
Advanced: load optional precomputed files (labeled_topics.json, analysis.json) —

Optional: labeled_topics.json from 4_label_topics.py — labeled thematic topics and representative recurring moments.

Load labeled_topics.json from 4_label_topics.py

Optional: analysis.json from 2_analyze_discourse.py --bucket month/quarter — theme summaries per month/quarter.

Load analysis.json from 2_analyze_discourse.py --bucket month/quarter

4. Periods breakdown

Split everything loaded into date periods and compare side by side: episodes, word count, positive/negative language per 10k words, warm vs hostile framing, and each period's top names and phrases. Renders automatically after data loads; switch the granularity or type custom break dates (e.g. an election date) to re-slice.

Debate: two voices, you moderate

Two figures argue a topic you set — each replies only in their own recorded words. You are the moderator: pick the pair, set the topic, optionally give them a real event to react to, then add follow-ups to steer it.

🏆 Debate leaderboard · all players
1 · Who debates?
vs

Each debater argues from their own recorded words — no need to load anything. To widen the context, you can load more sources on Select content first.

2 · What should they debate?
3 · A real event for them to react to (optional)

Interview: a host sits down with a guest

Pick a broadcaster to host and anyone as the guest. The host asks the questions in their own on-air style; the guest answers only in their own recorded words. Set the theme, then steer it with follow-ups.

1 · Who's on air?
interviews

Tip: pick your host from News anchors & hosts — they run the interview in their own on-air voice. Nothing to load; each voice comes from their own recorded words.

2 · What's the interview about?
Upload a clip

Paste what someone said, a transcript, or an article. You can see which cast member you sound most like (just for fun), or help us identify it and file it for review. Your upload is kept separate — it never trains the system or enters the archive unless we review and approve it.

1 · Choose what to do

2 · Paste or dictate, then run

Library: channels, playlists & title groups

A full catalog of everything you've collected, filed under channel → playlist → title group, with the key part of each title and its main topics. It refreshes automatically after each update.

7. Live program log — what aired & how often

The live signal segmented into identified programs by tools/segment_live.py: each airing's show, air date/time, and — because VTV re-airs content — a play count so you can see what the audience heard more than once. Replays aren't stored twice; they're logged here. Re-run the tool (or let the nightly job do it) to refresh data/vtv_live_airlog.json.

Predict: how would they cover it, and what do they avoid?

Type a topic — even today's news — and see how they'd spin it, plus what they refuse to touch.

Ask the archive: meet IAN & SPIN

Two voices, one topic. IAN gives you the straight answer. SPIN is the spokesperson — ask it something awkward and it'll dodge, twist your question, and pivot, exactly like a politician on camera.

Hi, I'm IAN — your Intelligent Automatic Narrator. I've sat through thousands of hours of TV so you don't have to. Choose your content above and ask me anything about it.