Typing indicator is shown while AI is generating
Why it matters
A chat UI that sits frozen for six seconds after submit looks broken. Users double-click submit (producing duplicate requests), refresh the page (losing the in-flight response), or assume the product crashed and leave. Streaming tokens or at minimum an animated typing indicator is the feedback loop that tells the user the system is working — and with modern LLM APIs that return a stream natively, there is no technical reason not to ship it.
Severity rationale
Low because it hurts perceived performance but does not cause functional failures.
Remediation
Prefer token streaming — the Vercel AI SDK's useChat hook streams by default and requires no additional indicator because characters appear as they generate. If you're on a non-streaming path, render a three-dot bouncing indicator beneath the last user message while isLoading is true. Implement in src/components/chat/message-list.tsx.
{isLoading && <div className="flex gap-1"><span className="animate-bounce">.</span><span className="animate-bounce">.</span><span className="animate-bounce">.</span></div>}
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the AI UX Patterns Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from ai-ux-patterns·automated