# Clawd Talks — Podcast Workflow

## Overview
When Tobi posts a topic in the Telegram "Podcast" group, clawd-bot generates a full
AI-powered podcast episode with two distinct voices and adds it to the RSS feed.

## How to trigger an episode
Just post a topic in the Podcast Telegram group, e.g.:
- "The future of quantum computing"
- "How RAG works in AI systems"  
- "Bitcoin's Lightning Network explained"

I'll confirm, then generate the episode (~15–20 min process for 40 min audio).

## Technical Stack
- **Script generation:** Claude (me) — 10,000–14,000 word two-host dialogue
- **TTS:** Microsoft Edge TTS (free) via `edge-tts` Python package
  - HOST_A: Emma (`en-US-EmmaNeural`) — US female
  - HOST_B: Ryan (`en-GB-RyanNeural`) — UK male
- **Audio stitching:** ffmpeg
- **RSS feed:** Standard RSS 2.0 with iTunes namespace
- **Serving:** Tailscale Funnel via existing trmnl-server on port 8899

## URLs
- Feed: `https://earth.tail8566f7.ts.net/podcast/feed.xml`
- Episodes: `https://earth.tail8566f7.ts.net/podcast/episodes/<filename>.mp3`
- Listing: `https://earth.tail8566f7.ts.net/podcast/`

## Subscribing
Add the feed URL to any podcast app:
- **Apple Podcasts:** Library → Add a Show → Enter RSS URL
- **Overcast:** Add URL → paste feed URL
- **Pocket Casts:** Subscribe → paste feed URL
- **Spotify:** Not supported (private RSS)

## Script Format
Scripts use a simple format parsed by generate_audio.py:
```
HOST_A: Welcome to Clawd Talks...
HOST_B: Great to be here...
HOST_A: So today we're exploring...
```

## Generation Steps (automated)
1. Claude generates dialogue script (~5K–7K words)
2. Script saved to `podcast/episodes/<slug>/script.txt`
3. `generate_audio.py` called with script + metadata JSON
4. edge-tts generates individual segments per line
5. ffmpeg stitches into single MP3
6. RSS feed updated with new episode
7. Telegram notification sent

## Episode JSON Format
```json
{
    "title": "How RAG Works in AI Systems",
    "description": "Emma and Ryan break down Retrieval-Augmented Generation...",
    "topic": "how RAG works in AI systems",
    "date": "2026-03-05"
}
```

## File Locations
- Generator: `podcast/generate_audio.py`
- Episodes dir: `podcast/episodes/`
- RSS feed: `podcast/feed.xml`
- This doc: `podcast/PODCAST_WORKFLOW.md`

## Audio Quality
Edge TTS is free and sounds very natural (Microsoft neural voices).
Quality is comparable to Google/Amazon TTS, suitable for podcast listening.

## Episode Length
- **Target: 40 minutes** = ~6,000 spoken words = ~12,000 words of script (with pauses/pacing)
- Script should have **160–220 dialogue exchanges**
- **More depth, not just more words** — see structure below

## Episode Structure (40-min format)
Every episode should explore the topic from multiple angles. Suggested arc:

1. **Hook & framing** (~3 min) — a surprising fact, counterintuitive question, or real-world story
2. **What it is / foundations** (~7 min) — the core concept, clear and accessible
3. **The mainstream view** (~7 min) — what most people think/do, why, and what's right about it
4. **The critical / contrarian view** (~7 min) — where the mainstream is wrong, incomplete, or missing nuance
5. **Deep dive: the interesting complexity** (~8 min) — edge cases, the science, real examples, expert takes
6. **Practical / so what** (~5 min) — what this means for the listener's actual life
7. **Synthesis & close** (~3 min) — where Emma and Ryan land, what changed in their thinking

The hosts should **genuinely disagree** on some points and **change their minds** on others.
Include: real research citations (named), concrete examples, historical context, and at least one
"wait, I never thought about it that way" moment per major section.
