See how Outkit transforms different types of AI responses into structured components.Documentation Index
Fetch the complete documentation index at: https://docs.outkit.dev/llms.txt
Use this file to discover all available pages before exploring further.
Database Comparison
A user asks: “Compare PostgreSQL and MongoDB for my e-commerce startup and tell me what I need to set up PostgreSQL” Raw AI output (markdown):- The markdown table became a structured, sortable
tablecomponent - The bold warning became a
warningalert with a clear title - The numbered list became an interactive
checkboxchecklist with progress tracking - Prose text was preserved as
textblocks between components
Streaming Response
Streaming lets you render progressively. Here’s how SSE events arrive:metaarrives → design tokens extracted, buffered blocks releasedtextblock arrives → render “Here are the results:” immediatelytableblock arrives → render the full interactive table[DONE]→ stream complete
feedResponse, all of this happens automatically — you don’t parse any of it.
Multi-Turn Chat
A real-world pattern: each message in a chat gets its ownuseBlockStream instance.
ChatMessage manages its own streaming state independently — no shared state, no conflicts between concurrent streams.
Integration Patterns
Two complete patterns showing how to call your LLM, collect the response, send it to Outkit, and render the result. Pick the one that matches your architecture.Pattern 1: Non-Streaming (JSON mode)
Best when you already have the full LLM response as a string — batch workflows, saved messages, or LLMs that don’t stream. Backend — calls your LLM, then calls Outkit with?stream=false:
JSON mode (
?stream=false) waits for Outkit to finish processing before returning. Latency is higher but the integration is simpler — no SSE parsing needed.Pattern 2: Streaming (SSE)
Best for real-time UIs where you want progressive rendering as Outkit processes. The LLM response is collected first, then streamed through Outkit. Backend — calls your LLM (streaming or not), collects the full text, then proxies Outkit’s SSE stream:feedResponse handles all SSE parsing automatically: