<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Interface Lab</title><description>Practical notes on generative UI, agentic frontends, A2UI/AG-UI, and the frontend architecture of AI products.</description><link>https://lab.roman-leonenko.de/</link><language>en-us</language><item><title>MCP Apps explained for frontend engineers</title><link>https://lab.roman-leonenko.de/posts/mcp-apps-explained-for-frontend-engineers/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/mcp-apps-explained-for-frontend-engineers/</guid><description>How the MCP Apps extension lets tools return interactive UI resources — and how it compares to A2UI and AG-UI for product teams building on LLM responses.</description><pubDate>Wed, 17 Jun 2026 13:00:00 GMT</pubDate><category>AI interfaces</category><category>agentic frontend</category><category>frontend architecture</category><category>generative UI</category><author>Roman Leonenko</author></item><item><title>A2UI explained for frontend engineers</title><link>https://lab.roman-leonenko.de/posts/a2ui-explained-for-frontend-engineers/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/a2ui-explained-for-frontend-engineers/</guid><description>How Google&apos;s declarative agent UI spec lets LLMs propose native component trees across trust boundaries — without executing generated code.</description><pubDate>Wed, 17 Jun 2026 10:00:00 GMT</pubDate><category>AI interfaces</category><category>generative UI</category><category>frontend architecture</category><category>agentic frontend</category><author>Roman Leonenko</author></item><item><title>AG-UI explained for frontend engineers</title><link>https://lab.roman-leonenko.de/posts/ag-ui-explained-for-frontend-engineers/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/ag-ui-explained-for-frontend-engineers/</guid><description>What the Agent–User Interaction Protocol standardizes, how it differs from A2UI and MCP, and when your agentic frontend needs it.</description><pubDate>Wed, 17 Jun 2026 07:00:00 GMT</pubDate><category>AI interfaces</category><category>frontend architecture</category><category>agentic frontend</category><category>generative UI</category><author>Roman Leonenko</author></item><item><title>Streaming protocols: from tokens to UI messages</title><link>https://lab.roman-leonenko.de/posts/streaming-protocols-from-tokens-to-ui-messages/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/streaming-protocols-from-tokens-to-ui-messages/</guid><description>How text streams, SSE data streams, and UIMessage parts carry LLM output to the frontend — and what frontend engineers need from each.</description><pubDate>Tue, 16 Jun 2026 13:00:00 GMT</pubDate><category>AI interfaces</category><category>frontend architecture</category><category>agentic frontend</category><category>chat UX</category><author>Roman Leonenko</author></item><item><title>Output contracts: structured outputs and tool calling</title><link>https://lab.roman-leonenko.de/posts/output-contracts-structured-outputs-and-tool-calling/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/output-contracts-structured-outputs-and-tool-calling/</guid><description>How JSON Schema, tool use, and typed objects form the first protocol layer between LLM responses and frontend interfaces.</description><pubDate>Tue, 16 Jun 2026 10:00:00 GMT</pubDate><category>AI interfaces</category><category>structured outputs</category><category>frontend architecture</category><category>agentic frontend</category><author>Roman Leonenko</author></item><item><title>The protocol landscape for LLM interfaces</title><link>https://lab.roman-leonenko.de/posts/the-protocol-landscape-for-llm-interfaces/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/the-protocol-landscape-for-llm-interfaces/</guid><description>A factual map of the open specs and transport layers that turn model output into product UI — from structured outputs and streaming to AG-UI, A2UI, and MCP Apps.</description><pubDate>Tue, 16 Jun 2026 07:00:00 GMT</pubDate><category>AI interfaces</category><category>frontend architecture</category><category>agentic frontend</category><category>generative UI</category><author>Roman Leonenko</author></item><item><title>From prompt box to workflow</title><link>https://lab.roman-leonenko.de/posts/from-prompt-box-to-workflow/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/from-prompt-box-to-workflow/</guid><description>How AI products can evolve from single prompts into durable workflows with memory, checkpoints, and state.</description><pubDate>Mon, 15 Jun 2026 08:00:00 GMT</pubDate><category>AI interfaces</category><category>workflows</category><category>agentic frontend</category><category>product design</category><author>Roman Leonenko</author></item><item><title>Trust boundaries in AI interfaces</title><link>https://lab.roman-leonenko.de/posts/trust-boundaries-in-ai-ui/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/trust-boundaries-in-ai-ui/</guid><description>A practical way to separate suggestions, generated artifacts, and user-approved actions in AI products.</description><pubDate>Mon, 08 Jun 2026 07:00:00 GMT</pubDate><category>AI interfaces</category><category>trust</category><category>frontend architecture</category><category>UX</category><author>Roman Leonenko</author></item><item><title>Structured outputs need structured interfaces</title><link>https://lab.roman-leonenko.de/posts/structured-outputs-need-structured-interfaces/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/structured-outputs-need-structured-interfaces/</guid><description>How schemas, components, and model responses work together to make AI interfaces predictable.</description><pubDate>Mon, 01 Jun 2026 08:00:00 GMT</pubDate><category>AI interfaces</category><category>structured outputs</category><category>frontend architecture</category><category>generative UI</category><author>Roman Leonenko</author></item><item><title>Chat is a surface, not the product</title><link>https://lab.roman-leonenko.de/posts/chat-is-a-surface-not-the-product/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/chat-is-a-surface-not-the-product/</guid><description>Why AI products should treat chat as an entry point into structured UI, workflows, and decisions.</description><pubDate>Mon, 25 May 2026 07:00:00 GMT</pubDate><category>AI interfaces</category><category>chat UX</category><category>product design</category><category>generative UI</category><author>Roman Leonenko</author></item><item><title>Start here: what Interface Lab is about</title><link>https://lab.roman-leonenko.de/posts/start-here-interface-lab/</link><guid isPermaLink="true">https://lab.roman-leonenko.de/posts/start-here-interface-lab/</guid><description>A practical guide to chat UX, generative UI, and AI frontend architecture — what Interface Lab covers, why it matters, and where to start.</description><pubDate>Mon, 18 May 2026 08:00:00 GMT</pubDate><category>AI interfaces</category><category>chat UX</category><category>generative UI</category><category>frontend architecture</category><author>Roman Leonenko</author></item></channel></rss>