explainx.ai0k
TrendingAI News TodayPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

follow on google

Add explainx.ai as a preferred source

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

community

Join the community

learn

mind: share how you thinkpathways — start freeworkshopsbootcampscoursescompare Explainxcertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcpestacktoolsmdx readeragentsllmsdesignsdictionarypeopleagi trackerfelony benchranks

company

aboutvisionmissionteaminstructorsteach on explainxpartnershipscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportcontactprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

explainx.ai

On this page

  • The numbers at a glance
  • What was wrong with the first chat?
  • What does AG-UI change?
  • The Vue port: contribute, fork or wait
  • What makes an in-app agent trustworthy?
  • What should you build and what should you adopt?
  • What this does not show
  • How to try it yourself
  • Related reading
← Back to blog

explainx / blog

fynk Replaced 11,000 Lines of AI Chat Code With CopilotKit and AG-UI, and Ported It to Vue

CopilotKit, AG-UI, AI Agents, Vue, Open Source

Part of AI Agents

fynk swapped its hand-built AI chat for AG-UI and CopilotKit, cut 11,000 lines and contributed a 62,517-line Vue port. What they adopted, built and learned.

Nov 2, 2026·8 min read·Yash Thakker
add explainx.ai
go deep
fynk Replaced 11,000 Lines of AI Chat Code With CopilotKit and AG-UI, and Ported It to Vue

Contract software company fynk says it removed about 11,000 lines of its own AI chat code by adopting two open-source pieces, the AG-UI protocol and the CopilotKit framework, and that it wrote the Vue version of CopilotKit itself. The company's account is on the fynk blog, published November 2, 2026 by Constantin Wintoniak. It also appeared on Hacker News, where it had 8 points and no comments when we checked, so there is no discussion to report.

It is a vendor's own write-up, with numbers we cannot independently check. It is still useful, because it is specific about what the team adopted, what it built, and what went wrong. This post pulls out the parts that transfer to other teams building an in-app agent.

The numbers at a glance

table · 2 cols
Itemfynk's figure
Code removed from fynkAbout 11,000 lines
Vue port pull request62,517 lines across 244 files
Merged into CopilotKitMay 13, 2026; @copilotkit/vue on npm the same evening
TimelineAbout 3 months from first commit (February) to merge; 8 months until documentation was done (October)
PeopleOne engineer plus a coding agent, alongside other work
Follow-upMore than 20 Vue fixes and features from others; 5 more merged pull requests from fynk
Assistant shippedAugust 2026, on every plan

What was wrong with the first chat?

At the start of 2026 fynk had a document chat it had built itself. It answered questions about one contract at a time. The company says every piece of an answer came in a message format it had defined, a wrapper around a chunk of text with a slot for PDF coordinates, and that this format "knew two things: a piece of text, and where in the PDF it came from."

Anything else needed a new field in both the frontend and the AI service. Comparing two contracts meant changing the format. Showing a table meant a new message type. Letting the agent ask whether to open a document meant another state in a hand-written state machine that ran over a WebSocket the company calls unreliable. Its conclusion: "We were building the same basics that every company with an AI agent needs. When that happens, you should stop building them yourself."

What does AG-UI change?

fynk's own write-up describes the swap. The chat panel, streaming state and wire protocol that it hand-built became CopilotKit components, an AG-UI client and an AG-UI plus LangGraph adapter. Three things it had not built at all, tool calls in the UI, human in the loop, and shared agent-to-UI state, arrived with the framework.

The post shows the same sentence, "The notice period is three months," in both formats. The old one was one JSON object with a message chunk. The new one is five standard AG-UI events: a run-started event, a text-message start, a content event with the text, a text-message end and a run-finished event. More lines for one sentence, but the next feature needs no new format. Compare two contracts and the same stream carries tool-call events and a state snapshot.

The architecture fynk describes has three layers. The agent runs in its AI service, built with the open-source LangGraph framework, and an AG-UI adapter turns its output into events. The backend keeps threads and history. The frontend renders events with CopilotKit. The events follow the standard, and conversation history stays in fynk's own backend.

If you follow CopilotKit's other work, we covered its OpenDuet proactive agent and the earlier OpenBot coworkers project.

The Vue port: contribute, fork or wait

CopilotKit was React-only and fynk's app is Vue. The company lays out the options. Forking is fast for about a month, then you maintain someone else's code alone. Waiting is free unless the feature is the thing customers want. Contributing is the expensive option up front: you meet maintainers' standards and keep up with their pace, and in return you stop being the only people who care about your code.

fynk contributed. Engineer Abel Enekes started in February "expecting to write a couple of lines" with a coding agent. The pull request came in at 62,517 lines across 244 files, built tests first against CopilotKit's own React test suite. Maintainers reviewed it, fixed the architecture where needed and merged it on May 13, 2026.

The payoff, per fynk: since May, others have shipped more than 20 Vue fixes and features, including a threads drawer, documentation, human-in-the-loop fixes and accessibility work. A fork would have given fynk none of that.

What the coding agent did and did not do

The company says most effort went into telling the agent what to do and checking the result: porting tests before code, writing decisions into an AGENTS.md file and a parity document instead of repeating them in every prompt, and checking that each test did what its name said. One quoted line from the engineer: "I asked for 1:1 tests, I got 1:1 test names." That is a reminder that agent-written tests can match names without matching behaviour. We have covered the same worry in our posts on whether developers should stop reviewing AI-written code and tests rather than reviews.

What makes an in-app agent trustworthy?

fynk lists five building blocks it says make people trust an assistant with contracts:

  1. Shared state. The agent knows which documents are in context. Open a contract and it is already attached.
  2. Tool calls in the chat. Every step arrives as an event, and each answer carries a collapsible "Finished in N steps" trace.
  3. Human in the loop. The agent pauses and asks before it opens a document or changes anything. Before it moves a contract back from signing, it shows what will happen, for example that it "cancels the current signing process and invalidates any existing signatures," and waits for a click.
  4. Generative UI. The agent renders the company's own components in chat, such as a comparison table that can be downloaded as CSV or Excel.
  5. Citations and permissions. Clicking a numbered citation scrolls the contract to the clause and highlights it. The assistant has exactly the access rights of the user, and it waits for approval checkpoints just as a person would.

On the cost of adding one such confirmation card, fynk says it would have touched five places in the old chat and taken about two weeks. Now it touches two places and takes about two days. That is a company estimate, not a measurement we can check.

What should you build and what should you adopt?

The most reusable part of the post is its table. Our summary of fynk's own decisions:

table · 3 cols
Layerfynk's choiceWhy
Chat UI, streaming, message listAdopt (CopilotKit)Most of the old chat code lived here
Agent-to-UI wire formatAdopt (AG-UI)Events for text, tools, state and pauses already existed
Shared state, tool rendering, human in the loopAdoptA hand-written state machine handled only one document
The tools themselvesBuildThe assistant uses the same tools as the company's API and MCP server, so each is written once
Permissions and approval checkpointsBuildThe logic already lived in the product
Citations into the sourceBuildHighlighting a clause needs its own document viewer
Where data and AI runDecide earlyCustomers ask where contracts are processed; fynk says AI processing stays in the EU and data is not used for training

The reuse of the same tools across the API, the MCP server and the assistant echoes the pattern in our guide to MCP and our explainer on agent skills.

What this does not show

  • It is a company write-up. The numbers come from fynk. We did not review the repositories or measure the assistant.
  • No benchmark. Nothing in the post measures answer quality, error rate or user satisfaction beyond a customer quote.
  • One stack and one domain. A Vue app with a LangGraph backend and a contract product may not match yours.
  • Migration costs are mentioned but not quantified. The company notes that existing chats had to move to the new setup, history included, and calls that "real work of its own."
  • No independent comment yet. The Hacker News thread had no comments when we checked.

How to try it yourself

If you build on Vue, the fynk post says @copilotkit/vue is available. If you use another frontend, the sensible first step is to read the AG-UI event list and see whether your agent framework has an adapter. Both projects are open source: see the CopilotKit repository and the AG-UI repository. Then prototype the one feature that hurts most in your current chat, usually a confirmation step or a tool-call trace, and compare the effort with your hand-built version.

Related reading

  • OpenDuet: CopilotKit's open-source proactive agent
  • OpenBot: CopilotKit's open-source AI coworkers
  • Should developers stop reviewing AI-generated code?
  • Tests, not reviews: Uncle Bob's AI coding gauntlet
  • What is MCP? The complete guide
  • What are agent skills?
  • Sources: fynk blog, CopilotKit on GitHub, AG-UI on GitHub, Hacker News discussion

Figures are fynk's own, accurate as of November 2, 2026.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

View Yash Thakker in People in AI →

Related posts

Aug 20, 2026

OpenBot: CopilotKit's Open-Source AI Coworkers With a Computer Each

CopilotKit CEO Atai Barkai launched OpenBot on August 19, 2026 — an MIT-licensed, self-hosted take on Grok Bot. Any AG-UI agent becomes a coworker with its own browser, files, and tools, and a gateway decides and records every action before it runs. It is alpha, it needs a CopilotKit Intelligence license, and the issue tracker already has authorization and policy gaps.

Oct 30, 2026

OpenDuet: CopilotKit's Open-Source Proactive Agent, Explained and Compared With Claude Duet

OpenDuet, a new CopilotKit repo with about 1.6k stars in nine days, is an open-source take on the proactive agent that messages you first. explainx.ai walks through what it does, how to run it, what it requires, and where it falls short of Claude Duet.

Sep 23, 2026

OpenMuse: An Open-Source Personal Agent With a Browser and Terminal

OpenMuse is CopilotKit's answer to closed personal-agent products like Meta's Muse — a self-hostable, MIT-licensed template with a persistent browser, an optional sandboxed Linux terminal, Gmail and Calendar integration, and durable task tracking, built on React Native and AG-UI. Here's what's actually working in the alpha versus what's still roadmap, and how to run it yourself.