Designing Agentic Interfaces with A2UI and Genkit A developer rebuilt the frontend of AIDA, an AI Diagnostic Agent, around Google's open Agent to User Interface (A2UI) protocol and Genkit, replacing static Markdown chat output with agent-generated dashboards, gauges, tables and 3D process graphs. The A2UI integration rests on three concepts: a shared catalog of UI components, live surfaces rendered in the client via streamed application/a2ui+json messages, and two-way actions that send user clicks back to the agent as the next conversational turn. The build also adds a human-in-the-loop shell command tool that pauses for explicit Approve/Deny confirmation in the UI before AIDA executes any command on the host. In the previous article https://danicat.dev/posts/building-agentic-backends-with-genkit-go/ , we rebuilt the backend of AIDA, the AI Diagnostic Agent, replacing her legacy Python and SQLite RAG setup with a compiled Genkit Go binary and on-demand Agent Skills. With the backend done, our attention shifts to the frontend. Even with a new Go brain and on-demand skills, AIDA is still pretty much a chatbot: you type a prompt, she runs osquery , and she dumps a wall of text back at you. Even though AIDA is retro-themed, we don’t need to limit her to such a dated experience. Modern agentic UIs should not only leverage richer UI elements, but they should also adapt to user needs instead of applying a static, one-size-fits-all approach. In this article, we modernize AIDA’s interface. Before digging into the code, let’s look at what a modern agentic UI needs and how the Agent to User Interface A2UI https://a2ui.org/ protocol works. What is A2UI? what-is-a2ui A2UI is an open protocol from Google that gives AI agents a way to speak directly in native UI components. Instead of limiting responses to text, an agent can dynamically assemble dashboards, charts, tables, and interactive controls tailored to whatever task you are working on right now. Your frontend keeps full control over UI styling and rendering, while the agent chooses what to display based on the chat context and data. An A2UI integration revolves around three main concepts: - Catalog : The shared menu of UI building blocks like panels, gauges, charts, tables, and buttons and their schemas. Both the backend agent and the frontend client agree on the catalog upfront — you can use the built-in basic catalog or define custom components tailored to your domain. - Surfaces : The live UI canvas