tambo
Generative UI SDK for React
A toolkit for React developers that lets an AI agent decide which UI components to show based on what a user types in a chat, with streaming and error recovery built in.
Tambo is a toolkit for adding AI-driven user interfaces to React applications. Instead of building static screens with fixed layouts, you register your existing React components with Tambo, and an AI agent decides which components to show based on what the user types in a chat. If a user asks "show me sales by region," Tambo picks your Chart component and fills it with the right data. If the user says "add a task," it updates your TaskBoard component.
Under the hood, Tambo runs the conversation loop with a language model of your choice: OpenAI, Anthropic, Google Gemini, Mistral, or any compatible provider. You bring your own API key. Tambo then streams component data back to your app as the model generates it, handling the technical details of cancellation, reconnection, and error recovery.
The toolkit distinguishes between two kinds of components. Generative components appear once in response to a message, things like charts or summaries. Interactable components persist on screen and update as the user keeps refining their request, like a shopping cart or task board that a user can modify through follow-up messages.
Setup is a one-command process using an npm initializer. You can connect to a hosted backend called Tambo Cloud, which manages conversation state and agent execution for you, or run the same backend yourself via Docker on your own infrastructure. The project also supports connecting to external tools and services through the MCP protocol, so the AI can query databases, post to Slack, or call any other MCP-compatible server.
The library has its own documentation, a pre-built component library, starter templates, and a Discord community. It is open-source and reached over 11,000 GitHub stars shortly after launching version 1.0.
Where it fits
- Build a chat-driven dashboard where users ask for sales by region and the right chart appears automatically.
- Create a task manager app where users add and update tasks through natural language messages.
- Add an AI-powered interface to an existing React app without rewriting your components.
- Connect your app to external tools like Slack or databases using the MCP protocol.