Show HN: Tambo Add A Cursor style assistant for React apps (OSS, self-hosted)
Tambo is a React SDK that lets your app render and control UI components based on natural language input.
We are hooked on Cursor and want all our apps (Stripe, Vercel, GitHub) to have the same experience. I should be able to type `update env key` and get a UI to add it.
Tambo lets an AI assistant render or update the state of registered React components.
It can fetch context via MCP (Model Context Protocol) or client-side fetches (similar to OpenAI tool calls).
The SDK handles streaming messages and prop updates, maintains thread history, and passes context across turns. It’s BYOM (Bring Your Own Model) and works with Next.js, Remix, Vite, and React Native.
If you’re building a “Cursor for X” (spreadsheets, video, design, etc.), check it out.
Yesterday, we went 100% open source.
Docs: https://docs.tambo.co GitHub: https://tambo.co/gh
— Michael x2, Alec, Akhilesh
Even perplexity, scira work with beautiful ui generation for visualizing data to the user but they have to do it manually as far as i know.
I'm currently building coldran.com to compete with customer chatbots but with better experience and how customers can interact with teams to get better experience and features as fast as possible.
But I'm genuinely curious why would anyone use this instead of building their own unique ui because of branding reasons other than that this seems cool.
Internal Dashboard Chatbots can allow people to interact with some api endpoints which other components use within the website with a prompt and then the ui appears ~ that would be cool like creation of projects or changing the git connection from one repo to another without changing the pages.
but this has a market but people are clueless about the usage
ps: i haven't used tambo at the moment but this is very cool
To answer this question:
> why would anyone use this instead of building their own unique ui
0. Under our component library is tambo-ai/react, which are just React hooks, so you could build your UI from scratch (we had a user do this over a weekend). They apologized, "sorry I didn't use your ui components".
1. Most of our components are just for managing sending messages, showing chat state, etc. The rendered or intearcted with components are up to the developer and often pulled from their existing app (chart, forms, tables, etc.) and styling is up to them.
2. All of those provided UI components are the “copy and paste” model (like shadcn). You can easily update their styles to match your UI or customize them by simply changing the tambo.css file we add to your project.
> Internal Dashboard Chatbots can allow people to interact with some api endpoints which other components use within the website with a prompt and then the ui appears ~ that would be cool like creation of projects or changing the git connection from one repo to another without changing the pages.
We have this experience inside our dashboard https://tambo.co/dashboard you should try it!
If you visit our landing page, you can see a demo: https://tambo.co
Our demo chat has an Email component registered clientside that the assistant can render; it also utilizes tamboState hooks to pass the state back into the chat history.
There are a few other differences, but that is one of the bigger ones.
One example I often give is a salesperson out on the road. They could talk to their CRM app:
"Add note to Joe we talked about his son going to college...also he's interested in getting a new tractor...he mentioned his buddy stan is looking at tractors."
The app will generate UI components inline:
Add Note (with generated note to approve/edit).
Add Opportunity (with SKUs filtered to tractors, but needs the user to select which tractor--since the user didn't say)
New Contact (with name generated and linked to Joe, but has some ui elements left blank for the user to enter, contact, company name etc.)
We are already seeing this play out in the developer tool space with OpenAI Codex, Claude Code github actions, etc.
One person gave a demo to the entire eng team after a weekend!
There is so much more to do on the front of managing composable and disposable (I use the term 'ephemeral,' but maybe that's too highbrow).