Technical Challenges and Design Innovations in New Office Space

·1h 19m
{# Audio/video src routes through the /p/.mp3 play-count redirect. See backend/docs/PLAY_COUNTS.md. #}
{# --------------------------------------------------------------------------- RAG chat panel. Anonymous, session-rate-limited chat over the channel (or a single episode when ``episode`` is in context). Uses an inline Alpine.js component — no extra JS file, no WebSocket, no SSE. The server returns a full JSON response per turn (Phase 1). Tokens-level streaming is deferred to Phase 2 (requires ASGI). Citations render as buttons that spin up an inline mini-player inside the drawer (audio seeks to the cited moment). A "Go to episode" action hands off the current playback position to the full episode page via ``?t=&autoplay=1``. --------------------------------------------------------------------------- #}
{# Header — gains a festive gradient when fun mode is on; goes full rainbow when the user shift-clicks into ultra. #}
The WAN Show
AI chat — answers grounded in episodes
{# Scope bar — persistent indicator of which corpus the agent searches. On episode pages it's a segmented control; on channel pages it's a static badge so the user always knows what the chat is grounded in. #}
{# So the user never has to guess whether their playful preference is active — the tiny header pill alone was easy to miss. Ultra mode swaps to a rainbow strip + louder copy. #}