The whole film is one conversation. The hook is a noisy team chat nobody answers; on the drop the thread clears and the agent arrives; the proof is the agent messaging first, with the anomaly rendered as a tool card inside its bubble and the human replying “Roll back”. Serif titles sit above the chat like film subtitles.
Bubbles shoot up from the composer, one per beat, pushing older ones up into a fade mask; in bar 4 the tempo doubles to half-beats, “typing…” appears and dies unanswered on the last downbeat.
On the drop every bubble is swept upward and the thread empties; the mark pops at centre with three rings expanding outward, then one beat of “typing…” and the first agent bubble pops in from bottom-left.
No user message first: the “● new” pill lights, the agent bubble pops from the left and the tool card unfolds top→down on the bar-9 downbeat; the user’s “Roll back.” flies in from the right on the next downbeat.
The window’s edges shrink inward as dashed frames while the chat folds into the lockup; the tagline rises and the CTA pops up from below like the last message bubble on the sting.
Chat is the native mental model for “an AI agent”, and a proactive first message is the clearest possible proof of a background agent. The risk is looking like every other chatbot demo — the tool card and the human decision must be visibly the hero, not the typing animation.
Adapt to your product: Replace the tool card with the richest result your product returns (a diff, a chart, a booking, a draft) and keep the pattern: the agent speaks first, the human answers with one decisive action.
References: https://ai-sdk.dev/docs/ai-sdk-ui/generative-user-interfaces (tool results rendered as components inside chat) · https://vercel.com/blog/ai-sdk-3-generative-ui (generative UI announcement with streaming components)