{"slug": "the-merge-why-building-ai-chat-is-harder-than-it-looks", "title": "The Merge: Why Building AI Chat Is Harder Than It Looks", "summary": "Assistant UI, an open-source library for building AI chat interfaces, is used in over 2,000 GitHub repositories and receives 1.4 million npm downloads monthly, according to founder and CTO Simon Farshid in an episode of CodeRabbit's The Merge. Farshid emphasized that state management is the hardest part of building chat interfaces and that the final 20% of work requires product judgment, citing a coding-agent loop with CodeRabbit that fixes review findings and pushes updates.", "body_md": "In CodeRabbit's latest episode of *The Merge*, I sat down with Simon Farshid, founder and CTO of [Assistant UI](https://www.assistant-ui.com/), an open-source library for building AI chat and agent interfaces. We talked about the hidden work behind those interfaces, the growing importance of product judgment, and the coding-agent loop Simon runs with CodeRabbit.\n\nAssistant UI gives React developers customizable components for AI chat and handles the underlying work, including streaming responses, conversation state, attachments, message editing, voice, and connections to agent backends.\n\nThe library was born out of Simon's hackathon project. He kept reaching for the same chat interface across his experiments and startup ideas, so he built one. \"I didn't plan to make it into a startup,\" he said. \"It was something that I needed myself.\"\n\nTurns out, plenty of other developers had the same problem. Assistant UI now shows up in well over 2,000 open-source GitHub repositories and gets 1.4 million npm downloads a month, including package updates.\n\n## The hard part is the state\n\n“Building chat interfaces seems very easy,” Simon said. “The hard part is state management.”\n\nA chat box looks simple until the response starts. Text streams in while Markdown is still rendering. A user may attach a file, edit an earlier message, stop a run, or switch to voice. Every action changes what appears on screen and the conversation state underneath it.\n\nPeople arrive with habits formed by ChatGPT, Claude, and other polished AI products. They expect an embedded agent to respond smoothly and let them interrupt or correct it without losing the conversation.\n\nAssistant UI manages the runtime state and common chat behavior so teams can focus on the interactions their product actually needs.\n\n## The last 20% is where taste matters\n\nWhen our conversation turned to coding agents, Simon focused on the work that remains after a clear specification becomes code.\n\n“You get 80% of the work done with 10% of the effort,” Simon said. “All the alpha is in the remaining 20%.”\n\nFor Simon, taste is practical. It shows up in a clean API, a useful interaction, or a feature that solves a recurring problem without forcing every team into the same design. He tests new patterns in customer codebases, then brings the ones that hold up into the main library.\n\n## The review loop running on Simon’s machine\n\nTowards the end of the episode, Simon described a review loop that pairs his coding agent with CodeRabbit.\n\n“One really cool loop is having an agent look at the CodeRabbit errors and then fixing them and pushing updates,” he said.\n\nBy “errors,” Simon meant the findings CodeRabbit surfaces during review. In the loop he described, his coding agent fixes straightforward findings and pushes an update. When a finding is less certain, the agent summarizes it for Simon, who decides what should be changed before the next review.\n\nHe is experimenting with similar loops elsewhere in his workflow. Many of them run overnight, including one that checks Assistant UI's documentation file by file and updates anything that has fallen behind.\n\nSimon calls this way of working “lean forward.” AI can get a project most of the way there with little effort. However, he says, engineers must stay involved in the remaining work, where product judgment, careful review, and attention to detail make all the difference in the final product.\n\nWatch the [ full episode of The Merge](https://youtu.be/o41cg-3cM2Q) for our conversation about Assistant UI's open-source beginnings, the future of generative interfaces, and the development loops Simon is already putting to work.", "url": "https://wpnews.pro/news/the-merge-why-building-ai-chat-is-harder-than-it-looks", "canonical_source": "https://coderabbit.ai/blog/ai-agent-ux-simon-farshid-assistant-ui", "published_at": "2026-08-25 00:00:00+00:00", "updated_at": "2026-08-27 21:22:34.234385+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-agents"], "entities": ["Assistant UI", "Simon Farshid", "CodeRabbit", "The Merge", "GitHub", "npm"], "alternates": {"html": "https://wpnews.pro/news/the-merge-why-building-ai-chat-is-harder-than-it-looks", "markdown": "https://wpnews.pro/news/the-merge-why-building-ai-chat-is-harder-than-it-looks.md", "text": "https://wpnews.pro/news/the-merge-why-building-ai-chat-is-harder-than-it-looks.txt", "jsonld": "https://wpnews.pro/news/the-merge-why-building-ai-chat-is-harder-than-it-looks.jsonld"}}