Free, open-source React components and patterns for AI interfaces, including prompts, streaming messages, reasoning, tool calls, citations, agents, memory, voice, and safety.
A control for how hard the model should think — light, balanced or deep, with the tradeoff between speed and depth shown.
A multi-step reasoning trace — each step with its own status and timer, so a long think reads as progress, not a hang.
How to say no without ending the conversation — the refusal, a plain-language reason, and one redirect the reader can click.
Thumbs up and down that ask the one follow-up question worth asking — with a state for feedback that has been sent and cannot be taken back.
The 1/3 pager after a regenerate — previous and next versions, branch markers, continue-from-here, and honest generating, failed and stopped states.
A web search the model ran — the query it chose, how many results came back, and previews of the sources it read.
A cited source as a card — favicon, page title, domain, and the snippet the answer actually drew from.
The passages retrieval actually returned, with similarity scores and a visible relevance floor — including the case where nothing cleared it.
Markdown that renders correctly while it is still arriving — bold, code spans, links and tables settle without ever flashing raw syntax or reflowing.
Render an AI reply token by token like ChatGPT's typing effect — blinking cursor, stop button, and no layout jump as the text grows.
Upload a document, watch fields fill in, then review the flagged ones — per-field confidence, corrections that keep the original, export earned.
The loading state before the first token — bouncing dots, a blinking caret, or a labeled status line while the model thinks.
A collapsible chain-of-thought panel — show the model's reasoning trace with elapsed time, folded away by default.
How to show a function call in chat — the arguments sent, the result returned, run status, and an expand toggle.
Switches for the tools a model may use — web search, code execution, file access — with unmistakable on and off states.
The user's chat bubble — right-aligned, with hover actions to copy, edit the prompt, or regenerate the answer.
The chrome around a live voice call — an unmistakable mute toggle, a running call timer, and an end button that's always one tap away.
A voice conversation as it happens — who is speaking, the live transcript, and replay for any individual turn.
A microphone button that expands into a recording panel — live waveform, a running transcript, and cancel or send.
An animated audio waveform — distinct bar motion for listening, recording, and the assistant speaking back.