We raised $143M to build the control layer for software change.Read more: We raised $143M to build the control layer for software change.

The Merge: Why Building AI Chat Is Harder Than It Looks

by
Hendrik Krack

Hendrik Krack

August 25, 2026

4 min read

Cover image

In CodeRabbit's latest episode of The Merge, I sat down with Simon Farshid, founder and CTO of Assistant UI, 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.

Assistant 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.

The 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."

Turns 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.

The hard part is the state

“Building chat interfaces seems very easy,” Simon said. “The hard part is state management.”

A 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.

People 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.

Assistant UI manages the runtime state and common chat behavior so teams can focus on the interactions their product actually needs.

A four-layer Assistant UI architecture diagram showing user actions flowing from the interface through the runtime and optional backend to models and services, with UI state, streamed messages, and results flowing back.

The last 20% is where taste matters

When our conversation turned to coding agents, Simon focused on the work that remains after a clear specification becomes code.

“You get 80% of the work done with 10% of the effort,” Simon said. “All the alpha is in the remaining 20%.”

For 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.

The review loop running on Simon’s machine

Towards the end of the episode, Simon described a review loop that pairs his coding agent with CodeRabbit.

“One really cool loop is having an agent look at the CodeRabbit errors and then fixing them and pushing updates,” he said.

By “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.

He 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.

A five-stage overnight documentation loop showing a background agent scanning Assistant UI's docs, detecting stale content, applying updates, and passing the result through CodeRabbit review and Simon's judgment.

Simon 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.

Watch the full episode of The Merge 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.

Share

Share on RedditShare on XShare on LinkedIn

Catch the latest, right in your inbox.

Add us to your feed.

GetStarted in2 clicks.