<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Builder.io Blog</title>
        <link>https://www.builder.io/blog</link>
        <description>Builder.io Blog</description>
        <lastBuildDate>Thu, 11 Jun 2026 13:45:20 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Builder.io Blog</title>
            <url>https://cdn.builder.io/api/v1/image/assets%2Fc5b47d20f6a943e485717e5895739988%2F0f577ade847144f6882d681d6eb24840?width=1200</url>
            <link>https://www.builder.io/blog</link>
        </image>
        <copyright>All rights reserved 2023, Builder.io</copyright>
        <item>
            <title><![CDATA[Developer experience is dead. Long live agent experience.]]></title>
            <link>https://www.builder.io/blog/agent-experience</link>
            <guid>https://www.builder.io/blog/agent-experience</guid>
            <pubDate>Mon, 08 Jun 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Developer experience is giving way to agent experience: context, deterministic environments, verification, and safety for reliable AI coding workflows.]]></description>
            <content:encoded><![CDATA[<p>For the past ten years, we've obsessed over the developer feedback loop.</p>
<p>We didn’t do this just to make local setups feel fast (though that was always a nice side effect). We did it because friction is the enemy of momentum. Developers don't write great software through sheer willpower; they write it when the system around them makes the right path the easy path.</p>
<p>Good developer experience (DX) assumes people are tired, that they skipped the migration guide, and that they're one cat-on-the-keyboard away from taking down prod. It wraps you in fast, deterministic safety nets—compilers, linters, hot reloading, and branch previews—so you can focus on building.</p>
<p>Lately, we've been inviting a new kind of contributor to our repos: AI agents. But for some reason, we've been treating them like wizards instead of the completely stateless tools they are.</p>
<p>An agent has no lived memory of your product. It doesn't know about the legacy bugs your team learned to fear, and it has no tribal knowledge of your codebase. Left to its own devices, a stateless agent will walk directly into the same architectural wall five times in a row unless the system around it provides a better feedback loop.</p>
<p>If coding agents are going to do meaningful work in real-world codebases, we have to stop only optimizing our prompts and start actively engineering their environments. We need to transition from developer experience to <strong>agent experience (AX)</strong>.</p><h2>What is agent experience (AX)?</h2><p>Agent experience is the discipline of designing the layer between a model and a real codebase: the context, tools, permissions, tests, and review loops that tell the agent what matters, what it can touch, and how it knows it worked.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Ff213ad7300d64ec08b5bdf4434732ad2?width=780" alt="A diagram comparing standard prompting to the agent experience cycle. On the left, &quot;Prompting&quot; shows a linear flow from Human Intent to Agent to Guesswork. On the right, &quot;Agent experience&quot; shows a circular, iterative process: Human Intent leads to Context, then Agent, Workspace, Verification, and Review, which loops back to Human Intent." /><p>It’s about a simple, first-principles question: <em>How do we build a fast, secure, and deterministic feedback loop for agents?</em></p>
<p>From there, we have seven core tenets.</p><h2>1. Context is onboarding</h2><p>Developer onboarding used to be a seasonal event: how quickly can a new human understand this repo and make a safe first contribution?</p>
<p>With agents, onboarding happens at the start of every single task. Repository instructions, setup commands, component APIs, schemas, and known failure modes shape what the agent sees, tries, ignores, and verifies.</p>
<p>The temptation, then, is to over-document. To make sure the agent has all the context it could ever need.</p>
<p>But left unchecked, teams accumulate a graveyard of skills, <code>AGENTS.md</code> rules, stale definitions, prompt snippets, and hidden tool instructions. In a world of too much context, when an agent makes a bad choice, the human reviewer has to debug a massive, non-deterministic input history to figure out which stale instruction or conflicting rule led the model astray.</p>
<p>Good agent context instead behaves like good code. It should be minimal, transparent, and tested.</p>
<ul><li><strong>Minimal:</strong> Global context stays thin and, anywhere possible, points back to the code itself.</li><li><strong>Transparent:</strong> A reviewer can easily audit which rule, skill, or setup note shaped the work.</li><li><strong>Tested:</strong> Team skills are self-explanatory enough that the agent can invoke them at the right time, and the reviewer can understand why.</li></ul>
<p><a href="https://www.builder.io/blog/agent-skills-rules-commands">Agent rules, skills, and other context</a> must be a team discipline rather than a pile of experiments.</p><h2>2. The environment is part of the prompt</h2><p>We accept that <a href="https://www.builder.io/blog/large-language-model-llm">large language models (LLMs)</a> are inherently non-deterministic. Because their cognitive engine is probabilistic, the rest of their execution environment must be aggressively deterministic.</p>
<p>The environment is literally part of the prompt. Dependency versions, local scripts, environment-variable shapes, seed data, auth setups, browser access, and local services determine what the agent can observe and correct.</p>
<p>"I couldn't run the tests locally, but this should work" is a massive DX red flag when a human says it. When an agent does it, we tend to just hope for the best.</p>
<p>A human developer who hits a missing environment variable, a broken database seed step, or a cryptic Docker error will stop and investigate. An agent will route around the failure, change the wrong file, and ship a guess with a polite commit message. If the agent can't compile the code, run the dev server, seed the database, or hit a local API, its output is not trustworthy software.</p>
<p>Agents must have <a href="https://www.builder.io/blog/ai-developer-environments">a reliable, consistent, observable workspace</a> before its output can be trusted.</p><h2>3. No handoffs without verification</h2><p>Agents shoudn't stop at generating code. They need to prove their work.</p>
<p><a href="https://www.builder.io/blog/developers-drowning-in-ai-prs">We're currently trading the friction of writing code for the exhausting cognitive load of reviewing it.</a> If a you have to spend thirty minutes manually QA-ing an agentic PR, checking edge cases, and cleaning up generic layout styles, the agent didn't save you time. It just shifted the labor.</p>
<p>And when devs have too much review labor, <a href="https://www.builder.io/blog/agent-productivity-is-creating-a-quality-debt">quality slips drastically</a>.</p>
<p>Good AX means the agent does more of that work before handoff. It's task, when complete, should present evidence: tests run, screenshots captured, browser flows checked, logs inspected, accessibility trees reviewed, and edge cases explored. Developers shouldn't have to rediscover all of that from scratch.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F6390dae3219041e6bacd6a2070c56511?width=780" alt="A flowchart showing an agentic workflow: a Task icon leads to an Agent Executes step, which flows into a Verification (closed loop) step, then a Ready for Handoff step, and finally to a Reviewer. A secondary box above the Verification step shows icons for tests, flows, edge cases, and accessibility (ally). A dashed curved arrow labeled &quot;Feedback with context&quot; points from the Reviewer back to the Ready for Handoff stage." /><p>Typechecks, unit tests, and linting are still the bones of a serious workflow. But product work also fails where compilers are blind: responsive layouts that collapse, loading states that trap users, or broken flows that technically compile. Giving agents access to tools like Chrome DevTools MCP, Playwright, and automatic branch previews allows them to gather empirical evidence before handing off the work.</p>
<p>Spend tokens before spending reviewer attention. Tokens are cheap, pretty much unlimited, and run 24/7. Senior developer focus is precious, expensive, and burns out. If an agent can check its own work in a closed loop, it should.</p>
<p>And when the agent presents its work, the handoff should be as easy as possible to act on. A reviewer should be able to leave a visual note on a preview branch or point to a failed check and send that context back into the agent's execution loop, letting it self-correct in the workspace it already understands, rather than forcing a developer to copy-paste feedback across tools to restart the workflow.</p><h2>4. Safety needs to be deterministic</h2><p>Good DX made dangerous actions hard. Good AX needs to make dangerous actions impossible. Agents act quickly, literally, and at scale.</p>
<p>A prompt like, "Make sure not to mess with the database!" doesn't really help. Prompts are easily bypassed. Safety must be structural: sandboxing, scoped credentials, file and network limits, separate development and production data, environment-variable approval gates, and human-in-the-loop validation for high-risk actions.</p>
<p>Any time I see drama on Twitter where an agent dropped a database, I think, "Why did your system allow for that? Why did the agent have that access?"</p>
<p>The same bounded-environment principles apply as agents move beyond isolated developer terminals. If a PM, designer, or marketer uses an agent to iterate on a product surface, they shouldn't accidentally inherit root access to a local machine or production credentials. Safety shouldn't depend on whether a non-technical teammate understands what <code>rm -rf</code>, OAuth scopes, or production environment variables can do.</p>
<p>As agents move beyond developers, non-technical teammates will start using them to ship real changes. Safety can't depend on whether a PM or marketer understands what <code>rm -rf</code> , Oauth scopes, or production environment variables can do. The sandbox must be the absolute security boundary.</p><h2>5. Model routing as boring infrastructure</h2><p>We spend too much time focusing on the weekly frontier model horse race, but the real questions for teams are:</p>
<ul><li>Who can access agents?</li><li>Against what systems?</li><li>With what context?</li><li>Under what review process?</li><li>Through which model route?</li><li>And with what audit trail?</li></ul>
<p>Model routing should be boring in the best possible way. Teams need provider flexibility and task-appropriate models, but every developer shouldn't have to become a model-selection expert just to get work done. Cheap, fast models can help with low-risk summarization, triage, classification, scaffolding, or routine review support. Deterministic syntax validation belongs to linters, typecheckers, and test runners. Expensive reasoning models should be reserved for harder multi-file judgment work.</p>
<p><a href="https://www.builder.io/report-governance-gap">Good governance</a> belongs directly inside the agent path. Admins should see usage and costs, reviewers should see execution evidence, and teams should have the flexibility to switch providers without rewriting their entire application logic.</p><h2>6. Design systems and code architecture are the agent's best source of truth</h2><p>Your codebase isn't just for human maintainability anymore. For an agent to execute tasks reliably, the codebase must be the most accurate record of how the product actually works.</p>
<p>If your codebase is messy—if the docs say one thing, the components do another, and Storybook is three versions behind—the agent will synthesize that confusion into elegant-looking garbage.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F429f403e24e5419e9032a68e59af9ffd?width=780" alt="Comparison diagram showing two workflows. The left side, labeled with &quot;vs.&quot;, shows a fragmented &quot;Generic sludge&quot; workflow where Docs, Code, Figma, and Notion are all interconnected and feed into an Agent. The right side shows a streamlined &quot;Consistent product&quot; workflow where a unified Codebase—containing components, types, a design system, and APIs—feeds directly into an Agent to produce a consistent result." /><p>To make your codebase ready for AI, you have to design it using classic software engineering principles: <a href="https://www.youtube.com/watch?v=uC44zFz7JSM">deep modules with thin public interfaces</a>, typed APIs, predictable routing, and clean directory structures.</p>
<p>This is progressive disclosure for machines. By keeping implementation details hidden behind clean interfaces, we lower the cognitive load on the agent, which translates directly to lower token usage and fewer logic errors.</p>
<p>The same applies to design systems. The more your codebase <a href="https://www.builder.io/blog/designing-generative-ui-in-an-agent-native-world">forces the agent to reuse human-made components</a>, tokens, and accessibility patterns, the less likely the output is to become generic sludge. The agent shouldn't be inventing a custom button when your team's button is right there.</p><h2>7. Agents become cross-functional glue</h2><p>Agent experience starts with developers, but it's actually an organizational coordination engine.</p>
<p>When agents make Version 1 of a feature cheap to generate, they don't solve Version 2, 3, or 4. Without a shared workspace, the developer becomes a high-priced human router who copies visual feedback from Slack, translates it back to the agent's prompt interface, runs the workspace locally, and manually manages the branch.</p>
<p>But the best AX moves away from pre-code abstractions toward <a href="https://www.youtube.com/watch?v=8_6-NzarLKU">shared iteration around live product surfaces.</a></p>
<p>With interactive preview deployments and role-aware controls, a designer, marketer, or PM can talk to the agent directly inside a safe, bounded preview. They can test responsive states, iterate on copy, or tweak layouts on a branch preview, while developers retain ownership over architecture, safety, and system integration. The developer is no longer the copy-paste bottleneck; they are the platform engineer who owns the system design.</p><h2>Agent experience deserves a platform</h2><p>You can certainly cobble these pieces together yourself: a coding agent extension, an isolated sandbox service, a rules file in one repo, a browser testing tool, a manual review workflow over Slack, etc.</p>
<p>But when you do that, the seams often become the work. You will likely find yourself spending more time maintaining your internal agentic infrastructure than shipping features.</p>
<p>At Builder, our bet is that agentic work becomes truly valuable when the whole team can collaborate on real code with shared context, deterministic environments, visual previews, governance, and a clear path back to human review.</p>
<p>By treating the codebase, the execution environment, and the team as a single collaborative workspace, we make it possible for agents to run tests, compile code, and generate visual branch previews automatically. It changes the interaction from a disconnected code-generation tool to a reliable, structural team contributor.</p>
<p>You can learn more about this philosophy by <a href="https://www.builder.io/fusion">seeing how Fusion works</a> or <a href="https://www.builder.io/m/demo">reaching out to one of our AX experts</a>.</p><h2>The golden rule of agent experience</h2><p>LLMs should do the glue work. People should do the interesting work.</p>
<p>If humans are copying feedback between tools, re-explaining repo context, manually checking whether the agent broke the obvious thing, policing stale docs, and cleaning up generic output while the model makes the creative decisions, the system is upside down.</p>
<p>Good agent experience gives creative people more room to use judgment, taste, architecture, strategy, care, and craft.</p>
<p>Developer experience became a discipline because we realized that software quality is a function of the systems we build. Agent experience will become a discipline for the exact same reason.</p>
<p>The point isn't to replace the people who understand the system. The point is to give them back the time to do the work only humans can do.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/agent-experience">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/749a776eca87462bb47236e91ac55948" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/749a776eca87462bb47236e91ac55948"/>
        </item>
        <item>
            <title><![CDATA[How POGR Cut $30K and a Year of UI Work with Builder]]></title>
            <link>https://www.builder.io/blog/how-pogr-cut-30k-and-a-year-of-ui-work</link>
            <guid>https://www.builder.io/blog/how-pogr-cut-30k-and-a-year-of-ui-work</guid>
            <pubDate>Thu, 04 Jun 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Builder helped POGR cut $30K and a year of UI work across multiple game titles by turning Figma designs into production-ready game engine assets.]]></description>
            <content:encoded><![CDATA[<p>POGR sponsors Blazium Games, a gaming community that is managed by ten developers, each of whom ships their own title. Two years ago, they built Blazium, a lag-tolerant engine that holds up at 300ms ping under network conditions that break most multiplayer games. They publish across Steam, iOS, Google Play, Epic, and <a href="http://itch.io">itch.io</a>, with a GOG pipeline in progress. Ten developers carrying multiple titles on a startup budget means every dollar and every week has to count.</p><h2>UI was POGR's most expensive surface</h2><p>Game UI is the most expensive surface in game development. It touches the interface a player interacts with every second, the environment they move through, the character art on screen, and the marketing pages that sell the game in the first place. Every one of those surfaces requires design, animation, and engine integration before anything can ship.</p>
<p>POGR's process compounded that cost at every step. The team designed UIs in Figma and ran them through custom conversion tools to produce structured HTML and React components. From there, engineers manually ripped components apart, wrote CSS by hand, extracted every SVG, and rebuilt the whole thing inside the game engine. Animation came at the end of that chain, scripted from scratch on top of static screens.</p>
<p>The numbers on their flagship project, <em>Depths</em>, tell the story:</p>
<ul><li>$5K spent to reach 25% UI completion</li><li>$30K+ projected to finish the same project</li><li>2.5 to 3 months for a quarter of the UI alone</li><li>A full year of development for the complete UI</li></ul>
<p>The gaming industry offered no tooling to compress the cycle, and the AI tools that existed produced images that looked like UI but generated nothing usable in an engine. For a small studio shipping multiple titles a year, the math forced a constant tradeoff between shipping late, shipping over budget, or shipping with a UI that fell short of the game's ambition.</p><h2>One workflow from design to engine</h2><p>POGR adopted Builder, starting with the Figma plugin to automate Figma-to-React conversion on web projects. The team quickly recognized that Builder's output, clean CSS, SVGs, and built-in animation, was the same raw material a game engine needs.</p>
<p>That insight reshaped the workflow. POGR now has the Blazium team prototype their game UIs directly in Builder, exports the output as React or HTML, and converts the assets into native game engine formats, including C# for the Blazium engine. Animation logic carries through and is replicated in the engine's scripting language, like GDScript, meaning motion ships with the design from the start rather than being bolted on at the end.</p>
<p>Builder now runs the entire UI operation across ten developers and multiple games in production. The output is real CSS, real components, and real animation logic that survives the trip into a game engine, which is the gap no other AI tool fills for game studios.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fd30c0f69a22a4a8f8bddaeb71fa52602?width=780" alt="A game main menu interface titled JUMPER featuring a yellow, blocky character flanked by floating stars, set against a blue and yellow sky with clouds and interactive buttons for starting or quitting the game." /><h2>From cost center to shipping advantage</h2><p>The savings compound across Blazium's roadmap. With multiple titles shipping a year, $30K saved per project, and a year of recovered dev time per project, this adds up to a fundamentally different operating model. Money that used to disappear into UI conversion now flows into gameplay, networking, and the systems that set a Blazium game apart.</p>
<p>Quality moved up alongside the cost and timeline gains. Blazium's team describes the result as making interfaces "feel alive," with motion players notice, polish reviewers reward, and presentation that holds up across storefronts.</p>
<p><em>"We were looking at a year and $30K to finish the UI on one project. Now it takes weeks. There's nothing else doing this for game studios."</em></p>
<p>— Randolph (Randy) Aarseth II, CTO &amp; Co-Founder, <a href="http://POGR.io">POGR.io</a></p><h2>The market opportunity POGR sees</h2><p>POGR sees a wider opening here. UI is the highest-cost surface in game development, and tooling that compresses it produces compounding returns across every game a studio ships. Indie developers in particular have been entirely priced out of high-quality animated UIs, and POGR considers Builder the closest thing the industry has to a fix.</p>
<p>They're advocating for a dedicated Builder gaming module with native GitHub deployment, integrations across Unity, Unreal, and Godot, and multi-user editing with centralized source control. A module like that would automate the asset conversion and deployment steps POGR still handles manually, turning Builder into an integrated game UI pipeline. Tooling at that level would let a studio of 10 ship like a studio of 50, and would unlock the same workflow for thousands of indie developers still stuck in the Figma-to-engine grind POGR escaped.</p>
<p>POGR is now promoting Builder across the Blazium engine community, game jam circuits, and indie developer networks on social media. Their pitch is direct: no other tool is doing this for game studios, and the math on the other side of the switch speaks for itself.</p>
<p><em>POGR helps game developers and communities connect through player profiles, stats, and shared gaming experiences. Visit the <a href="https://blazium.app/"><u>community website</u></a>, explore the<a href="https://blazium.games/"> <u>platform</u></a>, and join the<a href="https://discord.gg/sZaf9KYzDp"> <u>Discord</u></a>.</em></p>
<p><em>Get Builder’s <a href="https://www.builder.io/hub/guides/idea-to-production"><u>new engineering guide</u></a> on AI-native development, and <a href="https://builder.io/signup"><u>start building for free</u></a>.</em></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/how-pogr-cut-30k-and-a-year-of-ui-work">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/a818e75b83794705a0e4256dc088952a" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/a818e75b83794705a0e4256dc088952a"/>
        </item>
        <item>
            <title><![CDATA[The AI Product Ladder (and why most apps are stuck on Rung 1)]]></title>
            <link>https://www.builder.io/blog/the-ai-product-ladder</link>
            <guid>https://www.builder.io/blog/the-ai-product-ladder</guid>
            <pubDate>Wed, 27 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Most "AI features" are stuck on Rung 1: a single LLM call. Here's the three-rung AI product ladder and why Rung 3 means going agent-native.]]></description>
            <content:encoded><![CDATA[<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "The AI Product Ladder (and why most apps are stuck on Rung 1)",
  "description": "Most \"AI features\" are stuck on Rung 1: a single LLM call. Here''s the three-rung AI product ladder and why Rung 3 means going agent-native.",
  "url": "https://www.builder.io/blog/the-ai-product-ladder",
  "datePublished": "2026-05-27",
  "dateModified": "2026-05-27",
  "publisher": {
    "@type": "Organization",
    "name": "Builder.io",
    "url": "https://www.builder.io",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.builder.io/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://www.builder.io/blog/the-ai-product-ladder"
  },
  "image": "https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F3bba18d4df1f4e6ba26dffc0fd439203"
}
</script><p>There's an AI feature in many SaaS products right now that looked incredible in the all-hands demo.</p>
<p>It's got a button. Maybe even a loading spinner. And, probably, it spits out <em>a summary of something</em>: an email, a ticket, a spreadsheet. The demo kills, so it ships as a feature. What follows is six months of near-zero usage.</p>
<p>It wasn't a bad idea. It wasn't bad UX. And it wasn't bad timing. It was a Rung 1 product, <a href="https://www.builder.io/blog/why-the-best-agent-native-apps-use-less-ai?utm_content=ma">a single LLM call dressed up as a feature</a>, and users found its ceiling in about thirty seconds. The fix is not a better prompt. The fix is an <strong>agent-native</strong> architecture.</p>
<p>There's a <a href="https://www.agent-native.com/docs/what-is-agent-native?utm_content=ma#the-ladder">ladder</a> that every AI product climbs. Three rungs. But most teams stop one rung too early, if that.</p>
<p>Here's the ladder:</p><h2>Rung 1: the single LLM call</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fc48c675c0ec34be1be73d707b5e071e6?width=780" alt="An infographic illustration titled The AI Product Ladder, showing a vertical ladder with a highlighted bottom rung labeled Rung 1: the single LLM call." /><p>This is the anti-pattern.</p>
<p>A text box sends a prompt. The AI returns a string. You display it. Maybe with a loading spinner, maybe with a "copy" button if you're feeling fancy. There's no way for the user to course-correct. No way for the AI to take action. No way to see what happened or why.</p>
<p>You see this everywhere. The "Summarize" button bolted onto a CRM. The "Generate description" field in an e-commerce admin. The "Draft reply" widget in a support tool. They look impressive in a demo, but they break the moment reality gets messy. An edge case the model wasn't expecting. An output that's close but wrong. Users who need to iterate or are left with no options.</p>
<p>And they often break invisibly. The user doesn't get an error. They get a bad string, shrug, and go back to doing it manually. Then they stop clicking the button entirely.</p>
<p>Three months later, the team schedules a meeting to "improve the prompts." They adjust temperature settings. They rewrite the system message. They get the output from 65% good to 75% good, but that's still not reliable enough to replace the manual workflow. Another sprint, another tweak, another flat usage graph. Eventually, it gets cut in a cleanup ticket. Nobody files a bug. Nobody notices it's gone.</p>
<p>Teams ship products like this because it's fast. It clears the "AI feature" box on the roadmap. It demos clean to a non-technical stakeholder who's never actually used it for real work. It's the path of least resistance from "we should add AI" to "we shipped AI."</p>
<p><em><strong>That's not a product. That's a toy.</strong></em></p>
<p>The tell: if removing the AI feature would barely change how users do their job, it's Rung 1.</p><h2>Rung 2: a chat with tools</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fb9842818311b4514b733d812b6229536?width=780" alt="A vertical ladder with three rungs, each highlighted in a different color. An arrow points to the second rung, labeled &quot;Rung 2: a chat with tools&quot; under the heading &quot;The AI Product Ladder." /><p>Rung 2 is a real improvement.</p>
<p>Now the AI has tools (draft email, search contacts, run query, create ticket) and a chat interface where it works in front of you, showing tool calls and results as it goes. You can watch it reason. You can push back. You can see why it did what it did. This is what Claude, ChatGPT, and Cursor look like under the hood as a <a href="https://www.builder.io/blog/ai-agent-vs-chatbot?utm_content=ma">chat interface with tools</a>.</p>
<p>For general-purpose assistants, Rung 2 is the product. Claude <em>is</em> a chat interface with tools. That's not a limitation; that's the point.</p>
<p>But for a domain-specific app (a project management tool, a customer support platform, a dev workflow product), Rung 2 is a ceiling.</p>
<p>Here's why. There's still no real UI. No dashboards. No lists. No forms. No keyboard shortcuts. No team collaboration features. If the AI gets confused, the user's only recourse is to retype the request differently and hope for a better result. Non-developers especially struggle here; when the interface is a blank text box, and the AI is your only affordance, you're one ambiguous output away from being stuck.</p>
<p>There's also a subtler problem. The AI has no real context. It sees what's in the conversation thread, but it doesn't know what you're looking at in the app. It doesn't know what you've selected or what you just did. It's reasoning about your work from the outside.</p>
<p><em><strong>Rung 2 is a great chatbot. It's a mediocre app.</strong></em></p>
<p>The tell: if your "AI feature" is a chat panel that floats over the rest of your product and never touches the same state the rest of your product reads from, you're on Rung 2.</p><h2>Rung 3: agent-native (agent and UI as equal partners)</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fcc8e2b95af094e76901e5d8cfa14968f?width=780" alt="Diagram of a three-rung ladder labeled &quot;The AI Product Ladder,&quot; with an arrow pointing to the top rung which is highlighted in green and labeled &quot;Rung 3: agent and UI as equal partners." /><p>Rung 3 is what <strong>agent-native</strong> means: every action the agent can take is also a button in the UI, and every button the user clicks runs the same logic the agent uses. Your app becomes truly <a href="https://www.agent-native.com/?utm_content=ma">agent-native</a>.</p>
<p>You build a full-featured app around the agent. And crucially, every action the agent can take is also a UI button, and every button the user clicks runs the same logic the agent uses. One implementation. Two ways in.</p>
<p>Here's what that looks like in practice. Imagine you're building a customer support tool. A ticket comes in. A human agent clicks "Suggest reply" and gets a draft: one button, one action. The AI handling the overnight queue calls the same action to draft and send replies autonomously. The logic is identical. The difference is who invoked it.</p>
<p>That's the agent-native architecture. Not a chat panel bolted onto an app. Not an app with AI sprinkled in. One system where humans and agents are both first-class operators.</p>
<p>That single design decision changes three things:</p>
<p><strong>You stopped adding buttons to a chatbot. You added an agent to an app.</strong></p>
<p>The quality bar on both sides goes up. The UI is a real UI, full-featured, fast, familiar to users who don't want to type. The agent is a real agent. It can take every action in the product, not just the ones you wired up to a chat panel. Neither side is a watered-down version of the other.</p>
<p><strong>The agent has real context.</strong></p>
<p>It sees what you're looking at. It knows what you've selected, what you've recently done. It writes to the same database the UI reads from, so when it creates a record or updates a status, that change shows up immediately in the interface, not in a separate "AI output" box, but in the actual app. The agent isn't advising you from the outside anymore. It's working inside the same product you are.</p>
<p><strong>External agents can use it too.</strong></p>
<p>This is the one most teams don't anticipate. Because the app's <a href="https://www.agent-native.com/docs/actions?utm_content=ma">actions</a> are first-class objects, not prompt hacks, and not one-off API endpoints, they can be projected into any <a href="https://www.builder.io/blog/code-is-the-canvas?utm_content=ma">surface a host understands</a>. Claude Code, Cursor, ChatGPT custom apps, and other MCP hosts can drive your app as an MCP server. Other agent-native apps can call yours over A2A. You build the domain operation once; the framework handles MCP tools, A2A endpoints, HTTP actions, deep links, and CLI entry points from the same definition.</p>
<p>You don't become a protocol expert. You just build the action.</p>
<p>This is also why agent-native apps handle so many protocols without making developers' lives more complicated: the architecture is a single-action model with multiple entry points, not a separate integration per surface. One implementation, many ways in. For users, for your own agent, and for the agents of every other app in the ecosystem.</p>
<p>That's Rung 3.</p><h2>Where is your product?</h2><p>Most developers know the honest answer. The question is whether staying on Rung 1 or Rung 2 is a deliberate choice or just the path of least resistance.</p><h2>What does agent-native mean?</h2><p>Agent-native means an app where every domain action is a first-class object that humans (via UI), the in-app agent, and external agents (via MCP or A2A) can all invoke through the same single implementation. It's Rung 3 of the ladder: not a chat panel bolted onto a product, but one system where humans and agents are equal operators.</p>
<p>Rung 1 is fast to ship and easy to kill. Rung 2 is a real product for the right use case. Rung 3 takes more architecture up front. But it's the only rung where the AI feature is indistinguishable from the product itself, where users who don't want to chat can still benefit from everything the agent can do, and where the rest of the agent ecosystem can find you and use you.</p>
<p>One rung at a time is fine. Just don't stop climbing because the demo killed in the all-hands.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/the-ai-product-ladder">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/3bba18d4df1f4e6ba26dffc0fd439203" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/3bba18d4df1f4e6ba26dffc0fd439203"/>
        </item>
        <item>
            <title><![CDATA[5 Questions to Ask Before Implementing an Agentic Development Platform]]></title>
            <link>https://www.builder.io/blog/5-questions-to-ask</link>
            <guid>https://www.builder.io/blog/5-questions-to-ask</guid>
            <pubDate>Thu, 28 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Ask these 5 questions before choosing a product development platform to test workflow fit, codebase compatibility, failure modes, adoption, and overall cost.]]></description>
            <content:encoded><![CDATA[<p><em>Before you bring on an agentic development platform, run the vendor through these five questions that reveal how the tool holds up in real workflows.</em></p>
<p>Most platform purchases look fine on the demo and fall apart six months in. The tool worked. The integration shipped. Adoption stalled because the platform solved a problem the team did not actually have, or solved it in a way that created two new ones nobody saw coming.</p>
<p>Better evaluation questions can prevent most of this. Vendors will steer you toward feature questions, which are convenient for them and useless for you. The questions that matter are the ones that surface how a platform behaves once it touches your real workflow, your real codebase, and the people who have to live with it for the next three years.</p>
<p>Here are five questions to run every vendor through before you sign anything.</p><h3>1. Does the platform reduce your handoffs, or just rename them?</h3><p>Every agentic development platform claims to cover the full lifecycle, but none really do. There is always a seam, usually more than one, where work has to leave the platform and go somewhere else. That seam is where projects die.</p>
<p>Ask the vendor to walk you through a real customer's workflow from idea to production. Skip the slide and ask for the actual sequence:</p>
<ul><li>Where does design happen, and how does it get into code?</li><li>Where does code get written, and by whom?</li><li>Where does QA loop back when something breaks?</li><li>Where does a copy change made by marketing end up in the repo?</li></ul>
<p>If the answer involves three different tools talking to each other through a Zapier-style connector, what you are buying is a coordination problem with a logo on it. The handoffs you have today will still exist under different names, and the team that owned them before will still own them after. This is<a href="https://www.builder.io/blog/the-backlog-problem-ai-didnt-solve"> <u>the backlog problem AI didn't solve</u></a>, and most platforms make it worse by adding another tool to the chain.</p>
<p>The platforms to take seriously have a clear answer about what they own end-to-end and an equally clear answer about where their tool stops. A vendor who claims to own everything is bluffing. A vendor who can show you exactly where the handoff happens and how it works deserves more of your time.</p><h3>2. Does the user reaction match the buyer enthusiasm?</h3><p>Buyers and users are different people. The buyer is usually a VP or director who sat through the polished demo with the sales engineer. The user is a frontend developer, a designer, or a PM who will open this tool 15 times a day for the next 2 years, and their reaction is what determines whether this purchase works.</p>
<p>Get the user in front of the platform before you buy. Skip the guided walkthrough and sit them down with a real task from their backlog. Watch what happens when they try to do it. A few things to pay attention to:</p>
<ul><li>Where do they get stuck on the third or fourth thing they try, rather than the polished happy path the vendor showed you?</li><li>How does it feel when they have to fix a mistake, because most platforms are great at the create flow and clumsy at the edit flow?</li><li>Do they want to keep using it after thirty minutes, or are they quietly reaching for the tool they already know?</li></ul>
<p>If your frontend engineers shrug and say it is fine, treat that as a failure signal. Engineers get opinionated about the tools they want to use. The absence of an opinion usually means the answer is no. The platforms that survive are the ones built<a href="https://www.builder.io/blog/when-agents-work-for-the-whole-team"> <u>when agents work for the whole team</u></a>, not just the developer who runs the demo.</p><h3>3. Will the platform work with the codebase we actually have?</h3><p>Vendor demos run on clean, simple codebases that the platform was designed around. Your codebase has six years of accumulated decisions, two competing component libraries, a half-finished design system migration, and a directory called legacy_DO_NOT_TOUCH that has been touched many times.</p>
<p>Ask for a proof of concept of your code. Pick a real project that includes the messy parts:</p>
<ul><li>A page with conditional rendering</li><li>A form with custom validation</li><li>A component that pulls from three different state sources</li></ul>
<p>What you are looking for is whether the platform respects what you already have or tries to replace it. Some platforms are happy to read your existing components, work within your conventions, and produce output that looks like the rest of your code. Others want to generate everything from scratch, which means everything they produce will feel like a foreign object that someone has to manually rewrite to match the house style. The first kind of compound grows in value over time. The second kind generates work you have to undo.&nbsp;</p>
<p>A platform built on<a href="https://www.builder.io/blog/agent-native-architecture"> <u>agent-native architecture</u></a> handles this better than one with AI bolted onto an older foundation.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F6d1c115d7b0244e2bcad4348428a5f41?width=780" alt="" />
<p>Pay attention to what happens when the platform gets something wrong. Can a developer open the generated code, fix it directly, and have those fixes persist? Or does the next round-trip overwrite their work? A tool that cannot be corrected by its users will be abandoned within a quarter, no matter how good the initial output looks.</p><h3>4. How does the platform fail, and who catches it?</h3><p>Every AI-powered platform is wrong sometimes. The interesting question is what happens when it is.</p>
<p>Good failure modes are loud, easy to spot, and easy to fix. The tool produces something obviously broken; a developer notices it in 5 seconds, and the fix takes a minute. Bad failure modes are quiet. The tool produces something that looks correct but is subtly wrong, ships to staging, and gets caught by QA two days later. Worst case, it gets caught by a customer. This is how<a href="https://www.builder.io/blog/agent-productivity-is-creating-a-quality-debt"> <u>agent productivity creates a quality debt</u></a> that compounds faster than teams realize.</p>
<p>Ask the vendor how they think about quality and what guardrails the platform has:</p>
<ul><li>How does the platform handle ambiguous instructions?</li><li>What does it do when it does not know the answer?</li><li>How does a team review and approve output before it ships?</li></ul>
<p>You also want to know what happens at scale. A platform that produces decent output for one component might produce inconsistent output across fifty. Ask to see what a real customer's repo looks like after six months of using the tool. Is it cohesive, or does it look like seventeen different developers with different styles all worked on it?</p>
<p>The boring answer here is governance, and boring is what you want. A platform that has thought hard about how teams maintain quality over time will hold up at team scale, where a platform that demos beautifully on a single screen will not.</p><h3>5. What does pricing look like at the scale we actually want to reach?</h3><p>Most platforms are priced to make the entry point feel reasonable. Per-seat pricing for the first ten users looks fine. Then you try to roll it out to forty people, and the math changes.</p>
<p>Run the numbers for the scale you actually want to reach, not the pilot:</p>
<ul><li>How many seats do you need in year two if this platform works?</li><li>What does that cost?</li><li>Are there usage-based components that scale with the volume of your team's builds, such as per-generation, per-build, or per-deployment?</li></ul>
<p>Those usage-based costs are easy to ignore during a pilot with three users, but painful once a team of forty is using the tool every day. Ask what happens when you exceed limits. Does the tool degrade gracefully or stop working entirely? Is there a meaningful conversation to have with the vendor about pricing at your scale, or are you stuck with whatever they put on the website?</p>
<p>Then ask about the second-order costs:</p>
<ul><li>How much engineering time is required to integrate?</li><li>How much ongoing maintenance?</li><li>How much training for new hires?</li></ul>
<p>A platform that costs $20 per seat but requires a dedicated platform engineer to maintain ends up costing more than a $100-per-seat tool that runs itself. The cheapest tool on paper often turns out to be the most expensive one in practice. The number that matters is the total cost of getting real value out of this, sustained over three years.</p><h2>The platforms most teams actually need</h2><p>Run these five questions against the current market, and most agentic development platforms will fail at least two of them. They own a narrow slice of the workflow while claiming to own more. They demo well and feel clunky in daily use. They work on greenfield projects and struggle with real codebases. They fail quietly. They get expensive at scale.</p>
<p>The platforms that survive this kind of evaluation share a few traits. They are honest about where they fit in the workflow. They produce code that respects what teams already have. They give developers a way to correct mistakes that stick. They have thought about governance before you asked. Their pricing makes sense at the scale where the platform actually has to work.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F43ab8f5444d34a7fbb18af68e4d4fc05?width=780" alt="" />
<p><a href="http://Builder.io">Builder.io</a> was built for teams that hit these questions hard. It owns the path from design and prototype to production code that lives in your repo, your component library, and your conventions. Developers can edit the output directly and have their changes persist. Marketing and design can make changes to live pages without filing a ticket. The platform was built to work inside existing engineering systems, so the code it produces feels like code your team would have written.</p>
<p>If you are evaluating agentic development platforms now, run these five questions against every vendor on your list, including us.&nbsp;</p>
<p><em>For a deeper look at how this works end-to-end, <a href="https://www.builder.io/idea-to-production"><u>see the idea-to-production workflow</u></a>.</em></p>
<p><em>Try Builder on your codebase with the work you actually have to ship. <a href="https://builder.io/signup"><u>Get started for free</u></a>, or <a href="https://www.builder.io/m/demo"><u>speak with a Builder expert</u></a>.</em></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/5-questions-to-ask">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/03b0a1eedb6548518e8657ac057661e9" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/03b0a1eedb6548518e8657ac057661e9"/>
        </item>
        <item>
            <title><![CDATA[Why the Best Agent-Native Apps Use Less AI]]></title>
            <link>https://www.builder.io/blog/why-the-best-agent-native-apps-use-less-ai</link>
            <guid>https://www.builder.io/blog/why-the-best-agent-native-apps-use-less-ai</guid>
            <pubDate>Tue, 26 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Why top agent-native apps use less AI: a third action surface cuts cost, latency, and hallucinations by routing repeatable work to deterministic code.]]></description>
            <content:encoded><![CDATA[<p><em>The mark of a great agent-native application is what it doesn't send to the model.</em></p>
<p>It was 2 AM, and I was still grinding away on my 'free <code>design.md</code>' hackathon project, so I barely noticed it at first. But my own agent had just routed a string into a frontier model so it could parse a few dozen lines of JSON.</p>
<p>The response, to be fair, was perfectly formed. The schema was understood. But here's the thing that slowly dawned on me, with some horror. That whole string I'd passed in was 12 fields and about 400 bytes. But the way my system was currently wired, the agent was the only execution layer for anything that the underlying code couldn't directly support.</p>
<p>With only one option, the agent passed my request to an expensive frontier model, chewed on it for over 50 seconds, burned through about 50,000 tokens (because it was carrying a lot of context it didn't need), and then returned the solution. I was stunned. That same answer could have come from a <code>JSON.parse</code> call that would have returned in under one millisecond, with zero risk of hallucinating, <em>and for zero cost</em>.</p>
<p>That was the moment I understood I needed to write this piece. You see, the dominant agent-native discourse right now has the quality signal backward. Agent-native applications are the future. There's no denying it. There's no going back. But we've been measuring agent-native applications by their agentic surface area, by how much the agent can do, by how many tools it can reach, by how autonomous its loops are.</p>
<p>Instead, we should be measuring success by the inverse. By how much work an agent-native system can route back to production code, or to <a href="https://www.agent-native.com/docs/actions?utm_content=ma">actions, which are newly written, reusable snippets of code </a>that run on the backend. My app shouldn't need Claude to parse 20 lines of JSON.</p>
<p>So here's my argument: <em><strong>AI restraint will become the true quality signal for all future software.</strong></em></p><h2>The two-surface trap: the biggest problem with agent-native apps</h2><p>It's worth asking why well-engineered AI products keep routing string parsing, arithmetic, and field lookups through the most expensive component in their stack.</p>
<p>The answer is architectural, not behavioral. Most agent-native applications, as the term is used today, give their users exactly two execution surfaces.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F2536248515a146458a0095eb19fb3f8a?width=780" alt="The two-surface trap — user intent splits between a fixed UI and an expensive agent, with no place else to go" /><p>The first surface is the UI. Buttons, forms, and flows are the things the developers thought to build. Fast, predictable, testable, deterministic. But fixed. If a workflow isn't in the UI, it's not available to the user.</p>
<p>The second surface is the agent. It can access an LLM along with whatever tools the developers chose to wire up at build time. This surface is infinitely flexible, in the sense that I can describe anything I want, and the model will attempt it. But it's also slow, expensive, non-deterministic, and prone to confident hallucinations.</p>
<p>The UI is finite. The user's intent is infinite. And the agent is the only available bridge. So everything that falls into the gap, every parse, every filter, every date calculation, every status lookup, every sort, gets routed through inference by default. Not because anyone decided it should be. Because there's no other place for it to go.</p>
<p>This is the architectural defect at the heart of most agent-native applications. They've made the model the universal solvent for anything the UI can't do. And the universal solvent is, predictably, overkill for most of the things it dissolves.</p><h2>The third execution surface</h2><p>Agent-native applications, if the term is to mean anything precise, introduce a third execution surface.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fad52b8f9af9047769a969de565800a96?width=780" alt="The third surface unifies human and agent — both call the same registry of actions authored at runtime" /><p>This third execution surface is where users can define deterministic <a href="https://www.agent-native.com/docs/actions?utm_content=ma"><strong>actions</strong></a> that the UI or agent can call. These actions are authored at runtime, not at build time. They are defined by people who are not the original engineers. They become available immediately to both the human UI and the agent loop. They are cheap, fast, testable, and correct by construction.</p>
<p>The crucial detail is the unification. In an agent-native architecture, the 'actions' surface is the same surface the agent calls and the same surface the human invokes through the UI. The agent doesn't know, and doesn't need to know, whether a given action was shipped by the original developer six months ago or written by a power user last Tuesday afternoon. The agent just sees an action it can call. The user just sees one thing the product can do.</p>
<p>This is the architectural move that makes restraint possible. Without it, restraint is a discipline that one team practices and another team forgets. With it, restraint becomes a property of the system itself. Every time someone notices that the agent is being asked to do the same deterministic thing repeatedly, they can crystallize that work into an action, and from that moment forward, the agent calls a fast, free function instead of running a slow, expensive inference.</p>
<p>My <code>JSON.parse</code> debacle stops being a hackathon embarrassment the moment somebody adds a <code>parseResponse(endpoint, schema)</code> action. Neither requires a code deploy. Neither requires the original engineers to be in the room. The agent learns about the new action through the same registry that exposes everything else, and from then on, the work happens at the speed of a function call. This is agent-native at its best.</p><h2>Agents are the prototype, actions are the product</h2><p>There's a useful way to think about how the agent and the action surface relate to each other over the lifetime of an application.</p>
<p>The agent is the prototype. It's where novelty gets handled. It's where unfamiliar requests get reasoned through. It's the surface that absorbs the long tail of user intent that nobody anticipated and nobody coded for. It's, in a sense, the runtime version of an engineer thinking through a problem for the first time, which is exactly what makes it valuable and exactly what makes it expensive.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F0896c47b57f54e0aba6284c543957eb0?width=780" alt="The crystallization loop — repeated agent work gets promoted to actions, dropping cost per invocation by orders of magnitude" /><p>The actions are the resulting production code. They are what the prototype crystallizes into once the work becomes repeatable. The pattern is roughly this: when a user, a team, a metric, or an on-call log notices that the agent is being asked to do the same shape of thing repeatedly, that shape becomes a candidate for promotion to an action. Once promoted, the agent stops re-deriving the answer from first principles and starts calling the function. The reasoning moves from runtime to design time. The cost per invocation drops by 5×, 10×, or 100×. The variance collapses to zero.</p>
<p>This isn't a new idea in computing. It's how every other layer of the stack already works. Hot paths get optimized. Interpreters give way to compilers. Manual queries become stored procedures. Repeated business logic gets extracted from one-off scripts into shared libraries. What's new is that the AI era compresses this entire process. The "prototype" can be authored by typing a sentence in natural language. The promotion to "production code" can be done by a non-engineer at runtime. The crystallization happens at the speed of usage, not at the speed of sprint planning.</p>
<p>A great agent-native application is, structurally, one that makes this crystallization easy and continuous. A mediocre one keeps everything routed through the model forever, because there's no third surface to crystallize into.</p><h2>Why AI restraint compounds into a moat</h2><p>It's tempting to read my argument so far as a developer-experience point. It's more than that. The economics of restraint compound in a way that becomes a massive advantage at scale.</p>
<p>In any market where the AI cost structure is a meaningful fraction of the unit economics, which is to say all of them, the company that aggressively cultivates AI restraint will end up with structurally better margins, faster products, and <a href="https://www.builder.io/blog/developers-drowning-in-ai-prs?utm_content=ma">higher trust</a>. They'll be able to undercut the price, ship faster, and operate at a scale that the maximalist competitor can't match without setting their gross margins on fire.</p>
<p>Restraint compounds. The companies that figure this out first will look, from the outside, like they have a moat that competitors cannot cross. But the moat is just the cumulative effect of years of crystallization on the third surface.</p><h2>What this means for how I build</h2><p>The practical implication for anyone building in this space is that the architecture of the third execution surface (Actions) is not a feature you add later. It's what determines whether your product can ever become great.</p>
<p>The Builder team has been making this argument under the name "<a href="https://www.builder.io/blog/ai-agent-vs-chatbot?utm_content=ma">agent-native architecture</a>," and the framework at <a href="http://agent-native.com/?utm_content=ma">agent-native.com</a> is one concrete instantiation of the third-surface pattern. There will be others. The pattern is more important than any single implementation. What matters is recognizing that the third surface exists as a distinct architectural choice, and that the choice to build it (or not) determines whether your product can practice restraint in any serious way.</p>
<p>Build the action surface early. Make actions a first-class primitive, not a power-user escape hatch. Expose the same surface to humans and agents, so that anything the agent can call, a human can also invoke, and vice versa. <a href="https://www.builder.io/blog/code-is-the-canvas?utm_content=ma">Make it cheap and obvious for non-engineers to author new actions.</a> Build the registry that lets the agent discover newly authored actions without a deploy. Track which actions get called most often, because that telemetry is your roadmap. Track which agent invocations could have been actions but weren't, because that telemetry is your debt.</p><h2>The signal</h2><p>We're in a moment where the agent-native discourse rewards the wrong things. Demos optimize for what the agent can do on its own. Investor decks measure agentic surface area. Engineering blog posts brag about loop depth and tool count. None of these is the quality signal.</p>
<p>The quality signal is, and will be, whether the system uses inference judiciously. Whether the architecture admits a third execution surface where deterministic work can crystallize. Whether the team treats every recurring agent call as a candidate for promotion to a function. Whether, over time, the ratio of work the agent could do to work the agent actually does is moving in the right direction.</p>
<p>In a few years, the gap between agent-native applications that practice restraint and the ones that don't will be one of the most visible quality signals in software. The restrained ones will be cheaper, faster, more correct, and more trustworthy. They'll feel, to users, like products that respect their time and money. The maximalist ones will feel like products that are constantly thinking out loud at the user's expense.</p>
<p>This is the case for restraint. The best agent-native applications use less AI. Not because AI is bad, but because the architecture that earns the agent-native label in the first place is the architecture that makes restraint possible.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/why-the-best-agent-native-apps-use-less-ai">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F68c38b4701974fe381bc7ed27d8d1d95" length="0" type="image//api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F68c38b4701974fe381bc7ed27d8d1d95"/>
        </item>
        <item>
            <title><![CDATA[Designing Generative UI in an Agent-Native World]]></title>
            <link>https://www.builder.io/blog/designing-generative-ui-in-an-agent-native-world</link>
            <guid>https://www.builder.io/blog/designing-generative-ui-in-an-agent-native-world</guid>
            <pubDate>Tue, 26 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to design generative UI for agent-native apps using elastic primitives, machine-readable design rules, and efficient code-first workflows today.]]></description>
            <content:encoded><![CDATA[<p>If you caught any of the buzz around Google’s recent announcements about "improved AI Mode" for search, it’s official: Generative UI has officially entered the mainstream.</p>
<p>The promise sounds incredible: an application that completely throws out rigid, boring sitemaps and instead morphs, shifts, and builds custom workspaces on the fly based on whatever you type. Imagine asking an app to compare your quarterly sales alongside a flight itinerary, and watching it magically assemble the perfect dashboard for that exact moment.</p>
<p>But what does it all mean for designers? Especially in a world where, let's be real, AI sucks at making good design.</p>
<p>First, let's get on the same page about the terminology.</p><h2>What is Generative UI?</h2><p>At its core, Generative UI (often called GenUI) is a design pattern where parts of a user interface are dynamically generated, selected, or rendered by an AI agent at runtime.</p>
<p>Unlike traditional graphical interfaces that rely on hardcoded sitemaps and static templates, a generative interface adapts instantly to the user's specific context and intent.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F450bd00679b74a7c96c342201b9bbd1c?width=780" alt="" /><p>Instead of just returning text or markdown inside a chat bubble, the AI uses structured data to assemble live, functional application surfaces like forms, interactive charts, and custom dashboards.</p>
<p>By mapping an AI's tool calls directly to functional UI components, the software shifts from a static wrapper into a fluid workspace built on demand.</p><h2>The big problem with Gen UI</h2><p>But if you talk to anyone actually trying to build this dream right now using pure text-to-code generation, they’ll tell you the reality is a bit of a nightmare. It’s incredibly slow and painfully fragile.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F7455aea3ef95428eaadf7dc718235ba1?width=780" alt="" /><p>When an app tries to generate brand-new code, custom CSS, and data architecture from a completely blank canvas every single time you hit "enter," the user experience breaks. You're stuck staring at a loading spinner for 30 seconds, then end up with a clunky, half-broken layout that may or may not work on mobile.</p>
<p>It turns out that inventing software from scratch on the fly is a really great way to break UX.</p><h2>Think in primitives, not pages</h2><p>To be fair, the engineering world isn’t blind to this. Dev teams are already using tools like Vercel’s AI SDK to basically tell the the AI, "Hey, don't write raw HTML from scratch; just pick from this list of hardcoded React components we already built, and then fill them (hydrate them) with data."</p>
<p>But the <em>design</em> world is lagging way behind. We’re still spending our days in Figma wireframing hundreds of static, beautifully polished, edge-case page templates meant for human coders, completely missing the fact that the primary user of our design systems is about to be an AI.</p>
<p>Because the actual future of Generative UI (and UI in general) is <strong>text-to-hydration</strong>, where, instead of an AI agent trying to invent a UI on a blank canvas, its primary job will be to instantly arrange, toggle, and pipe real-time data into a flexible, hyper-modular "kit of parts" that I like to call <strong>elastic primitives</strong>. (You might just call it a fancy design system.)</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F305bcac553c44a59a7d607c0a29843f2?width=780" alt="" /><p>This completely upends our day-to-day workflow; we have to stop thinking about fixed 1200-pixel desktop grids and start designing the literal rules of elasticity. Your job shifts to building perfect components, like an isolated metric card, a data table, or an audio player, while defining the exact auto-layout constraints, responsive behaviors, and spatial guardrails so that the component looks stunning no matter how a chaotic AI decides to stack them together.</p><h2>Write out your design “taste” so AI can read it</h2><p>And <a href="https://www.builder.io/blog/ai-design">AI really is a chaotic user of your design system.</a></p>
<p>When you hand off your designs to <em>developers</em>, they have a lot of unspoken shorthand and innate "taste." When you give a dev a design system, you don't have to write a 10-page essay telling them not to overlap a card component onto a header, or to avoid cramming five dense line graphs into a tiny sidebar. They just know better. (Well, usually.)</p>
<p>But when you hand that exact same component library to an AI agent? It has literally zero intuition. If you don't give it hyper-explicit rules, it will gladly grab your gorgeous, pixel-perfect primitives and stitch them together into a cluttered, unusable mess that violates every basic rule of visual hierarchy.</p>
<p>This means we have to overhaul how we document our design systems. We need to stop writing casual, fluffy prose meant for people and start translating our design philosophy into highly structured, machine-legible metadata. (Which AI can definitely help us do.)</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fa3dc2663fa0c4df0bb40d14f40c5e2d6?width=780" alt="" /><p>In practice, you’ll be spending less time tweaking individual layouts and more time explicitly teaching the machine <em>why</em>, <em>when</em>, and <em>how</em> to deploy specific visual patterns. You’ll find yourself writing programmatic guardrails into your component properties, explicitly defining things like exactly how much visual compression a container can take before it must collapse, or dictating that a complex analytics chart should only appear if the user is comparing more than three specific data streams over time.</p>
<p>By baking your taste directly into the component's API schema, you ensure the AI plays by your rules. This keeps the user experience polished even when you aren't there to oversee it.</p><h2>Globally cascading design</h2><p>Stepping into this new world means we have to stop thinking in isolated frames or linear user flows and start thinking like frontend developers. We need to look at our products through the lens of global variables, dynamic states, and relational inheritance.</p>
<p>In the old days, if you changed a button style or a card layout, it just updated a static template or a few specific screens. In an agentic, Generative UI world, when you modify an elastic primitive, you are dynamically altering the structural DNA of what the AI can build across the <em>entire application ecosystem instantly</em>.</p>
<p>Every rule you tweak cascades globally. This changes how the machine responds to thousands of different user prompts simultaneously.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F63810788b31f4d659636d9896bfaa9b6?width=780" alt="" /><p>Thankfully, we aren't just shouting these rules into a void. Modern design tooling is making this level of deep, code-level control possible. Tools like <a href="https://www.builder.io/blog/figma-remote-mcp">Figma’s MCP server</a> or Builder’s <a href="https://www.builder.io/blog/turn-a-figma-landing-page-into-a-live-website">Figma-to-code features</a> bridge the gap, turning design tokens and components into active, site-wide context, syncing your visual edits directly into production code.</p>
<p>It shifts design from a passive style guide to a living conversation with the codebase. By mastering this app-wide system loop, we make sure that the software of tomorrow doesn't start from an unpredictable, chaotic text box. Instead, it starts with predictable, beautifully synchronized templates that give both human users and AI agents a safe, gorgeous playground to interact inside.</p><h2>It’s time to design in code</h2><p>If all of this systemic, global synchronization logic sounds a little intimidating from the comfort of a Figma canvas, here’s the biggest secret: you don't have to build all of this in Figma. It’s time to step out of the static vector sandbox and start designing directly in code using today’s AI tools.</p>
<p>While Figma is still the undisputed king for sketching out an initial concept from scratch, trying to force it to mimic dynamic, live data and machine-legible constraints is fragile, to say the least. But luckily, the painful "designer-to-developer handoff" is basically dead these days, if you let it be, <a href="https://www.builder.io/blog/designers-can-ship-without-engineering-handoffs">because AI allows you to bridge that gap yourself</a>.</p>
<p>Designing in code forces you to practice <em>coarse-grained design</em>. Instead of obsessing over changing one isolated edge or pixel at a time, you're interacting with the entire system at scale.</p>
<p>When you work with an AI visual design tool like <a href="https://www.builder.io/blog/fusion">Builder</a>, which is built to give designers a visual handle on real code primitives, or use other AI agents like <a href="https://www.builder.io/blog/claude-code-for-designers">Claude Code</a>, you can spin up dynamic environments that act like a supercharged, living Storybook.</p>
<p>You can instantly see all your elastic primitives sitting side-by-side, watching how they dynamically resize, break, and interact with each other in real-time as you flex the screen.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F4f589907c3cd4d48b9e50055d3545426?width=780" alt="" /><p>Basically, you get to see the actual finished product immediately. And from there, you can adjust its rules on the fly by talking to the AI, moving pieces around, and observing how your brand logic holds up in the wild.</p><h2>The bet we’re making: Open-source good design taste</h2><p>So, where can you put all this into practice? Hopefully, first, your own team’s codebases. These are conversations to start having with your team sooner than later.</p>
<p>But if you wanna flex your generative UI design muscles a little bit sooner, we’ve been heads-down building the <strong>Agent-Native Framework</strong> here at Builder. All open-source, all free, and very much wanting your contributions as a designer.</p>
<p>Basically, we got tired of seeing AI shoved into a clunky, disconnected sidebar chatbot that can't actually touch the app it lives in. We wanted to see highly polished, predictable visual primitives and UX that already works in SaaS married to powerful AI orchestration to supercharge daily work.</p>
<p>In an agent-native architecture, the human interface and the AI agent are completely unified under one single, shared database state and action model. Because every single component a human can click in the UI is bound to the exact same underlying tool call that the agent can execute, the AI never has to generate slow, fragile code from scratch; it just hydrates your beautifully designed, existing primitives in milliseconds.</p>
<p>While our team has spent months building out the heavy-duty backend pipes, state engines, and data coordination loops for cloneable templates like Mail, Content, Calendar, Analytics, and Slides, we’re the first to admit that the backend is only half the battle.</p>
<p>The ultimate success of an agentic world doesn't depend on how smart the LLM is; it depends on exceptional, human-centered product design. <strong>We’re officially inviting the design and product community to jump into our open-source repositories, clone these templates, ruthlessly critique our user flows, and help us contribute back to an ecosystem where AI makes software infinitely more adaptive without ever making it ugly.</strong></p>
<p>Feel free to <a href="https://discord.gg/9w5J9RBTP">join our Discord</a>, <a href="https://www.agent-native.com/templates">try out some templates</a>, and <a href="https://www.agent-native.com/templates">read more about Agent-Native.</a></p>
<p>Let's stop designing static screens and start building the open, fluid future of the web together.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/designing-generative-ui-in-an-agent-native-world">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/c53f6561dd5c4d6dac949cb6c553345b" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/c53f6561dd5c4d6dac949cb6c553345b"/>
        </item>
        <item>
            <title><![CDATA[You Know Your AI Adoption Rate. Do You Know Your Governance Rate?]]></title>
            <link>https://www.builder.io/blog/do-you-know-your-governance-rate</link>
            <guid>https://www.builder.io/blog/do-you-know-your-governance-rate</guid>
            <pubDate>Thu, 21 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Your AI adoption rate is easy to measure, but your governance rate isn't. Here's how the gap is widening across enterprise engineering and how to close it. ]]></description>
            <content:encoded><![CDATA[<p>Ask any engineering leader for their AI adoption rate, and the answer comes back fast. Seat counts, license tiers, daily active usage, the percentage of devs running Cursor or Copilot, and the latest productivity scores from the analytics dashboard. The data is clean and ready for the next board update.</p>
<p>Now ask for their governance rate. How much AI-generated code is sitting in production right now, who reviewed it, whether it followed component standards, and what changed between the prompt and the merge. The answer usually trails off into something polite about good intentions and an evolving review process.</p>
<p>That asymmetry is the thing worth paying attention to. Adoption is easy to measure because it has clean numbers attached to it. Control is harder to measure because the infrastructure needed to produce those measurements doesn't yet exist in enterprise AI tooling. So adoption metrics get reported up the chain as evidence that the AI strategy is working, and the harder question gets pushed to next quarter.</p>
<p>That deferral has a name. It's the governance gap, and it's getting wider as AI tooling expands beyond a few early-adopter developers into broader product teams. The cost of leaving it open isn't just risk in the traditional compliance sense, though that's part of it. The higher cost is that teams without governance infrastructure end up restricting AI use to protect themselves, thereby capping the productivity gains that justified buying the tools in the first place. It's the same dynamic behind <a href="https://www.builder.io/blog/agent-productivity-is-creating-a-quality-debt"><u>the quality debt agent productivity creates</u></a> when generation outpaces the systems that govern it.</p>
<p></p>
<p>The teams getting the most out of AI right now are the ones that built the infrastructure to trust what AI produces, which lets them run AI with less friction across more of the organization. The teams that skipped governance are quietly capping their own upside without realizing it, and it shows up in <a href="https://www.builder.io/blog/the-backlog-problem-ai-didnt-solve"><u>the backlog problem AI didn't solve</u></a> at the org-wide delivery level.<br><br><a href="https://www.builder.io/report-governance-gap" style="letter-spacing: 0.2px;"><em><u>Get our guide on the governance gap</u></em></a><em style="letter-spacing: 0.2px;">. It covers how the gap opened, the four questions every framework needs to answer, what distributed review looks like in practice, and the compliance dimension for regulated industries.</em></p><h2>How the gap actually opened</h2><p>The adoption story at most enterprises followed the same arc. A handful of engineers started using AI coding assistants in their local environments. Output quality was uneven early on, but the productivity gains were real enough that usage spread by word of mouth, mostly without formal approval. By the time IT or engineering leadership noticed, the tools were already embedded in how a meaningful chunk of the team worked.</p>
<p>Leadership response usually broke one of two ways. Some organizations endorsed retroactively, which meant buying enterprise licenses, adding the tools to the approved list, and calling the question resolved. Others restricted retroactively, banning unapproved tools and issuing a usage policy. Neither response touched the underlying question of what was actually being produced and merged into production.</p>
<p>The enterprise license response is the more common path, and it creates a sense of resolution that feels useful. The organization now has visibility into seat usage, a real contract with a vendor, and an AI tool on the official approved list. The harder question of whether the code these tools generate meets organizational standards, follows the architecture, uses approved components, and receives meaningful review before it ships remains open.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F526003dec1374836b7d37225d60b2ff8?width=780" alt="A diagram contrasting surface-level governance with the underlying issues. The top row, labeled &quot;Surface,&quot; features three boxes: &quot;License,&quot; &quot;Policy,&quot; and &quot;Approved list.&quot; A dashed line separates this from the bottom row, labeled &quot;Beneath,&quot; which contains two boxes: &quot;Unreviewed code&quot; and &quot;No paper trail.&quot; A downward-pointing arrow indicates that the items in the bottom row persist under the surface of the top row." /><p>The restriction response fares no better in practice. Developers route around it, use tools on personal machines, and the code still gets merged with even less paper trail than the licensed alternative would have produced.</p>
<p>Both responses manage perception while the actual problem compounds beneath the surface.</p><h3>Where it shows up</h3><p>The governance gap isn't one problem. It surfaces in a few distinct ways across an enterprise, and most organizations are dealing with all of them at once without recognizing them as related.</p><p><strong>Design system drift</strong></p>
<p>The most visible symptom is design system drift. AI tools that generate code without access to your actual component library produce output that looks correct on the surface but quietly diverges from the system your design team maintains. Generic implementations replace approved components. Hard-coded values show up where design tokens should be. New variants are created when an existing one would have worked. The code passes review because it works, renders correctly, and passes linting, so nobody flags it.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F3c5f8172813b4217aa38ec8bb916be05?width=780" alt="Diagram showing design system drift as a widening wedge that begins with an approved component and branches out into generic implementations, hard-coded values, and new variants." /><p>Each merged component that bypasses the design system sets a precedent. The reviewer who approved the first one set a bar, and the next engineer reviewing similar output implicitly has permission to merge it the same way. Over enough cycles, the design system becomes less authoritative, and nobody made an explicit decision to abandon it. The tooling simply stopped enforcing it.</p>
<p><strong>Review processes built for a different era of authorship</strong></p>
<p>The second place the gap shows up is in review processes that were built for a different era of authorship. Traditional code review assumes a human author with stakes in the outcome, institutional memory of why certain decisions were made, and accountability for the change. AI-generated code disrupts each of those assumptions. The author is an agent with no stake in the outcome; the context lives in a prompt that nobody else saw; and the scope can be large enough to generate a full-page layout or a set of API integrations in seconds.</p>
<p>The volume problem compounds the reasoning problem. Single-agent AI development is manageable with existing infrastructure because a single developer running a single session on a single branch lands in the review queue alongside everything else. Multi-agent parallel development breaks this entirely. When a team is running ten agents simultaneously, one per ticket and each on its own branch, the PR volume runs an order of magnitude higher than the review capacity. Engineering becomes the bottleneck because generation throughput outpaced review throughput, regardless of how quickly the reviewers work.</p>
<p><strong>Expanded authorship, unchanged governance</strong></p>
<p>The third place the gap opens up is the one most organizations haven't fully reckoned with yet. For the first few years of AI coding tool adoption, governance was primarily an engineering question because developers were the ones generating code. That framing is becoming less accurate every quarter. Product managers are building working prototypes in production codebases. Designers are submitting PRs from visual editors with AI handling the code translation. QA teams are generating fixes for the bugs they find. Marketing teams are publishing pages through systems that access the same component libraries engineers maintain. The whole <a href="https://www.builder.io/blog/code-is-the-canvas">code-as-canvas</a> shift is real, and it's expanding the governance surface faster than most enterprises have planned for.</p>
<p>This expansion is broadly a good thing and turns AI development into the company-wide workflow change it was always supposed to be. It also creates a governance surface that's much larger and more varied than what enterprise security and engineering teams originally designed for. The developers using Cursor went through onboarding, know the codebase, and understand when to follow conventions and when to escalate. The PM who generated a prototype in a production branch last week may not know that the component they used has a deprecated variant or that the API they called has a rate limit nobody documented.</p><h2>The cost most organizations underestimate</h2><p>When organizations do address the governance gap, they usually frame it as a risk problem. That framing captures part of the picture. The downside costs are real: security vulnerabilities that survive review because the reviewer assumed AI-generated code had been checked, design system fragmentation that makes future UI work harder, technical debt that accumulates in AI-generated output that nobody owns, and compliance exposure in regulated industries where AI-generated code may not meet documentation requirements for production systems.</p>
<p>These costs matter, and for most organizations, they haven't yet materialized catastrophically, which is part of why the gap persists. The debt is accumulating quietly.</p>
<p>The opportunity cost is less visible and probably larger. Teams that don't trust AI-generated output restrict its use, require extra review cycles, and limit which roles can generate code and what it can touch. These are rational responses to an absence of control infrastructure, and they cap the productivity gains that motivated AI adoption in the first place. The organizations getting the largest gains from enterprise AI development are running the playbook in reverse: build the governance infrastructure first so AI can run with less friction across more of the team and more of the codebase.</p><h2>What closing the gap actually requires</h2><p>Closing the governance gap is infrastructure work, not policy work. Documenting that designers should review AI-generated UI before it merges is a policy. Building a workflow that requires designer review before a PR can even be opened is governance. The full picture across context, review, traceability, and volume is what we walked through in the new guide.</p>
<p>A few things worth previewing:</p>
<ul><li>Design system enforcement can't happen at the review stage if the AI generating the code never had access to the current design system in the first place. The governance work starts upstream, with accurate context as an input to generation.</li><li>Single-queue PR review breaks down as a governance mechanism when you run multiple agents in parallel. The teams scaling AI development well are distributing reviews across roles: designers validating visual output, QA validating correctness, and product validating requirements before a PR reaches engineering. Engineers receive work that has already passed domain-specific checks, allowing the engineering review to focus on code quality rather than functional correctness from scratch.</li></ul><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F781f942ced88466bba57f4b61360f8c6" alt="A diagram illustrating the difference between policy and infrastructure. The left side, titled &quot;Policy,&quot; shows a document labeled with the text &quot;Designers should review AI output before merging,&quot; marked with a large red X. The right side, titled &quot;Infrastructure,&quot; shows a flowchart of an automated workflow where a &quot;Designer review required&quot; block acts as a gatekeeper, followed by &quot;PR can open&quot; paths, marked with a green checkmark." /><p>For organizations in regulated industries, the audit trail problem is sharper than most legal and compliance teams have recognized. Current AI tooling does not produce the generation records that may eventually be required by change control. The organizations not thinking about this now will be retrofitting it later under worse conditions.</p><h2>Close the governance gap with Builder</h2><p><a href="https://www.builder.io"><u>Builder</u></a> is the AI product development platform built for teams that need to govern what AI produces. It connects to your real codebase and design system, enforces standards before generation happens, and gives every role on your team the access they need to review and contribute without creating a new governance gap in the process.</p>
<p>Design system context is a first-class input to every generation. Review workflows are multi-role by default. Every agent runs in an isolated environment with a shareable preview, and agent work stays visible at the team level, so the people accountable for what ships can see what's in flight.</p>
<p><a href="https://www.builder.io/report-governance-gap"><em><u>Get the guide on the governance gap</u></em></a><em>.</em></p>
<p><a href="https://www.builder.io/m/demo"><em><u>Schedule a demo or connect with a Builder expert.</u></em></a></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/do-you-know-your-governance-rate">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/ab845f4ae1b64e058ddffc3ec56fb937" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/ab845f4ae1b64e058ddffc3ec56fb937"/>
        </item>
        <item>
            <title><![CDATA[I Didn't Become a Developer to Review AI Slop]]></title>
            <link>https://www.builder.io/blog/developers-drowning-in-ai-prs</link>
            <guid>https://www.builder.io/blog/developers-drowning-in-ai-prs</guid>
            <pubDate>Thu, 21 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[AI makes PRs cheap, but trust is still expensive. Why developers are stuck reviewing endless AI slop and how automated code review can fix the bottleneck.]]></description>
            <content:encoded><![CDATA[<p>But lately, that's exactly what the job feels like.</p>
<p>My PR queue fills with work that, yes, technically compiles. The summary sounds plausible. It might even have some tests. Then when I open the diff, the real work starts.</p>
<p>What was the change <em>supposed</em> to do? Did anyone actually run the flow? Why is this helper duplicated six times? Is this actually fixing a bug, or did the AI just run around in circles and call it done?</p>
<p>AI made it effortless for anyone on my team (and yours) to create code, but it didn't make that code trustworthy.</p>
<p><a href="https://survey.stackoverflow.co/2025/ai">Stack Overflow's 2025 Developer Survey</a> found the most common frustration with AI tools is output that's "almost right, but not quite." <a href="https://www.sonarsource.com/blog/state-of-code-developer-survey-report-the-current-reality-of-ai-coding">Sonar's 2026 State of Code report</a> found that 96% of developers don't fully trust AI-generated code, and 38% say <strong>reviewing it takes more effort than reviewing human-written code.</strong></p>
<p>That's because AI code <em>looks</em> fine, but you have to really dig in to see what it's doing well. Straight up bad code is much easier to reject.</p>
<p>I'm annoyed. Maybe you are, too. Let's dig into this and solve it together.</p><h2>A PR is... almost too cheap now</h2><p>AI agents can spin up branches from Jira tickets, patches from Slack threads, or even full PRs from a bug report before anyone even agrees that the bug is real. It's honestly a pretty awesome world.</p>
<p>But the thing is, developers aren't the only ones using these tools. PMs will prototype the feature they've been trying to explain for three sprints, mostly with vague, unhelpful hand waves. Designers will tweak UX flows and fix layouts that keep getting deprioritized. Marketers will update landing pages and forms. (Constantly.) Support will patch the customer pain points they know best.</p>
<p>And all that is a win. Small fixes shouldn't sit in backlog hell waiting for an engineer who happens to know that part of the code. Product knowledge <em>should</em> be turning into working software faster.</p>
<p>But the easier it gets to open a PR, the more developers are obligated to review them. And <a href="https://www.builder.io/blog/ai-slop-forks">PRs aren't valuable just because they exist</a>. They're only valuable when they can be trusted.</p><h2>And trust is still really expensive</h2><p>AI is really good at writing code. For a recent hackathon, I had GPT 5.5 spin up 10,000 lines of working code in about 45 minutes. The app mostly worked. Sure, the UI was a nightmare, but the core functionality was there.</p>
<p>But <a href="https://www.builder.io/blog/ship-3x-faster">writing code and writing trustworthy, scaleable code are two different things</a>. A model can generate a diff, explain it, and even run some happy-path tests. But someone's still accountable to the stuff that actually matters:</p>
<ul><li>Did this code actually fix the stated problem?</li><li>Did the author really understand the system, or is this creating tech debt for later?</li><li>Is the diff bigger than it needs to be? (Almost definitely.)</li><li>Does this fix silently break some other flow in the code, that would be obvious if a single user just tried it out?</li><li>Does the UI actually work for real users in real browsers?</li><li>Will this fix survive past a demo?</li><li>Is this actually a fix to the root problem, or just a bandaid?</li><li>Is this security tradeoff acceptable?</li></ul>
<p>These aren't syntax questions. They're trust questions. And right now, they all land on you and me, the developers. <code>@richiemcilroy</code> put it well in <a href="https://x.com/richiemcilroy/status/2056681696964022634?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E2056681696964022634%7Ctwgr%5Eda120d7312c4bd86633541ae134e5b818bfeaa05%7Ctwcon%5Es1_&amp;ref_url=https%3A%2F%2Fwww.notion.so%2Fbuilderio%2FI-Didn-t-Become-a-Developer-to-Review-Everyone-Else-s-AI-Slop-3653d7274be581db9e78c12b47059406">a viral tweeted video</a> the other day:</p><video muted autoplay loop playsinline controls>
      <source src="https://cdn.builder.io/api/v1/file/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fee0f27fc7b854106afcd99abd26ac8ea" type="video/mp4">
    </video><p>The numbers tell the same story. <a href="https://linearb.io/resources/engineering-benchmarks">LinearB's 2026 benchmarks</a> found <strong>AI PRs sit waiting 4.6x longer for review and get rejected way more than human-written ones.</strong> <a href="https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/">METR's study of experienced open-source developers</a> found early-2025 AI tools actually made devs 19% slower, partly because real work includes style, tests, docs, and review—not just typing.</p>
<p>That's not saying AI is useless. And the tools really do keep getting better everyday. But the real work of software was never just typing code into files. It's knowing what should change, what shouldn't, and when a surface-level patch that technically fixes the problem is actually going to haunt your team for the next six months.</p>
<p>That's where your attention needs to go. You should be weighing the stuff that needs taste and context, not manually rediscovering the basics after the PR is already in your queue.</p><h2>Developing feels bad right now</h2><p>Even though AI tools are making everyone more productive, <a href="https://www.builder.io/blog/code-review-ai">being the bottleneck feels terrible</a>. Everyone else gets to accomplish more than they've ever done before, because suddenly code is open to them.</p>
<p>You as a developer just experience the hype as incoming review debt. You aren't building. You're reviewing. You aren't designing the system; you're policing its edges. You aren't solving the hard problem directly; you're reverse-engineering what an agent or teammate was trying to do, then betting your afternoon on whether the diff is safe to keep.</p>
<p>The AI gets to do the fun part. You get to be a robot.</p>
<p>That doesn't mean you're useless. If anything, your judgment matters way more now.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Faebc8033095c498797c5144822a3d1dc?width=780" alt="A bell curve chart representing the Dunning-Kruger effect. A person at the low IQ end and a person at the high IQ end both say, &quot;I hate reviewing code.&quot; A person in the middle, at the peak of the bell curve, cries and says, &quot;AI IS GONNA TAKE ALL OUR JOBS!" /><p>But the workflow is spending your judgment terribly. It's taking the scarcest resource in the system—<em>experienced engineering attention</em>—and aiming it at mystery diffs, bloated patches, missing context, and generated code that only looks correct.</p>
<p>So yeah, it's boring. Yeah, it's frustrating. When someone says "now everyone can ship code," what you and I hear is "now everyone can create work for us."</p>
<p>Thus, the burnout.</p><h2>Locking down the repo solves the wrong problem</h2><p>So, what do we do? Well, the obvious reaction would be to lock up the repo. Devs only.</p>
<p>And I get that. You're the one who gets paged at 2am when prod goes down. Being protective of the code isn't elitism. You just have a memory.</p>
<p>But limiting access solves the wrong problem.</p>
<p>Cross-functional PRs aren't automatically bad. In fact, in many ways, they're exactly what we've wanted for years: product knowledge turning into small fixes without waiting on an engineer's calendar.</p>
<p>But the problem is that, even though everyone can now open PRs, PR intake itself hasn't evolved. Teams still treat a PR like a dev-to-dev handoff: here's the diff, here's the description, good luck. That worked great when the author was another engineer with the same local context, the same testing habits, and the same gut sense of what reviewers needed.</p>
<p>But that assumption falls apart now. Not because non-devs are careless. In fact, designers, PMs, marketers, support teams—they all have the best user context since they're closer to the problem. But they probably don't know what you need as a dev to evaluate risk. And when AI generated the actual implementation, even the person opening the PR might not know the full scope of what changed.</p>
<p>Mystery diffs aren't a reasonable way to collaborate. So, how do you change the way you work with PRs?</p><h2>Raise the bar for evidence on PRs</h2><p>No dev should open a generated or cross-functional PR and have to reverse-engineer it from scratch. Every PR needs to show up with receipts:</p>
<ul><li>Clear intent.</li><li>A small, scoped diff.</li><li>A summary of meaningful changes.</li><li>Relevant tests and results.</li><li>Browser-based QA on the affected flow.</li><li>Screenshots, replay, or other behavioral proof.</li><li>Console and network logs when something is failing.</li><li>Known risks, skipped cases, and open questions.</li><li>A path to fix issues on the same branch.</li></ul>
<p>But that’s the problem. We say we want <a href="https://www.builder.io/blog/new-path-from-prototype-to-production">PMs, designers, marketers, and support to directly contribute</a>, but then we expect them to act like senior engineers before we'll even review it.</p>
<p>A PM shouldn't need to know how to scope a tight diff. A designer shouldn't read network traces. A marketer shouldn't be QA. Support shouldn't write a perfect test plan just to propose a fix.</p>
<p>The entry bar needs to stay low. The review bar needs to go up.</p>
<p>Those aren't in conflict if there's an interpretation layer to bridge the gap. We already have amazing AI, so why aren't we using it, per PR, to review the quality and interpret intent before engineers waste their time?</p>
<p>The contributor can bring the product context: what hurts, why it matters, what good looks like. And they can be the ones who work with an AI agent to send the PR in the first place. Then, a review toolchain should translate that implementation into something a dev can trust.</p>
<p>The toolchain should keep diffs scoped, summarize real changes, run checks, open the product in a browser, click the flow, capture screenshots, surface console errors, and flag what it didn't test. It should let the contributor fix issues on the same branch without turning them into a release engineer.</p>
<p>And it should spare the developer from being the first person to discover the button doesn't work.</p><h2>So, what does review automation look like in practice?</h2><p>Everyone's starting to wake up to this problem. And PR review automation seems to be the best answer. That said, I've found that a lot of the existing PR review tools are pretty surface-level in what they do, mostly just acting as another AI agent to see if the code makes sense in context.</p>
<p>What you actually want is an agent that runs the code in the browser and tests real edge cases to spot failure modes. You can definitely piece it together yourself with enough CI glue. Or, you can get it off the shelf.</p>
<p>That's the point of our (Builder's) <a href="https://www.builder.io/blog/announcing-quality-review-agent">Quality Review Agent</a>. It opens your app in real browsers, walks the affected flow, and returns evidence of what it clicked, what happened, and what failed, complete with replay links, console errors, network traces, and specific findings tied back to the change.</p><video muted autoplay loop playsinline controls>
      <source src="https://cdn.builder.io/api/v1/file/assets%2FYJIGb4i01jvw0SRdL5Bt%2F4bfbbbd108b542258f16470c00a3a1f8" type="video/mp4">
    </video><p>So now, instead of reviewing hundreds of PRs that start as mystery diffs, you get a product-specific review packet:</p>
<ul><li>The affected flow, replay, and screenshots.</li><li>The console and network signals from the run.</li><li>The specific failures tied back to the change.</li><li>The risks, skipped cases, and remaining judgment calls.</li></ul>
<p>After all, the goal isn't to remove developers from review. We still need to be there to raise the quality of the code in ways only we know how. But the goal <em>is</em> to stop burning developer attention on prep work that machines can handle without complaint.</p><h2>Build the trust layer</h2><p>Look. AI made it dead simple for anyone to ship code. What it didn't do was magically make that code trustworthy. And that means devs are feeling the burden the most right now, having to review all that slop.</p>
<p>Locking everyone out of the repo isn't the answer. We just need every PR to show up with enough context and proof that we can actually use our brains for judgment instead of wasting afternoons playing detective.</p>
<p>With today's agentic tools, that's a trust layer you can either try to assemble yourself, or you can get it from another company. Our take on it is the <a href="https://www.builder.io/blog/announcing-quality-review-agent">Builder QR Agent</a>.</p>
<p>Regardless, it might be best to prioritize that pain before you turn into your company's human merge queue.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/developers-drowning-in-ai-prs">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Ffccca925d3c34fa480b06d6aebd5b7ce" length="0" type="image//api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Ffccca925d3c34fa480b06d6aebd5b7ce"/>
        </item>
        <item>
            <title><![CDATA[AI Agent vs Chatbot: Key Differences and Examples]]></title>
            <link>https://www.builder.io/blog/ai-agent-vs-chatbot</link>
            <guid>https://www.builder.io/blog/ai-agent-vs-chatbot</guid>
            <pubDate>Tue, 19 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[AI agent vs chatbot: chatbots respond to prompts; AI agents pursue goals, use tools, and complete work. See examples and why agent-native is next.]]></description>
            <content:encoded><![CDATA[<p>What is the difference between an AI agent and a chatbot? A chatbot responds to prompts. An AI agent can pursue a goal, choose steps, use tools, and complete work.</p>
<p>That short answer is useful, but it misses the thing you usually care about when you are evaluating software: can the AI actually do the job, or can it only talk about the job?</p>
<p>In most software, the progression looks like this: a chatbot answers questions, and an AI agent can operate parts of the workflow.</p>
<p>This article starts with the practical AI agent vs chatbot comparison. Then it shows what the next level of AI agents looks like: agent-native architecture, where the product is built so humans and agents can operate the same underlying capabilities.</p><h2>What is the difference between an AI agent and a chatbot?</h2><p>A chatbot is a conversational system. It receives a message and returns a response. It may answer questions, summarize information, draft text, retrieve documentation, or guide a user through a simple support flow.</p>
<p>An AI agent is a goal-directed system. It can break a request into steps, inspect context, use tools, take actions, and adapt based on the result. In a product context, the difference is whether the AI can move the workflow forward instead of only talking about it.</p><p>For example, in an email product, a chatbot can summarize a thread or draft a reply. An AI agent can find the relevant messages, classify them, apply labels, archive low-value items, draft responses, and ask for approval before sending.</p>
<p>In analytics software, a chatbot can explain what a chart means. An agent can change the query, apply filters, generate a new chart, save the dashboard, and share it with the right team.</p>
<p>That is why "chatbots respond, agents act" is directionally right but incomplete. A weak agent can still be little more than a chatbot with tool calls. A strong agent needs meaningful product actions, relevant state, and safety rules.</p>
<p>So if the difference is that clear, why do so many SaaS products call something an agent when it still behaves like a chatbot?</p><h2>Why many SaaS AI agents still feel like chatbots</h2><p>Many SaaS AI agents still feel like chatbots because they are added beside an existing application rather than designed into the workflow. The product was built for humans clicking through screens, then an AI sidebar was added later.</p>
<p>That pattern creates a ceiling. The AI can answer questions about what is visible. It can summarize a page, draft a message, explain a setting, or suggest a next step. But when the user asks it to complete the actual workflow, it often stalls.</p>
<p>The limitation is usually architectural, not just model quality. The common reasons are easy to spot:</p>
<ul><li><strong>Action access:</strong> The AI has a small set of helper tools, while the real product actions are buried in UI-specific code, internal endpoints, admin-only flows, or services that were never designed for delegated execution.</li><li><strong>State:</strong> The AI may know the conversation, but not the object the user is working on, the selected record, the active workflow step, or the changes that already happened elsewhere.</li><li><strong>Safety:</strong> The product relies too much on prompts. Real agents need product-level constraints: permissions, previews, approval gates, audit logs, rollback paths, and policy checks.</li><li><strong>Workflow continuity:</strong> The AI can handle one request, but it cannot keep working across a multi-step workflow until the goal is complete or blocked.</li><li><strong>Drift:</strong> The UI can do one set of things. The public API exposes another. The AI tool layer exposes a third. Each surface works until the product changes, then they drift apart.</li></ul>
<p>This is why a product can market an "AI agent" while users experience it as a chatbot. The name changed, but the software did not give the AI enough product capability to act.</p>
<p>Chatbots still have a clear role. They are good for support triage, documentation lookup, onboarding, lightweight drafting, and conversational discovery. They are especially useful when the correct output is information rather than a durable product change.</p>
<p>The problem is category confusion. If a user asks, "What does this setting do?", a chatbot is enough. If a user asks, "Update these accounts, notify the owners, and prepare the renewal plan," they expect an agent.</p>
<p>There is one more term that often gets mixed into this conversation: copilot. It is worth separating because a copilot can be much more useful than a chatbot without becoming a full agent.</p><h2>AI Copilot vs. AI Agent: Where copilots fit</h2><p>An AI copilot assists a person inside a workflow. An AI agent can execute a workflow, or prepare it for approval, through tools and product actions.</p>
<p>You can think of a copilot as the middle stage between chatbot and agent. A chatbot is mostly conversational. A copilot is contextual and assistive. An agent is operational. A writing copilot may suggest edits. A coding copilot may autocomplete a function. A sales copilot may draft a follow-up email. These are useful because they keep you directly in the loop.</p>
<p>An agent goes further. It can research the topic, change the code, update the CRM, run checks, prepare the next step, and ask for approval when judgment is needed. The point is not that agents are always better. The point is that some jobs need chat, some need assistance, and some need delegation.</p>
<p>Once you start building for delegation, the hard question changes. It is no longer just "Is this a chatbot, copilot, or agent?" It is "Is the product actually built for an agent to operate it?"</p><h2>The next level for AI agents: Agent-native architecture</h2><p><a href="https://www.builder.io/blog/agent-native-architecture">Agent-native architecture</a> is the next level because it stops treating the agent as a feature bolted onto the side of the product.</p>
<p>An agent-native application is built so humans and AI agents can operate the same product through shared actions, data, permissions, and context. You may use screens, buttons, forms, and review flows. The agent may use natural language and tool calls. But both paths work inside the same application model.</p>
<p>That is a different bar from adding a chatbot or exposing a few tools. If the user can archive, approve, publish, reschedule, assign, merge, refund, or invite, the agent should be able to reach the same operation with the same permissions and safeguards.</p>
<p>That usually comes down to five architectural principles:</p>
<ul><li><strong>Agent UI parity:</strong> Anything meaningful the UI can do, the agent can also do through the same product capability. The agent is not screen-scraping buttons or using a weaker side-channel.</li><li><strong>One shared action model:</strong> The UI, agent, API, and automation layer call the same actions instead of four slightly different implementations that drift over time.</li><li><strong>Shared state, data, and context:</strong> If you are looking at a customer, thread, chart, or task, the agent can understand that context and change the same underlying state.</li><li><strong>Protocol-ready by design:</strong> The app is built so agents and other tools can reach its capabilities through standard interfaces, not just one custom chat integration.</li><li><strong>Governed execution:</strong> The agent acts inside the product's permission, approval, logging, and review model. It can be powerful without bypassing the rules that make the product trustworthy.</li></ul>
<p>That is why agent-native is the next step after basic AI agents. A normal agent can use tools. An agent-native app gives the agent a real product to operate, while still giving humans a real product to use.</p>
<p>Bad AI apps put the agent in a sidebar. Good AI apps make the sidebar the agent.</p>
<p>Over time, applications an agent can fully operate will have a clear advantage over applications where AI can only talk about the work.</p><h2>How to get started with agent-native architecture</h2><p>You do not need to rebuild the whole product at once. Start with one workflow where delegation would obviously help, then make that workflow agent-native from end to end.</p>
<ol><li>Pick a workflow users already repeat. Good candidates are triage, scheduling, reporting, routing, drafting, approvals, or cleanup work.</li><li>List the product actions inside that workflow. In email, that might be search, label, archive, draft, and send. In analytics, it might be query, filter, visualize, save, and share.</li><li>Turn those actions into shared capabilities. The UI should call them. The agent should call them. Any API or automation surface should call them too. This keeps behavior consistent and reduces drift.</li><li>Give the agent the state it needs. If the user is looking at a record, thread, dashboard, or task, the agent should not need the user to restate everything the app already knows.</li><li>Build the review path into the product. Some actions can run automatically. Some should show a preview. Some should require approval. The important part is that the product owns those rules, not just the prompt.</li></ol>
<p>This is the shift from "AI feature" to agent-native application. Instead of adding a smarter text box, you are designing the product so the human and the agent can work through the same system.</p><h3>Start with open source agent-native templates</h3><p>You can build those primitives yourself: shared actions, shared state, shared permissions, review flows, and agent tools. Or you can start from an open source template where the architecture is already in place.</p>
<p>That is what <a href="https://www.agent-native.com/templates">agent-native templates</a> gives you. The templates are cloneable agent-native apps with a real human interface, real actions for agents, and one application model underneath both.</p>
<p>If you want to build an agent-native app today, you do not have to start from a blank text box or bolt AI onto an old workflow. You can clone a template, inspect how the UI and agent share capabilities, and adapt it to the workflow you care about.</p><h2>Build for agents, not just conversations</h2><p>The AI agent vs chatbot distinction starts with behavior. Chatbots respond. Copilots assist. Agents act.</p>
<p>But for software teams, the distinction eventually becomes architectural. If the AI cannot reach the product's real actions, state, permissions, and approval paths, it will keep behaving like a chatbot no matter what the feature is called.</p>
<p>Agent-native architecture is the next level. It gives the agent a real product to operate and gives humans a real interface for supervision, review, and collaboration.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/ai-agent-vs-chatbot">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/9165579fa12b4927ab7e8a5aa805cc36" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/9165579fa12b4927ab7e8a5aa805cc36"/>
        </item>
        <item>
            <title><![CDATA[Code is the Canvas: Bring the Whole Team to It]]></title>
            <link>https://www.builder.io/blog/code-is-the-canvas</link>
            <guid>https://www.builder.io/blog/code-is-the-canvas</guid>
            <pubDate>Wed, 13 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[The cost of writing code dropped while the cost of handoffs stayed the same. See how teams are closing the gap by bringing every role into the code.]]></description>
            <content:encoded><![CDATA[<p><em>The cost of writing code dropped while the cost of handoffs stayed the same. See how teams are closing the gap by bringing every role into the code.</em></p>
<p>AI is making the cost of generating code trend toward zero. Features that used to take a sprint can happen in an afternoon, and bugs and updates that sat in the backlog for months cost cents to fix. The economics of writing software have shifted dramatically over the last couple of years.</p>
<p>The way most teams work has not changed with them. Look at how a typical product organization is structured: weeks of planning to decide what's worth building, a sprint to build it, another to test it, another to ship it. That whole rhythm was designed around the assumption that code is expensive, so you spend most of your time deciding what's worth coding before you actually code it. The assumption stopped being true a while ago, and the rhythm built around it is still running.</p>
<p>You can see the results by taking an inventory of your backlog. There are features customers have asked for a dozen times, bugs everyone knows about, and polished work that never makes the sprint. The gap between what your team should be shipping and what it actually ships keeps widening, even as coding speeds up.</p><h2>The workflow is older than most of the tools your team uses</h2><p>The standard software development workflow is over 25 years old, and it predates AI by decades. You know the shape of it: idea, spec, design, prototype, code, review, ship. Each step hands off to the next, and each handoff is a translation between tools and between teams. The translation is where the work loses its shape, and it is also where most of the time goes.</p><h3>The translation problem</h3><p>Spec gets translated into design, design into prototype, prototype into code, and every translation along the way loses some of the original intent. The friction is so familiar that the language teams use to describe it has become a script. You have probably said one of these in a review:</p>
<p>"That's not what I meant."</p>
<p>"That's not how it was designed."</p>
<p>"That doesn't work in our application."</p>
<p>So the team loops back. They update the spec, rebuild the prototype, rework the code, and start over. Week after week.</p>
<p>What most teams have done with AI is layer it on top of this same workflow. Designers reach for Figma Make, PMs spin up something in v0, and engineers run Cursor or Claude Code. Each function gets faster in isolation, and the choreography between them stays exactly as it was. The translation problem persists, with agents now handling some steps in between, and the handoffs remain where things go wrong.</p><h3>Why MCP isn't the answer</h3><p>A technical objection comes up here, especially from architects: doesn't MCP solve this? Connect the tools, share the context, and you're done. The answer is that MCP accelerates the handoff itself, which is helpful, and the translation problem is something different.</p>
<p>A developer, with their own context and intent, is still trying to verify whether what was built matches what was originally intended, and they're doing that work in a separate environment from where the original work was done. Stitching better connectors between isolated tools has limits because the tools remain isolated.</p><h2>What changes when everyone starts in the same place</h2><p>Imagine a workflow where the team starts together. A PM has an idea and tells an agent what the experience should be, and the agent builds it using your real codebase, components, design system, and coding standards. A designer opens the same project and refines it directly. When an engineer steps in, they pick up a project that already carries context from every role that has touched it. The work has been moving forward in one place, in code, the whole time.</p>
<p>Code is the canvas. When the whole team builds on it together, the product meant to be built is the one that gets built.</p>
<p>The shift sounds abstract until you look at what it changes for each role. The work each person does, and the artifacts they hand off, look meaningfully different when code becomes the starting point for the whole team:</p><h2>Builder gives your team a workflow built around that idea</h2><p>Code as the canvas is the principle. Building it into a workflow your team can actually run is a different problem, and the rest of this post walks through how Builder approaches each piece, from where work starts, to how it moves through the team, to how it gets validated and shipped.</p><h3>Ideas start where they live</h3><p><a href="https://www.builder.io/blog/from-prd-to-working-app-in-60-minutes">The work begins wherever the idea lives</a>, whether that's a Jira ticket, a Slack thread, a customer support escalation, or a problem someone spotted on the live site. The Builder agent picks it up, takes a first pass, and because it is connected to your codebase and design system, what it builds uses your real components, patterns, and tech stack.</p>
<p>That matters because most ideas die in the gap between where they show up and where the work happens. By the time a Slack thread becomes a ticket, becomes a sprint item, becomes a design, the original spark is buried. Builder connects to the tools your team already works in, so that gap closes:</p>
<ul><li>A marketer who notices something off on the live site clicks the Chrome extension and starts a fix on the spot.</li><li>A designer who gets a request in Slack tags Builder in the thread, and it reads the context and builds a first pass.</li><li>A PM who files a ticket in Jira assigns it to Builder, and it picks up the work directly.</li></ul><h3>First drafts that are actually usable</h3><p>The real measure of an agent is how far along the work is when your team picks it up. The closer the first draft is to something your team can actually ship from, the more time the agent has saved you. That depends on whether the draft is built from your real components and patterns, because that's what determines whether the team can refine it or has to rebuild it.</p>
<p>Builder builds with the components your team already uses, in the patterns they already follow, and it pulls in the context that shapes the work: Figma designs, PRDs, product specs. The agent knows your code, what you are trying to build, and why, so the team spends its time refining the concept while the agent handles the mechanical work of putting it together.</p><h3>One branch, one team</h3><p>From there, the team takes over. Product, design, and engineering iterate on the same branch, each in their preferred environment.</p>
<p>The most expensive part of building software these days is the feedback loop around the code, where a designer reviews a screenshot and files a comment, a PM reads a spec and flags a misunderstanding, a developer gets a PR and rewrites half of it, and each round costs the team days.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F03eee80e691e4c938ad4660ef7ae8345" alt="A diagram showing a central box labeled &quot;one branch&quot; with a checkmark, connected by two-way arrows to four peripheral boxes labeled &quot;PM,&quot; &quot;Designer,&quot; &quot;Engineer,&quot; and &quot;QA." /><p>Builder collapses that loop by giving every collaborator a link to the live implementation. A designer adjusts spacing in the style tab, a PM tests a user flow and has the agent resolve a logic gap, and an engineer reviews the diff in the code tab and makes changes directly. Everyone works on the same thing, at the same time, in the way they prefer, and feedback happens on what is actually going to ship.</p><h3>Developers stay in their IDE</h3><p>Collaboration has to work for every role, and developers are the role most likely to push back on a new tool. <a href="https://www.builder.io/blog/agent-harness">They live in their IDE for good reason</a>, and asking them to leave it for review or refinement work is how adoption stalls. Builder is built so they can stay there.</p>
<p>The branch the team has been working on syncs directly into Cursor or VS Code. A developer pulls it, reviews the diff, makes changes, and pushes them back to the same branch the team is using. Builder's MCP connects the platform to Claude Code and Cursor, so whatever the team is building in Builder (a prototype, a page, a component), the developer can pull it into their IDE and work with it as code. When they push changes back, the team picks up where they left off. The two environments remain linked, and no one has to switch contexts to participate.</p><h2>Real validation, before anyone ships</h2><p>Code-as-a-shared-canvas changes how the team builds together. It also changes what's possible at the validation step, which is the part of the process that tends to get the least attention and produces the most expensive mistakes when it goes wrong.</p><h3>Why teams skip it</h3><p>The step most teams skip is the one that matters most: getting real feedback before shipping. Teams skip it because every way to get it adds friction. Screenshots get marked up with notes that no one can act on. Prototypes built outside the codebase lack the fidelity to surface real issues. So validation gets dropped, and the team hopes for the best.</p><h3>Validation by preview link</h3><p>Builder changes the cost of validation. You send a preview URL with no account required, no staging environment to spin up, just a link. What the recipient sees is the real implementation, built from your design system, and they can interact with it, leave feedback, and have the team resolve it on the spot. Put it in front of a customer, and the feedback you get is specific: what broke, what confused them, what they would change. When validation is this easy, teams stop skipping it.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fb19eed2a240742ec8f706204e72152ad" alt="A diagram showing a central &quot;preview link&quot; icon connected by arrows to a customer on the left and a product manager, a &quot;fix&quot; box, and a designer on the right. Speech bubbles show the customer providing feedback on a login feature, the product manager requesting an analytics fix, and the designer identifying a spacing issue, with green checkmarks indicating resolved tasks." /><h2>Speed without sacrificing the quality bar</h2><p>The faster teams move, the more leadership worries about what slips through. New tools and new contributors generate AI code at volumes nobody is quite sure how to police, and the question is always the same: how do we know this is safe to ship? The answer cannot be "trust the team" alone. It has to be built into the workflow.</p><h3>Approvals and review agents</h3><p>Builder's approval workflows require the right people to sign off before a PR is submitted. The QA Agent <a href="https://www.builder.io/blog/agent-productivity-is-creating-a-quality-debt">validates the implementation</a> in a real browser, writes test cases, and posts a video walkthrough. The Code Review Agent checks every PR and flags issues by severity. Your team has already defined what good code looks like, with linting rules, formatting standards, test suites, accessibility checks, and Builder follows all of it. The code that comes out is held to the same quality bar your team set before Builder was introduced.</p><h3>Trust and compliance</h3><p>On the trust side, Builder is SOC 2 Type 2 compliant, we don't train on your data, and you own your inputs and outputs. We work with Fortune 500 companies that hold us to their standards.</p><h2>Where teams usually start</h2><p>Change like this doesn't happen overnight, and it doesn't have to. Teams usually find their way in through one of a few starting points, and where you begin depends on what your team needs most. Each of these is a low-risk way to test the workflow on real work without committing the whole organization on day one:</p><p>Most teams pick one of these and grow from there. Prototyping is a common entry point because every team prototypes anyway, and getting prototypes built on the real codebase means the feedback you collect is feedback on what will actually ship. <a href="https://www.builder.io/blog/agent-native-apps">Internal tools work well because the team gets value immediately</a>, with low risk to production systems. Software development is where the long-term payoff lives, and once the team is comfortable with the workflow, this is where most of the throughput gains compound.</p><h2>Closing the gap</h2><p>Code is cheap to write now, and the teams that have adjusted to that, the ones that treat code as the place where the whole team works together from the start, are the ones closing the gap between what they want to ship and what they actually ship.</p>
<p><em>Connect your repo and run a prototype, an internal tool, or a backlog item through the workflow yourself. <a href="https://builder.io/signup"><u>Try Builder for free.</u></a></em></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/code-is-the-canvas">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/9da44fdf021a44a2adafbe79d9e11106" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/9da44fdf021a44a2adafbe79d9e11106"/>
        </item>
        <item>
            <title><![CDATA[Agent-Native: The Next Architecture for Software]]></title>
            <link>https://www.builder.io/blog/agent-native-architecture</link>
            <guid>https://www.builder.io/blog/agent-native-architecture</guid>
            <pubDate>Fri, 08 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Agent-native applications are apps built so humans and AI agents can operate the same product, with the same underlying actions, data, and permissions.]]></description>
            <content:encoded><![CDATA[<p>Most software today gives you one of two compromises: a polished interface an agent cannot fully use, or a powerful agent with no real interface for humans. Agent-native architecture removes that trade-off.</p>
<p>Agent-native applications are software built so humans and AI agents can operate the same product through shared actions, data, permissions, and context. You may use a visual interface, while the agent may use natural language and tool calls, but both paths work inside the same application model.</p>
<p>This is the architectural line between an AI feature and an agent-native product. The agent is not bolted onto the app after the fact. It is part of how the app is built.</p>
<h2>Table of contents</h2><ul>
  <li><a href="#the-problem-saas-and-raw-agents-solve-different-halves" rel="noopener noreferrer">Why SaaS and raw agents solve different halves</a></li>
  <li><a href="#the-evolution-ai-enabled-to-ai-native-to-agent-native" rel="noopener noreferrer">AI-enabled to AI-native to agent-native</a></li>
  <li><a href="#what-makes-an-application-agent-native" rel="noopener noreferrer">What makes an application agent-native?</a></li>
  <li><a href="#what-agent-native-apps-need-as-they-grow" rel="noopener noreferrer">What agent-native apps need as they grow</a></li>
  <li><a href="#why-agent-native-apps-should-be-cloneable" rel="noopener noreferrer">Why agent-native apps should be cloneable</a></li>
  <li><a href="#where-agent-native-fits-in-the-software-stack" rel="noopener noreferrer">Where agent-native fits in the software stack</a></li>
  <li><a href="#what-agent-native-looks-like-in-practice" rel="noopener noreferrer">What agent-native looks like in practice</a></li>
  <li><a href="#how-to-get-started-with-agent-native" rel="noopener noreferrer">How to get started with agent-native</a></li>
</ul>
<h2>The problem: SaaS and raw agents solve different halves</h2><p>SaaS gave developers and teams a clean bargain: stop maintaining software, rent a polished product, and accept whatever shape the vendor gives you. That bargain worked for a long time, especially when software mostly needed to give people a workflow, a database, and a UI.</p>
<p>AI agents changed the bargain.</p>
<p>The problem is not that SaaS products lack AI features. Almost every software company is adding them. The problem is that most products were not designed for an agent to operate them completely. A chatbot in the corner can summarize a document or draft a response, but it usually cannot do everything you can do in the product. It cannot reliably see the same state, use the same workflows, or change the product through the same primitives as the interface.</p>
<p>That is why bolt-on AI eventually hits a ceiling.</p>
<p>Raw agents have the opposite problem. Tools like Claude Projects and general-purpose coding agents can be extremely powerful, but they often start as a blank text box. That blank canvas problem is intimidating for teams. There are no buttons, no durable workflows, no obvious starting points, and no domain-specific interface that makes the right action feel natural.</p>
<p>The result is a split:</p><p>Raw agents give you power without enough product shape. SaaS gives you product shape without full agent access, ownership, or customization. Agent-native apps combine the structure of SaaS with the flexibility of agents.</p><h2>The evolution: AI-enabled to AI-native to agent-native</h2><p>"AI-native" is already used across the industry, but the term is too broad to describe the next architecture of software. Some teams use it to mean infrastructure optimized for AI. Some use it to mean products where AI is central. Some use it to mean any product with an AI workflow.</p>
<p>Agent-native is more specific.</p>
<p>It is the architectural discipline of building applications so agents and humans can operate the same product from the start.</p><p>Adding AI to your app does not make it AI-native. AI-native means the product does not exist without the AI. Agent-native goes one step further: AI is central, and the product still has a real interface for humans.</p>
<p>The distinction matters because you should not have to choose between software you can use and software an agent can use. The same product should work both ways.</p>
<p>Mobile-native apps are the closest historical analogy. A mobile-native app was not a desktop website squeezed onto a small screen. It was designed around the constraints and strengths of mobile from the beginning: touch, camera, location, limited screen space, intermittent attention.</p>
<p>Agent-native apps are the same kind of shift. They are not SaaS products with AI squeezed into the corner. They are designed around the constraints and strengths of agents from the beginning: natural language, tool use, context, background work, and human supervision.</p><h2>What makes an application agent-native?</h2><p>An application is agent-native when the human interface and the agent are two ways of operating the same product. You may use screens, forms, buttons, keyboard shortcuts, and visual review flows. The agent may use natural language, tools, protocols, and background execution. But both are grounded in the same actions, data, permissions, and context.</p>
<p>The distinction comes down to five architectural principles.</p><h3>1. Agent UI parity</h3><p>Agent UI parity means anything the UI can do, the agent can do. And anything the agent can do should be visible, inspectable, or controllable through the product's interface, logs, permissions, or state.</p>
<p>The core test is simple. If you can archive an email, create a dashboard, schedule a meeting, update a record, or render a video, the agent should be able to perform the same action through the same application capability. The agent should not be screen-scraping the UI or using a fragile side-channel. It should call the same underlying capability that powers the product.</p>
<p>A chat panel on the side can be useful, but it cannot be the architecture. The agent needs access to the product's actual capabilities.</p>
<p>Consider an email app. A normal AI feature might draft a reply. That is useful, but shallow. An agent-native email app lets the agent draft the reply, inspect the thread, apply labels, archive notifications, route customer messages, pull context from a CRM, and leave the final send decision to you when needed. The agent is operating the email product, not merely commenting on it.</p><h3>2. One shared action model</h3><p>Agent UI parity only works when the same capability is not rebuilt for every surface.</p>
<p>In traditional software, a team might implement a UI action, then an API endpoint, then an automation hook, then an LLM tool definition, then a CLI command, then documentation explaining how all of those relate. Every copy creates drift. The UI can do one thing. The agent can do a narrower thing. The API exposes something slightly different. Eventually, nobody trusts the abstraction.</p>
<p>Agent-native architecture needs one action model.</p>
<p>Define the action once: archive an email, create a dashboard, render a video, schedule a meeting, invite someone, update a record. From that single definition, the UI can call it, the agent can see it as a tool, external clients can reach it, and other agents can route to it through the supported protocols.</p>
<p>In code, the pattern looks like an action definition rather than a pile of one-off integrations:</p><pre><code>// actions/reply-to-email.ts
import { defineAction } from &quot;@agent-native/core&quot;;
import { z } from &quot;zod&quot;;

export default defineAction({
  description: &quot;Reply to an email thread&quot;,
  schema: z.object({
    emailId: z.string(),
    body: z.string(),
  }),
  run: async ({ emailId, body }) =&gt; {
    await db.replies.insert({ emailId, body });
  },
});</code></pre><p>That single action can become a UI mutation, an agent tool, an HTTP endpoint, a CLI command, an MCP tool, and an A2A tool. The product capability is defined once, then exposed through every surface that needs it.</p><h3>3. Shared state, data, and context</h3><p>An agent-native app cannot treat the agent as a separate background process. The agent needs to know what you are looking at, what is selected, which filters are active, and what changed while it was working.</p>
<p>In practice, context awareness means the UI writes navigation state as you move through the app; a <code>view-screen</code> action gives the agent a fresh snapshot of the current view; and a <code>navigate</code> action lets the agent move the UI when you ask it to open a record, thread, chart, document, or task.</p>
<p>This is why agent-native apps feel different from chatbots attached to products. If you highlight a paragraph and ask for a rewrite, the agent should know which paragraph. If you are looking at a customer account, the agent should operate on that account. If the agent creates a draft, updates a dashboard, or marks a task complete, the UI should refresh because both sides read and write the same database-backed state.</p>
<p>Live sync does not need to mean fragile browser automation or long-lived infrastructure. The framework pattern can stay intentionally simple: actions write to SQL, a version changes, and the UI polls for updates and invalidates the right data. The important principle is not the polling interval. It is that the database is the coordination layer between the human interface and the agent.</p><h3>4. Protocol-ready by design</h3><p>Agent-native applications are not isolated chatbots. They are software nodes that agents and other apps can use.</p>
<p>That means protocols matter. An agent-native app should be reachable through standard agent interfaces such as MCP, so tools like Claude Code, Codex, Cursor, <a href="http://builder.io/">Builder.io</a>, or other MCP-compatible clients can understand and operate it. It should also support agent-to-agent communication, so one app can ask another app to do work.</p>
<p>The important part is that protocol support is not a one-off integration project. It is a property of the app architecture. If actions are already the shared unit of product behavior, exposing those actions to MCP, A2A, a CLI, or an internal API becomes a routing problem rather than a second product.</p>
<p>An analytics app should be able to ask a slide app to turn a dashboard into a deck. A calendar app should be able to coordinate with an email app to propose meeting times. A dispatch agent should be able to route work across an ecosystem of apps without each team writing bespoke glue code every time.</p><h3>5. Governed execution</h3><p>The final test is whether the agent can act inside the same permission model as the product.</p>
<p>If you cannot access a customer record, the agent should not be able to access it on your behalf. If sending an email, deleting a file, publishing a page, or changing a billing setting requires confirmation, the agent should respect that same boundary. If a team needs to know what happened, the product should expose logs, audit trails, and state changes in a way humans can inspect.</p>
<p>This is where agent-native stops being a clever interface and becomes an application architecture. The agent is powerful because it can act. The product is trustworthy because those actions are scoped, reviewable, and reversible where needed.</p><h2>What agent-native apps need as they grow</h2><p>The principles above define the minimum. But the real promise of agent-native software is not just that an agent can click the same buttons you can. It is that the product can become more personal, more programmable, and more collaborative as you use it.</p>
<p>These layers are not all required for the first version of an agent-native app. A personal prototype can be agent-native before it has team governance, runtime tools, or an observability dashboard. But as soon as agent-native apps move from demos into repeated work, these capabilities start to matter.</p><h3>Workspace customization</h3><p>Agent-native is not only about exposing product actions to an LLM. It also gives each person and team a customization layer normally reserved for developer tools.</p>
<p>A mature app should ship with a workspace: <code>AGENTS.md</code> for shared instructions, <code>LEARNINGS.md</code> for durable team memory, personal memory, skills, custom sub-agents, scheduled jobs, and connected MCP servers. The important architectural detail is that these resources live in SQL rather than on a local filesystem.</p>
<p>That changes the economics of customization. Claude Code and Codex already show how powerful agent workspaces can be when instructions, skills, memory, and tools travel with a project. But that model is usually organized around developer workflows: repos, local environments, source control, and project files. An agent-native app brings the same pattern into the product itself, where workspaces are database-backed, scoped by person or organization, and editable inside the app.</p>
<p>This matters for adoption. You do not just want a smarter default app. You want an app that learns your workflow, remembers team conventions, supports reusable instructions, and lets specialists shape the agent without waiting on a product roadmap.</p><h3>Runtime tools and automations</h3><p>As agent-native apps mature, people start wanting a layer for work that is smaller than a permanent product feature but more durable than a one-off chat response.</p>
<p>Runtime tools fill that gap. A tool can be a private dashboard, calculator, monitor, data lookup, or small interactive utility the agent creates inside the app without a code change, build, deploy, or migration. If it becomes core to the product, it can later graduate into a template feature. Until then, it gives you a way to customize the app immediately.</p>
<p>Automations do something similar for background work. You should be able to say, "When an enterprise lead books a meeting, post the details to Slack," or "Every Monday, summarize last week's support threads," and have that become a scheduled or event-triggered workflow with the same actions, permissions, secrets, and audit surfaces as the rest of the product.</p><h3>Progress and observability</h3><p>Long-running agent work also needs product-grade visibility. Progress state, notifications, traces, feedback, evals, and cost/latency metrics are not enterprise extras; they are how humans supervise autonomous software. If the agent is triaging 128 emails, importing a dataset, or rendering a video, you should see what is happening, where it is stuck, what it cost, and what it changed.</p>
<p>Observability is especially important because agent-native products do not fail like normal SaaS products. A button either worked or it did not. An agent may choose the wrong tool, skip a step, spend too much, get confused by stale context, or do the right thing for the wrong reason. Traces, evals, feedback, and audit surfaces give teams a way to improve the agent instead of guessing.</p><h3>Team readiness</h3><p>The individual developer path matters because bottom-up adoption is how many developer tools spread. Someone clones an app on a weekend, uses it for a real personal workflow, then brings it to work because it is already useful.</p>
<p>But the team layer still cannot be an afterthought.</p>
<p>Once a company has several agent-native apps, unmanaged autonomy becomes chaos. Who has access to which app? Which LLM key is being used? Which data can the agent read? Which actions require approval? How do you audit what happened? How do you share a workflow without making everything public?</p>
<p>Teams running agent-native apps eventually need team primitives: users, organizations, roles, permissions, shared workspaces, private-by-default data, auditability, and governance.</p>
<p>Open source templates make it possible to clone and build agent-native apps. As those apps spread inside a company, the architecture needs an operational layer for hosting, auth, database management, branching, provisioning, and controls.</p><h2>Why agent-native apps should be cloneable</h2><p>Cloneability is where the agent-native idea becomes practical for developers and teams.</p><p>SaaS products often make your own data feel rented. Your calendar, analytics, email history, support tickets, calorie logs, and customer records sit behind a vendor's product assumptions. You can export some of it, query some of it, automate some of it, and customize very little of it.</p><p>Agent-native apps push in the other direction: clone the software, own the code, own the database, and change the product when the default shape no longer fits.</p><p>At some point, many SaaS interfaces become walls around your own data.</p><p>That sounds abstract until you hit the first question the product did not anticipate. A calorie tracker might show you weekly trends, but not answer, "Which foods correlate with my worst sleep when I eat them after 8 p.m.?" A dashboard tool might show revenue by segment, but not run the exact exploratory analysis your team needs today. A SaaS email client might help you move faster, but it will not let you rebuild the inbox around your company's internal routing logic.</p><p>When you own the database and have an agent, you can ask questions the original developers never thought to answer.</p><p>That is the economic and practical argument for cloneable SaaS: full products you can clone, own, and reshape instead of endlessly subscribing to generic software. Cloneability is <a href="https://www.builder.io/blog/the-future-of-saas-is-cloneable" rel="noopener noreferrer" target="_blank">how agent-native software breaks out of one-size-fits-all SaaS</a>.</p><h2>Where agent-native fits in the software stack</h2><p>Once agent-native is defined, the comparison becomes more practical. SaaS, raw agents, and internal tools each give you something useful, but each leaves a gap. This table shows where those gaps appear: control, UI quality, agent access, customization, ownership, team readiness, observability, and cost.</p><p>Over time, applications an agent can fully operate will replace applications where AI can only talk about the work.</p>
<p>That does not mean every app becomes a text box. It means every serious app needs to expose its real capabilities to an agent while preserving the interface humans need to inspect, supervise, correct, and collaborate.</p><h2>What agent-native looks like in practice</h2><p>The easiest way to understand agent-native is to look at the kinds of products it makes possible.</p><h3>Email</h3><p>Traditional email clients optimize for faster human triage. Agent-native email changes the unit of work. You can still use the inbox manually, but the agent can also summarize threads, draft replies, apply labels, archive low-value notifications, route customer messages, and pull relevant context from connected systems.</p>
<p>You can try this pattern in the <a href="https://www.agent-native.com/templates/mail">agent-native mail template</a>: a familiar inbox you can clone, customize, and operate with an agent.</p><h3>Analytics</h3><p>Traditional analytics tools make teams define dashboards, queries, charts, and permissions through a UI. Agent-native analytics lets you ask for a dashboard in natural language, inspect the result visually, then ask follow-up questions against the same underlying data.</p>
<p>The point is not just "chat with your data." The point is that the chart, the query, the dashboard, and the agent's analysis all belong to the same application. The agent can build the dashboard, and you can edit it.</p>
<p>You can try this pattern in the <a href="https://www.agent-native.com/templates/analytics">agent-native analytics template</a>.</p><h3>Calendar</h3><p>Calendar software is already full of repetitive agent-shaped work: find a time, reschedule this meeting, protect focus blocks, propose slots to a customer, coordinate across teammates, and follow up when nobody responds.</p>
<p>An agent-native calendar gives you a real calendar UI while giving the agent the ability to manage scheduling through the same actions. It can also talk to other apps, such as email or contacts, because scheduling rarely lives inside the calendar alone.</p>
<p>You can try this pattern in the <a href="https://www.agent-native.com/templates/calendar">agent-native calendar template</a>.</p><h3>Clips</h3><p>Video and screen-recording tools are inherently shareable. When someone sends a clip, the recipient sees the product in the act of consuming the content. That is why this category spreads naturally.</p>
<p>An agent-native clips app can preserve that viral loop while making the workflow programmable. The agent can help cut, summarize, title, organize, and route videos, while you still have a normal interface for recording and sharing.</p>
<p>You can try this pattern in the <a href="https://www.agent-native.com/templates/clips">agent-native clips template</a>.</p><h3>Video</h3><p>Agent-native video turns motion graphics into software the agent can operate. Instead of opening a heavy editor for every change, you can describe an animation: add a title card, retime this section, change the easing curve, render an MP4, or create a new composition.</p>
<p>The UI still matters. You still need a timeline, preview, controls, and export state. But the agent can manipulate the same composition model directly. That is the agent-native pattern: natural language control without losing the product surface.</p>
<p>You can try this pattern in the <a href="https://www.agent-native.com/templates/video">agent-native video template</a>.</p><h2>How to get started with agent-native</h2><p>There are two practical paths.</p>
<p>The individual path is to clone a template at <a href="https://www.agent-native.com/templates">www.agent-native.com/templates</a>, use your own LLM key, and try it on a real workflow. Email, calendar, analytics, clips, video, content, forms, and other templates are useful because they start from software you already understand. The blank canvas problem disappears when the agent lives inside a working app.</p>
<p>The team path starts when a template becomes valuable enough to share. The question shifts from "Can I use this myself?" to "Can my team trust this?" That requires hosting, database management, auth, permissions, branching, governance, and shared key provisioning. <a href="http://builder.io/">Builder.io</a> is the team layer for that step: a way to host, share, govern, and manage agent-native apps once they move beyond a personal clone.</p>
<p>Clone a template this weekend. Use your own API key. The agent is already there.</p><h2>Frequently asked questions</h2><h3>What is an agent-native application?</h3><p>An agent-native application is one where the UI and the agent are two surfaces over the same product. If you can create, edit, approve, delete, search, schedule, or publish something in the interface, the agent should be able to perform that same action through the application's own action model, with the same permissions and auditability.</p><h3>How is agent-native different from AI-native?</h3><p>AI-native means AI is central to the product. Agent-native is more specific: the product is built so an AI agent and a human-facing UI share full access to the application's capabilities. An AI-native product may be only a chat interface. An agent-native product combines agent power with a durable app interface.</p><h3>What is agent UI parity?</h3><p>Agent UI parity is the principle that anything the UI can do, the agent can do too. If you can archive an email, create a dashboard, schedule a meeting, or render a video, the agent should be able to perform the same action through the same underlying application capability.</p><h3>What programming stack do agent-native apps use?</h3><p>The stack depends on the framework and template, but the important pattern is that application actions are defined once and exposed to both the UI and the agent. In practice, an agent-native app commonly combines a modern web UI, a database the owner controls, typed actions, and agent protocols such as MCP.</p><h3>Is agent-native only for enterprises?</h3><p>No. Agent-native adoption should start with individual developers because personal workflows are the fastest way to prove value. Enterprise needs appear later: team permissions, shared keys, governance, auditability, hosting, and compliance. The same app model should support both paths.</p><h2>TL;DR</h2><ul><li>Agent-native applications are built so humans and AI agents operate the same app.</li><li>The core principles are agent UI parity, one shared action model, shared state and context, protocol readiness, and governed execution.</li><li>Agent-native is more specific than AI-native because it requires both agent capability and a real human-facing interface.</li><li>Cloneable apps change the economics: own the code, own the data, and use one LLM key across many apps.</li><li>SQL-backed workspace resources, automations, runtime tools, progress, and observability make agent-native apps stronger as they grow.</li><li>The open source framework and templates are the starting point. Team governance, hosting, auth, and sharing can come later without changing the core model.</li></ul>
<p>The next version of the apps you use every day will be agent-native. The question is whether you clone them, build them, or wait for someone else to define the category.</p>
<p>Explore templates at <a href="https://www.agent-native.com/templates">www.agent-native.com/templates</a>. They are free and open source.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/agent-native-architecture">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/36e4f30e2c41458398792ac7b7e9f661" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/36e4f30e2c41458398792ac7b7e9f661"/>
        </item>
        <item>
            <title><![CDATA[Agent Productivity Is Creating a Quality Debt]]></title>
            <link>https://www.builder.io/blog/agent-productivity-is-creating-a-quality-debt</link>
            <guid>https://www.builder.io/blog/agent-productivity-is-creating-a-quality-debt</guid>
            <pubDate>Fri, 08 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[AI writes more code than your review process was designed to handle. Why every PR now needs an agent who opens your product and uses it.]]></description>
            <content:encoded><![CDATA[<p><em>AI writes more code than your review process was designed to handle. Why every PR now needs an agent who opens your product and uses it.</em></p>
<p>For twenty-five years, software teams optimized around one assumption: code was expensive to write. That single fact shaped every process we built. Teams planned carefully, spec'd thoroughly, and designed before anyone touched a keyboard. By the time a developer started writing, every decision had been pressure-tested through meetings, documents, and design reviews. The cost of writing the wrong code was high enough to justify all that overhead.</p>
<p>That assumption no longer holds. AI agents now turn ideas into working code in minutes. A bug report can be fixed before the standup ends. A PM's idea can become a working prototype before the spec gets written. In the most aggressive shops, agents open as many PRs in a week as the whole engineering team.</p>
<p>So the constraint moved. Writing code used to be the slow, expensive step in the lifecycle, and the cost of doing it has fallen close to zero. The slow step now is something that always took time and always will: knowing whether the code actually works.</p><h2>The shape of the new gap</h2><p>When a human engineer writes a feature, they test it as they build. They clicked through the flow. They tried the edge cases. They knew, in their hands, that the thing worked before they pushed. Review was a second pair of eyes on a piece of code that already had a careful set of eyes.</p>
<p>Agent-generated code arrives at review without that step. The agent writes the diff and runs the unit tests. The product itself stays unopened. Nobody fills out the form. Nobody watches what happens when the network call fails. Nobody notices the empty state is broken. The code looks right. It compiles. The tests pass. Then a customer hits a bug nobody walked through.</p>
<p>This is the failure mode of the agent-native shift. The industry's response so far has been to add more code review at the diff layer. AI code reviewers read the diff. Coding assistants reason about the changes. These tools are real improvements, and most teams <a href="https://www.builder.io/blog/best-ai-tools-2026"><u>should use them</u></a>. They cover the layer the human engineer used to cover by reading their own code, which means they catch the things a careful diff would catch.</p>
<p>What stays uncovered is everything that only shows up once the product runs. Buttons that don't fire, forms that submit empty, redirects that 404, error states that nobody designed. None of that shows up in a diff. It shows up when something uses the product in a real browser with real interactions, which is exactly the step that gets skipped when agents are doing the writing. The kind of thing nobody scripted because nobody thought it would break.</p><h2>The review job that doesn't scale</h2><p>Every team has someone who clicks through every PR before it merges. Sometimes it's a QA engineer. Sometimes it's the developer who opened the PR. Sometimes it's whoever's free that day. The job is always the same: open the change, walk the flows, look for what broke.</p>
<p>That job worked when ten PRs landed a day. It struggles when a hundred do, and it falls apart when half of those PRs come from agents acting on tickets, Slack threads, and customer feedback the human reviewer never saw. Volume is one part of the problem. Context is another. The reviewer doesn't have what the agent had: the customer message in Slack, the ticket the PM filed, the conversation that led to the change. They have a diff, a description, and forty-five seconds before the next PR lands.</p>
<p>So most teams quietly let it slide. They write end-to-end test suites for the critical paths and hope the rest holds. They rely on customer bug reports as the real QA layer. They ship faster than they ever have and absorb a steady trickle of regressions as the cost of doing business in the AI era.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F4bcd88a11bf04eb3b9027109676dbff9?width=780" alt="A two-by-two grid labeled &quot;What the bill looks like&quot; displays four common software development challenges, each marked with a red X. The boxes are labeled: &quot;shipping anxiety,&quot; &quot;brittle test suites,&quot; &quot;customer-found bugs,&quot; and &quot;can't justify AI ROI." /><p>This is the bill for <a href="https://www.builder.io/blog/the-backlog-problem-ai-didnt-solve"><u>agent productivity coming due</u></a>. Faster generation paired with the same review capacity means more behavioral coverage gets skipped on every PR, and the compounding effect is already visible: shipping anxiety on every frontend change, brittle test suites that nobody trusts, customer-found bugs creeping up, and engineering leaders who can't tell their CFO whether the productivity gains from AI are real or whether they're being paid back in support load and churn.</p><h2>Why the existing toolbox leaves a gap</h2><p>The natural response to this is to reach for what's already in the toolbox. Most teams have unit tests, integration tests, and end-to-end suites for critical flows. Many added an AI code reviewer in the last twelve months. A few have tried wiring up browser automation themselves, giving an agent the primitives to drive a browser and see what happens.</p>
<p>Every one of these layers carries weight in a modern codebase, and each has a defined edge for what it covers. The hole opens in the same place each time. Here's what each layer covers, and where it stops:</p><p>The pattern is consistent. Each layer covers a slice of the problem, leaving a widening gap in behavioral coverage every time an agent opens a PR. Scripted suites only catch what someone took the time to script. Code review agents work at the wrong layer for the failure mode that matters now. DIY browser automation gives an agent the primitives to drive a browser, and turning that into coordinated coverage across a team's PRs means building flow inference, a severity policy, a replay viewer, and PR integration on top. Underneath all of it sits a question about engineering time: building QA infrastructure pulls that time away from shipping product, and most teams that go down that road find their bespoke version drifts out of sync with the rest of their stack within a quarter.</p><h2>Agents need to use the product</h2><p>Something has to walk through the product on every PR. The volume of changes has exceeded what humans can absorb, which means something has to act as an agent.</p>
<p>What that agent does sits at the behavior layer of the stack, one rung up from where diff-reading agents work today. It opens the product in a real browser. It clicks. It types. It walks the flows the change touches, and reports what broke, with enough evidence that a human reviewer can verify the finding in seconds. This is the layer that's been missing from agent-native development, and it's the layer we built <a href="https://www.builder.io/blog/announcing-quality-review-agent"><u>Quality Review Agent</u></a> to fill.</p>
<p>On every PR your team opens, Quality Review Agent spins up a real browser, loads your product, and uses it. It reads the PR title, description, and diff to figure out what changed, then walks the change end-to-end across three layers of coverage:</p>
<ul><li><strong>Critical flows.</strong> The happy path for whatever the change touches. If a PR modifies a checkout step, the agent walks through the checkout process.</li><li><strong>Edge cases.</strong> Empty states, invalid input, rate limits, error paths. The boring failure modes that humans skip when they're tired, and the suite skips when nobody scripted them.</li><li><strong>Regressions.</strong> Whether this change broke anything nearby. A tweak to a dashboard filter re-tests the charts that depend on it.</li></ul>
<p>When the run is complete, the agent posts what it found back to the PR, including a video replay, network calls, and console logs synced to the timeline. Every flagged bug comes with the receipts: a frame-by-frame replay showing exactly what broke, with the failed network request and the console exception at the right second. The reviewer scrubs to the moment it fired, sees the agent's reasoning at that step, and decides whether to merge or fix.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fce4cb7fbfd354ffdb0c2a7b308001269?width=780" alt="A Builder Bot interface displaying a progress log of 12 test cases for a sales dashboard, showing individual status checks, video replay timestamps, and reasoning logs for automated quality assurance on a pull request." /><p>Code review and quality review cover different layers of the same PR, which is why teams need both to run. Both run in parallel, so the total latency tracks the slower of the two, and full behavioral and code-level coverage on every change comes without slowing the team down.</p>
<p>When a flagged bug comes back, anyone on the team can resolve it. Every finding has a "Fix in Builder" button that lets the person closest to the problem describe the fix in plain English, hand it to the agent, push the update to the same branch, and re-run. The PM who opened the ticket can fix the copy themselves. The designer who refined the layout can fix the spacing. The engineer reviewing the diff can fix the architecture. The work doesn't bottleneck on whoever happens to own the code path.</p><h2>Why the trust layer must scale with generation</h2><p>Agent-native development is still early enough that most of the conversation is about the generation side. Faster code, more PRs, more roles contributing. The trust side moves more slowly through the news cycle because the breakdown is slow, too. Regressions trickle in. Customer-found bugs creep up. Engineering leaders start hedging when the CFO asks about productivity gains. The compounding cost is real, showing up in support load and churn over months, in small recurring damage that rarely makes the headlines.</p>
<p>The teams that get ahead of this build the trust layer alongside the generation layer. A code review agent on every PR. A quality review agent on every PR. Both run in parallel, giving the human reviewer the receipts they need to merge or fix in seconds. The work that used to take a human reviewer an hour now takes them two minutes, and the work that used to be skipped entirely now happens by default.</p>
<p>This is the bet behind Quality Review Agent, and the bet behind the rest of <a href="https://www.builder.io/blog/builder-2-0"><u>Builder</u></a>. The first wave of the platform was collaboration: putting designers, PMs, and engineers on the same branch, working from real code, with real components. Quality Review Agent is the next layer of the same thesis. Once a team is shipping code from across roles and across agents, trust becomes the live question on every PR. Did this work, in a real browser, the way a customer is going to use it? An agent doing the work humans used to do, at the volume the platform now produces, is how we answer that question on every PR.</p>
<p>The teams that win the AI-native era will be the ones shipping the most working software. With code generation as abundant as it is now, the deciding factor is whether all that generated work reaches users in working order. The trust layer is how we get there.</p>
<p><a href="https://www.builder.io/blog/announcing-quality-review-agent"><em><u>Check out the announcement</u></em></a> <em>on Builder’s Quality Review Agent, and <a href="https://www.builder.io/blog/announcing-quality-review-agent"><u>sign up for free</u></a> to try it on your own codebase.</em></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/agent-productivity-is-creating-a-quality-debt">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/49bf269ffb5f456791a580d46179f3bd" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/49bf269ffb5f456791a580d46179f3bd"/>
        </item>
        <item>
            <title><![CDATA[How to Create Free, On-Brand LinkedIn Carousels]]></title>
            <link>https://www.builder.io/blog/how-to-create-on-brand-linkedin-carousels-for-free</link>
            <guid>https://www.builder.io/blog/how-to-create-on-brand-linkedin-carousels-for-free</guid>
            <pubDate>Wed, 06 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[LinkedIn carousels crush on the feed and are miserable to make. Here's a free, on-brand way to generate them in minutes — built on Agent Native.]]></description>
            <content:encoded><![CDATA[<p>LinkedIn carousels (PDF "documents") are one of the highest-performing native formats on the platform — and one of the most annoying things to actually produce. The constraints break every normal slide tool: they have to be <strong>1:1 or 4:5</strong>, every frame has to read like a <strong>billboard</strong> on a phone screen at arm's length, and the whole set has to stay on-brand across 8–10 slides. Your options today are Canva (manual and slow), generic AI deck tools (off-brand, wrong aspect ratio, very "slide-deck-brained"), or a designer (slow and expensive).</p>
<p>Here's a faster path: open the <strong>Agent Native Slides</strong> template, point it at your design system, drop in the source material you want the carousel to be about, and prompt it. Free.</p>
<p>This is a concrete example of <a href="https://www.builder.io/blog/the-future-of-saas-is-cloneable">our take on cloneable, agent-native software</a> — instead of bending a generic SaaS app to your brand, you clone a small, focused template and wire it into your own context.</p><h2>The 4 steps</h2><h3>1. Open the Agent Native Slides template</h3><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fd7a291f3117e4755ae08cf698ada1d31?width=780" alt="The Agent Native Slides interface featuring a slide editor showing a presentation about builder roles, with a Try It button highlighted by a large red arrow below the application description." /><p>Easiest path: open the hosted version at <a href="https://slides.agent-native.com"><strong>slides.agent-native.com</strong></a> and start in the browser.</p>
<p>Prefer to run it locally? One command:</p><pre><code>npx @agent-native/core create my-slides-app --template slides</code></pre><p>More on the template and how it's wired together in the <a href="https://www.agent-native.com/templates/slides">Agent Native Slides template page</a> and the <a href="https://www.agent-native.com/docs/">getting started docs</a>.</p><h3>2. Sign in to Builder for free credits (or bring your own Anthropic key)</h3><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F232a4545a0ba4dd5839d27e4330ffdc4?width=780" alt="Settings menu in the Agent Native application showing a successful connection to Builder.io." /><p>In the agent panel, click <strong>Connect Builder.io</strong>. You'll get free credits to use Claude (Opus/Sonnet) and free hosting — no API key juggling. This is the recommended path for most people.</p>
<p>If you'd rather use your own quota, paste an Anthropic API key instead. Both paths are covered in the <a href="https://www.agent-native.com/docs/">onboarding &amp; API keys docs</a>.</p><h3>3. Point it at your design system (or design inspiration)</h3><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F3951f02443e74ccebea8c508448ef8af?width=780" alt="The Agent Native Slides interface, showing a sidebar menu with &quot;Design Systems&quot; selected and a large, central card displaying a plus icon to add a new design system." /><p>Drop a link or file into the chat that defines what "on-brand" means for you. Anything works:</p>
<ul><li>A link to your design system docs</li><li>A Figma URL</li><li>A brand PDF or one-pager</li><li>A GitHub repo</li><li>Screenshots of carousels you like</li></ul>
<p>The agent uses these as <strong>style reference only</strong> — colors, typography, spacing, rendering technique. It will not copy scenes or content from them.</p>
<p>Then tell it the rules LinkedIn actually cares about, in plain English:</p><blockquote><p>Use a <strong>1:1 aspect ratio</strong> for every slide. Use <strong>billboard typography</strong> — one big idea per frame, large type, minimal supporting text. Stay on-brand using the design system above.</p></blockquote><p>This is the part every generic AI deck tool gets wrong. Lock it in once.</p><h3>4. Drop in the source material and prompt the carousel</h3><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F4d6155c2c50d4612a33137713a4e742d?width=780" alt="Agent Native Slides interface showing a presentation editor with a large red arrow highlighting the Try It button. Settings menu in the Agent Native application confirming a successful connection to Builder.io. Agent Native Slides sidebar menu showing the Design Systems selection page with a prompt to add a new design system." /><p>Paste the link or document the carousel is <em>about</em> — a blog post, an internal memo, a podcast transcript, a PDF, anything. Then prompt it. A copy-pasteable starting point:</p><blockquote><p>Turn [this article] into a 7-slide LinkedIn carousel. 1:1 aspect ratio. Billboard typography — one big idea per slide, max 12 words on screen. On-brand using the design system above. Slide 1 is a hook. The last slide is a CTA.</p></blockquote><p>From there, iterate conversationally:</p>
<ul><li><em>"Make slide 3 bolder."</em></li><li><em>"Swap the color scheme to the secondary palette."</em></li><li><em>"Tighten slide 5 to 6 words."</em></li><li><em>"Add a slide between 4 and 5 with the key stat."</em></li></ul>
<p>The agent and the canvas update live. Export to PDF, upload to LinkedIn as a document, done.</p><h2>Why this works</h2><p>This isn't "a slide app with AI bolted on the side." The agent and the UI are one system, both reading and writing the same deck against your real brand context. Because the whole thing is an open template, you <strong>own the tool</strong>: fork it, hard-wire LinkedIn-specific defaults (aspect ratio, typography rules, your brand tokens, your footer), and you've solved this problem permanently for your team.</p>
<p>That's the <a href="https://www.agent-native.com/docs/">agent-native</a> shape — small, cloneable, opinionated apps wired directly to an agent and to your context. The carousel tool is one example. You can build the next one yourself in an afternoon. More on the why in <a href="https://www.builder.io/blog/the-future-of-saas-is-cloneable">The future of SaaS is cloneable</a>.</p><h2>Try it</h2><ul><li><strong>Make a carousel now:</strong> <a href="https://slides.agent-native.com">slides.agent-native.com</a></li><li><strong>Read the deeper why:</strong> <a href="https://www.builder.io/blog/the-future-of-saas-is-cloneable">The future of SaaS is cloneable</a></li><li><strong>Build your own template:</strong> <a href="https://www.agent-native.com/docs/">Agent Native docs</a></li></ul>
    <h5><i>Read the <a href="https://www.builder.io/blog/how-to-create-on-brand-linkedin-carousels-for-free">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/7972debc5458442ea2abd412e559c6b6" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/7972debc5458442ea2abd412e559c6b6"/>
        </item>
        <item>
            <title><![CDATA[The Future of SaaS Is Cloneable]]></title>
            <link>https://www.builder.io/blog/the-future-of-saas-is-cloneable</link>
            <guid>https://www.builder.io/blog/the-future-of-saas-is-cloneable</guid>
            <pubDate>Wed, 06 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[AI is making internal tools cloneable: own, customize, and seamlessly connect analytics, cont ent, and workflows with agent-native apps built around your team.]]></description>
            <content:encoded><![CDATA[<p>For a long time, AI-coded software has had an obvious ceiling.</p>
<p>You could vibe code a demo polished enough to post to Twitter, like a dashboard, content editor, CRM, or half-working internal tool.</p>
<p>Then, you tried to use it. Daily.</p>
<p>Things would break. You'd try to fix them with the AI, but the second pass made it worse than before. The data model was wrong. The UI got fragile. The agent couldn't really tell which parts mattered, and what looked like a product turned out to be mostly a screenshot.</p>
<p>Thing is, that's starting to change.</p>
<p>Better coding agents, app patterns, and ways to connect agents to real interfaces and data are making some internal apps useful enough to keep improving and use day to day.</p>
<p>It's definitely not for every enterprise workflow, and not every compliance-heavy system where reliability, support, and procurement matter more than customization. But for personal software, technical teams, and internal workflows, the line is moving.</p>
<p>AI is making it practical to own, customize, and connect the everyday software your team actually uses. SaaS isn't dead yet, but the moat is shrinking.</p><h2>Internal tools suddenly got real</h2><p>Let's look at a real-life example of this.</p>
<p>Teams are buried in data: product events, sales records, support tickets, call notes, billing systems, or a warehouse only three people really understand.</p>
<p>The usual SaaS answer is analytics software, which definitely helps, but the moment your exact dashboard doesn't exist, you're kinda screwed. You file a request, export a CSV, ask a data person, or settle for the closest chart.</p>
<p>So, what if you had a tool that worked out-of-the-box, but that you could own and customize the second you needed it to be different?</p>
<p>That's what we've been doing at my company with our own internal analytics app. Multiple teams are already using it for real work: sales can look for stalled accounts, support can inspect ticket patterns, product can ask where users drop off, and GTM can build event prep views from several systems.</p>
<p>The analytics team still owns the core tool. They define data sources, shared concepts, metrics, and dashboard patterns. And the app still has a UI, saved dashboards, and structure people can understand.</p>
<p>But when an exact view doesn't exist, anyone can ask the app's agent to just... make it. The agent can query any of our data sources, figure out which ones it needs to create the charts, and save a new dashboard that everyone can now use. It can actively adapt the app around how our team works.</p><video muted autoplay loop playsinline controls>
      <source src="https://cdn.builder.io/api/v1/file/assets%2FYJIGb4i01jvw0SRdL5Bt%2F20bd883113064561ab30f89e84c4064e" type="video/mp4">
    </video><p>The app stays stable where stability matters. The agent flexes where the workflow needs flexibility.</p>
<p>That's different than your traditional chatbot bolted onto SaaS. It's more like having a portable Claude Code with a fully dynamic UI. It's a different relationship between the user, the app, the data, and the agent.</p>
<p>We've been calling it <a href="https://builder.io/blog/agent-native-apps">agent-native apps</a>.</p><h2>The old SaaS way of doing things is dying</h2><p>SaaS usually wins because building polished software is really, really hard.</p>
<p>The bargain goes something like this. SaaS companies absorb the work most teams don't want to own: hosting, auth, databases, permissions, integrations, support, reliability, design, and a thousand other product decisions that actually make software usable.</p>
<p>In return, teams pay for the tool. Buying beats building because the alternative is becoming a software company for every little workflow.</p>
<p>SaaS also encodes product learning. Calendar apps, mail clients, and docs apps aren't just tables, simple wrappers, or naked text areas. SaaS companies spent years discovering the primitives that actually make these categories of software feel good to use.</p>
<p>But in order to figure all that out, SaaS has always had to operate at scale. And so the bargain has a cost: the software is generalized.</p>
<p>It has features you don't need, lacks the exact feature you want, integrates (but not deeply enough), and offers AI only in that vendor's chosen shape. This isn't a failure of SaaS so much as just the nature of the generalized software beast.</p>
<p>A mail client has to work for sales, support, founders, recruiters, executives, writers, and even folks who just learned that a double click doesn't mean pressing both mouse buttons. Analytics has to satisfy teams asking vastly different questions.</p>
<p>And that's a tradeoff we all accepted, because building your own version was obviously too expensive. But SaaS has already taught us the useful primitives of each category. If AI makes it easy to clone those primitives without inheriting the vendor's one-size-fits-all assumptions, then the math changes.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F549c2000958c4409a7b26a1dc0ac1825?width=780" alt="A hand-drawn diagram comparing the old SaaS bargain, where multiple teams squeeze into one generalized app, with a cloneable agent-native model where a stable SaaS primitive is customized with AI and team data." /><p>It's no longer a question of only, "Which SaaS tool should we buy?" It's also, "Which workflows are specific enough to us that owning and customizing the tool would give us significant gains?"</p><h2>Cloning SaaS workflows doesn't mean making slop forks</h2><p>There is an obvious bad version of this future: <a href="https://www.builder.io/blog/ai-slop-forks">the slop fork</a>.</p>
<p>In the slop fork version, AI copies the surface area of a product without understanding the constraints that make it work. It copies the UI, routes, database shape, and demo interactions, but when you actually try to use it, it feels... overloaded. It's hard to parse what anything does or means. It's not built from first principles.</p>
<p>That's because software isn't a visible feature list. Mature products are packed with invisible judgment: defaults, permissions, sync behavior, recovery flows, keyboard behavior, data models, and edge cases that only look obvious after years of use.</p>
<p>Asking AI to implement a SaaS clone shouldn't be, "Hey, reverse engineer this for me." Instead, you need to understand the stable primitives of the workflow you need and then customize from there.</p>
<p>Templates can really help with this, and lately my team has been <a href="https://www.agent-native.com/#templates">open sourcing a bunch of the most helpful bits of our internal tools</a>, to help folks get started. They're free to use. You just need an AI subscription to something like Cl</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F2f32149221a44af38b2d4e9c40699155?width=780" alt="A grid of six product templates available for customization: Mail, Calendar, Content, Slides, Video, and Analytics. Each card features a screenshot of the respective interface, a description of the tools it can replace or augment, and two buttons for &quot;Try It&quot; or &quot;Run Locally." /><p>A good template <em>should</em> be generic. It's just there to capture the basic shape of the category that SaaS has been defining for decades. For instance:</p>
<ul><li>Mail needs inboxes, threads, accounts, and fast triage.</li><li>Content needs documents, editors, comments, and sharing.</li><li>Analytics needs queries, dashboards, charts, saved views, and metric context.</li><li>Forms need questions, responses, branching, and exports.</li></ul>
<p>Once those primitives are captured in a cloneable template, you can focus on what you want to customize about that stable base instead of reinventing the wheel. Let the agent add custom actions, data integrations, dashboards, automations, shortcuts, and workflow-specific UI.</p>
<p>That's the difference between slop forks and useful clones. Slop copies everything badly. Useful clones start with the basics and only add what you need. They become yours over time.</p><h2>Agents + UI is way more powerful</h2><p>A basic cloned app is useful. An <a href="https://www.builder.io/blog/agent-native-architecture" rel="noopener noreferrer" target="_blank">agent-native cloned app</a> is where things get way more exciting.</p><p>The old AI pattern was to bolt a chatbot onto an existing product. It could answer questions, summarize, draft, or trigger a few narrow actions, but it didn't really share the UI's context or operate the same workflows a human could.</p><p>Agent-native apps start from a different premise: the agent and the UI are one system.</p><p>The UI gives us humans (👋) a structured surface to work in: dashboards, timelines, tables, documents, canvases, inboxes, and forms. The agent gets access to the app's actions, state, and context, so it can see what changed, understand what object is selected, and choose the operation that would actually help.</p><p>The UI gives the workflow a repeatable shape. The agent gives that shape flexibility.</p><p>A cloneable mail client is useful. A cloneable mail client with an agent that understands your inbox, CRM context, calendar, team, and preferred workflows is a different kind of tool.</p><p>The same pattern applies to content, analytics, clips, slides, forms, calendars, video editors—whatever. Once the agent is native to the app, even a basic interface becomes a way to expand what the model can do.</p><p>For instance, I'm writing this article in an agent-native content tool (Notion clone), where I can press one button to publish to our blog when I'm done, and the app will report back to me on the article's success or failure. Wildly helpful stuff.</p><h2>Owned data makes the app smarter</h2><p>Customization isn't even the biggest advantage of owned, team-specific software. The biggest advantage is all the context you can give the app and agent.</p>
<p>Generic SaaS knows only the data it is allowed to know. Your own app can start from the data the workflow actually needs.</p>
<p>An email client can see the relationship, deal status, and likely need behind a message. Our analytics app can build an event-prep view by pulling together account data, call context, and internal notes that normally live in separate systems.</p>
<p>The content workspace I'm writing in can understand the publishing pipeline, brand constraints, SEO research, articles, and performance data. Internal linking stops being a scavenger hunt; the tool shows me, in one place, every article linked from a draft, then suggest related pages by conversion signal.</p>
<p>This is where generalized SaaS starts to feel strange. If your team has the data, and AI can turn it into interfaces and automations, why trap every workflow inside a vendor's product assumptions?</p><h2>A2A makes apps a network</h2><p>Traditional SaaS integrations depend on vendor incentives. Companies aren't always motivated to make products work deeply with competitors, and even good integrations reflect the vendor's flows.</p>
<p><a href="https://www.builder.io/blog/a2a-protocol">A2A</a> gives agent-native apps another path: apps can talk directly across team workflows. If I have an analytics question while writing content, I can just ask from the content workspace. Slides can turn Gong calls into a pitch deck. Mail can ask Calendar for availability.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fc99b5b03856c4747b44bc167748e8546?width=780" alt="A hand-drawn A2A diagram showing a content or slides app using an A2A registry to find owned workflow apps for analytics, CRM, support, and mail or calendar context, then returning context and actions to create a final artifact." /><p>Suddenly, the simple primitives feel more like legos. Your individual cloned apps become a software graph.</p>
<p>If you own the apps, protocols, and data flow, you don't have to negotiate between vendors for the integrations you need. It's just part of the architecture.</p><h2>Where enterprise SaaS still makes sense</h2><p>This isn't an argument that every company should replace every SaaS product with AI-coded internal tools. Stability, compliance, support, procurement, security, permissioning, trust, and long-term maintenance all still matter.</p>
<p>But agent-native apps don't need to beat enterprise SaaS everywhere. They just need to be specific, owned, and stable enough for personal workflows, internal tools, and technical-team workflows.</p>
<p>That stability gap isn't gone yet, but it's closing fast with <a href="https://www.builder.io/blog/best-ai-tools-2026">this latest generation of AI coding tools</a>. And the customization gap is already enormous. When the rented tool is stable but misfit, and the cloned tool is stable enough but shaped around the work, more teams will choose the tool that fits.</p><h2>Make software that fits you better</h2><p>The future of SaaS isn't that every product disappears. It's that more software becomes something you can own, reshape, and connect—especially as more folks make better and better open source templates.</p>
<p>We've been working on that here with our <a href="https://www.agent-native.com/">agent-native cloneable templates</a> for the categories teams already rent: mail, calendar, content, slides, video, analytics, clips, design, forms, a Dispatch control plane, and a minimal Starter scaffold. They map to familiar Superhuman, Gmail, Calendar, Notion, Docs, Pitch, Looker, Loom, Figma, Canva, and Typeform-style workflows.</p>
<p>So, pick a workflow that's been annoying you lately, or a tool you're tired of paying for. Clone the closest template, try it with real work, connect the data that matters, and ask the agent to shape the app around how you actually operate.</p>
<p>If it helps, keep shaping it. If it breaks, <a href="https://github.com/BuilderIO/agent-native">open an issue</a>. If you improve it, send a PR.</p>
<p>And if the idea clicks, feel free to star the repo, <a href="https://discord.gg/9w5J9RBTP">join the Discord</a>, and help define what agent-native software should become.</p>
<p>With any luck, the next generation of software won't be a thousand subscriptions we juggle. It'll be tools we clone, customize, and make fit.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/the-future-of-saas-is-cloneable">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/4062331c74334d44af4f02b43be8a399" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/4062331c74334d44af4f02b43be8a399"/>
        </item>
        <item>
            <title><![CDATA[6 Best GitHub Copilot Alternatives in 2026]]></title>
            <link>https://www.builder.io/blog/best-github-copilot-alternatives</link>
            <guid>https://www.builder.io/blog/best-github-copilot-alternatives</guid>
            <pubDate>Tue, 05 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Six GitHub Copilot alternatives that make sense after the June 2026 pricing change. Cursor, Builder.io, Claude Code, Codex, Windsurf, and Zed compared.]]></description>
            <content:encoded><![CDATA[<p>If you're on annual Copilot Pro+, your Sonnet 4.6 multiplier just went from 1x to 9x. Opus 4.6 went from 3x to 27x. All of it bills starting June 1, 2026, when <a href="https://github.blog/news-insights/company-news/github-copilot-is-moving-to-usage-based-billing/">GitHub's usage-based billing</a> replaces the flat-fee model. Base prices stay the same and code completions stay free, but everything agentic now meters by the token.</p>
<p>By the end of this post you'll have a confident pick from six AI coding tools that make sense at the new prices.</p><h2>Cursor</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F95c38de3d9dc4cb69a35ab4a5ff96e5b?width=780" alt="Cursor editor window displaying an AI agent interface with a &quot;Build Landing Page&quot; task, code diffs for a TSX file, and a secondary CLI console for monitoring project metrics." /><p>Cursor is the AI-native IDE most developers leaving Copilot land on first, a VS Code fork with first-party agent mode (Composer 2), cloud-run background agents, and Tab autocomplete the community has called best-in-class since 2024.</p>
<p><a href="https://www.cursor.com/">Cursor</a> is a VS Code fork. Tab autocomplete runs on the Supermaven model Cursor acquired in 2024 (Supermaven itself is sunsetting; the tech now powers Cursor's predictive editing). Composer 2 handles multi-file agent runs, and Cloud Agents spawn parallel runs in remote sandboxes so you don't tie up your laptop.</p>
<p><strong>Key features:</strong></p>
<ul><li>Tab autocomplete</li><li>Agent mode for multi-file changes</li><li>Cloud Agents for parallel runs in remote sandboxes</li><li>Codebase indexing with @-mentions for context</li><li>All major models supported (Claude, GPT-5.5, Gemini, Grok)</li><li>51.7% SWE-Bench solve rate versus Copilot's 56.0%</li></ul>
<p><strong>Best for:</strong></p>
<ul><li>Developers wanting a familiar VS Code feel plus deeper agent mode</li></ul>
<p><strong>Pricing:</strong></p>
<ul><li>Hobby (Free): limited Tab completions and limited Agent requests</li><li>Pro $20/month: usage-based credit pool drawn against your model spend (the older fast-vs-slow request tiering retired in June 2025)</li><li>Pro+ $60/month</li><li>Ultra $200/month</li></ul>
<p><strong>Bottom line.</strong> The default community pick. For a one-for-one Copilot replacement that goes further on agentic work, start here. For the head-to-head against Claude Code, read our <a href="https://www.builder.io/blog/2026-02-09-claude-code-vs-cursor-what-to-choose-in-2026/">Claude Code vs Cursor comparison</a>.</p><h2>Builder.io</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F2ee6060add4e402781732fbc5ec3834a?width=780" alt="Diagram showing how Builder.io connects project managers, designers, and quality assurance testers to developer workflows using npx commands to push code changes to and pull updates from a centralized, collaborative workspace." /><p><a href="https://www.builder.io/">Builder.io</a> is the only entry on this list built for whole teams. It's a collaborative workspace where designers, product managers, and engineers work alongside parallel AI agents, and where engineers approve every change before it ships. Where the rest of this list is a single-developer coding assistant, Builder is a multiplayer layer on top of whichever one you pick.</p>
<p>Solo coding has never been faster. The handoff from designer to engineer to QA has never moved more slowly in comparison. Cursor and Claude Code make individual developers faster but they don't let a designer push a real component change or a PM update copy without filing a ticket. Builder.io collapses that handoff. Designers, PMs, and engineers contribute inside the same workspace; agents run in parallel; engineers gate the merge.</p>
<p><strong>Key features:</strong></p>
<ul><li>Multiplayer workspace: designers, PMs, engineers, and agents in one branch</li><li>Massively parallel agents: spawn dozens of agent runs in cloud containers without contending for your laptop</li><li>Design-to-code workflow: Turns Figma into production React, Vue, Svelte, Angular, Qwik, Solid, HTML, React Native, Kotlin, or Flutter</li><li>Engineer-gated merge: every agent change ships only after a developer approves it'</li></ul>
<p><strong>Best for:</strong></p>
<ul><li>Teams whose bottleneck is team-wide shipping and not individual developer speed</li></ul>
<p><strong>Pricing:</strong></p>
<ul><li>Free: 5 users, 15 daily / 60 monthly Agent Credits</li><li>Pro: pay-as-you-go ($25 per 500 Agent Credits)</li><li>Team: $40/user/month</li><li>Enterprise: custom seats and Agent Credits</li></ul>
<p><strong>Bottom line.</strong> Pick Builder.io when you want a team-wide workspace where designers, PMs, and engineers work alongside parallel AI agents, and where engineers approve every change before it ships.</p><h2>Claude Code</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F9a22d1f1737a44aea8ff8d0348add48c?width=780" alt="Claude Code homepage showing the text &quot;Built for engineers&quot; with a command line installation prompt and a list of partner company logos." /><p>Claude Code is Anthropic's agentic coding tool. It runs in your terminal, in VS Code or JetBrains, in the desktop app, or on the web, bundled with Claude.ai Pro or billed per token.</p>
<p><a href="https://www.claude.com/product/claude-code">Claude Code</a> started as a terminal-first agent and has grown into a multi-surface tool. It still runs as a CLI command (the spiritual home for terminal-native engineers), and ships first-party VS Code and JetBrains extensions, a desktop app, and a web client. The differentiator is shape: Claude Code stays out of your editor. It runs as an agent that reads files, runs commands, and opens PRs, then steps aside.</p>
<p><strong>Key features:</strong></p>
<ul><li>Terminal-first agentic CLI with VS Code, JetBrains, Desktop, and Web surfaces</li><li>MCP support, sub-agents, routines, scheduled tasks</li><li>GitHub Actions integration for CI-driven runs</li><li>Sonnet 4.6 and Opus 4.7 (the models powering most agent benchmarks today)</li><li>Direct access to Anthropic models without provider markup</li></ul>
<p><strong>Best for:</strong></p>
<ul><li>Engineers who treat AI as a junior collaborator on multi-step tasks</li><li>Anyone already paying for Claude.ai Pro or Max (Claude Code is included)</li></ul>
<p><strong>Pricing:</strong></p>
<ul><li>Bundled with Claude.ai Pro ($20/month) or Max (from $100/month, with a higher tier above)</li><li>Pay-per-token: Sonnet 4.6 input $3/MTok, output $15/MTok; Opus 4.7 input $5/MTok, output $25/MTok</li></ul>
<p><strong>Bottom line.</strong> The most powerful single-developer agent on this list. Pair it with Builder.io when the work crosses from "coding alone" to "shipping as a team."</p><h2>Codex</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F30eb1516de9b4c00b9b29e67f327fab2?width=780" alt="OpenAI Codex desktop application interface featuring a project thread view with a file diff editor showing proposed code changes and buttons for open and commit actions." /><p>Codex is OpenAI's desktop command center for agentic coding. The desktop app runs on macOS and Windows, and is built for supervising multiple long-running coding agents across local folders, isolated worktrees, and cloud environments.</p>
<p><a href="https://openai.com/codex/">Codex</a> is OpenAI's coding agent, but the desktop app is the part worth separating from the CLI and IDE extension. The <a href="https://developers.openai.com/codex/app">Codex app</a> gives you a dedicated workspace for project threads, diff review, Git operations, automations, and skills. It is closer to an agent operations console than a code editor: you choose a project, start a Local, Worktree, or Cloud thread, review changes in the app, comment on diffs, and commit, push, or open a PR without switching tools.</p>
<p><strong>Key features:</strong></p>
<ul><li>Native desktop app for macOS and Windows</li><li>Parallel project threads for running multiple Codex tasks side by side</li><li>Local, Worktree, and Cloud modes for choosing where the agent works</li><li>Built-in Git diff review, inline comments, staging, commit, push, and PR creation</li><li>Integrated terminal scoped to each thread or worktree</li><li>Automations for scheduled recurring tasks</li><li>Skills support shared across app workflows</li><li>Windows-native sandboxing; Computer Use for macOS GUI tasks</li></ul>
<p><strong>Best for:</strong></p>
<ul><li>Developers who want to supervise multiple agent runs from a dedicated desktop app</li><li>Teams already using ChatGPT plans and wanting OpenAI's first-party coding agent without living in an editor fork</li></ul>
<p><strong>Pricing:</strong></p>
<ul><li>Free $0/month and Go $8/month: Codex included for a limited time</li><li>Plus $20/month: focused Codex usage with access to the latest models and higher limits than Free/Go</li><li>Pro from $100/month: 5x or 20x higher Codex usage than Plus</li><li>Business: pay as you go, with larger virtual machines, admin controls, and credits-based extension</li><li>Enterprise / Edu: custom access with priority processing, audit logs, analytics, data controls, and enterprise security</li></ul>
<p><strong>Bottom line.</strong> Pick Codex if you want a desktop app for orchestrating many coding agents, not another editor. It is strongest when your workflow is "start parallel agent threads, review diffs, and ship from one command center."</p><h2>Windsurf</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F6746b96361e143428649bf257a8ca540?width=780" alt="Windsurf IDE website homepage featuring a dark blue interface with a download button for macOS, an explore features button, and a promotional header announcing Windsurf 2.0." /><p>Windsurf is Cognition's AI-native IDE, a Cursor-shape product with a more generous free tier. Teams pick Windsurf over Cursor mostly for budget; agent mode and model selection are broadly comparable.</p>
<p><a href="https://windsurf.com/">Windsurf</a> is a VS Code-style fork with Cascade (Windsurf's in-editor agent), Tab autocomplete, Supercomplete intent prediction, and SWE-1.5, Windsurf's proprietary model that ships alongside the major closed-source ones. (Codeium rebranded to Windsurf in April 2025; Cognition acquired the company in July 2025.)</p>
<p><strong>Key features:</strong></p>
<ul><li>Cascade in-editor agent, Tab autocomplete, Supercomplete intent prediction</li><li>SWE-1.5 (Windsurf's proprietary model)</li><li>All major premium models supported (Claude, GPT-5.5, Gemini)</li><li>Generous free tier refreshing daily and weekly</li></ul>
<p><strong>Best for:</strong></p>
<ul><li>Developers wanting a VS Code-style editor with a more generous free tier</li><li>Mixed-model shops (Windsurf supports all premium models)</li></ul>
<p><strong>Pricing:</strong></p>
<ul><li>Free: refreshing quota daily and weekly (no expiration)</li><li>Pro $20/month</li><li>Max $200/month</li><li>Teams $40/user/month</li></ul>
<p><strong>Bottom line.</strong> Pick Windsurf if Cursor's $20 Pro plan feels expensive and you want a similar shape.</p><h2>Zed</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F9afb36b22a41424390e8201bac5707b3?width=780" alt="Zed code editor interface showing a project file tree, chat interface with an agent discussion about accessibility support, and a code editor window with TypeScript code." /><p>Zed is the fastest AI editor on this list, a Rust-native, GPU-accelerated editor from the ex-Atom and Tree-sitter team that runs agentic edits via an open Agent Client Protocol (ACP) and ships Edit Prediction powered by Zeta2, an open-weights model. Zed hit 1.0 on April 29, 2026 after five years of cross-platform development. Philosophy: "out-of-your-face" AI that hides until you ask for it.</p>
<p><a href="https://zed.dev/">Zed</a> is built in Rust by Nathan Sobo, Antonio Scandurra, and Max Brunsfeld, the team behind Atom, Electron, and Tree-sitter. No Electron under the hood; GPU shaders drive sub-millisecond input latency at 120 FPS. ACP makes Gemini CLI a first-class native agent and lets Zed host Claude Agent, Codex, and Cursor through official adapters. Edit Prediction runs on Zeta2, an open-weights next-edit model. Zed is actively developing <a href="https://zed.dev/blog/sequoia-backs-zed">DeltaDB</a>, a pre-GA CRDT sync engine that tracks every change at character granularity.</p>
<p><strong>Key features:</strong></p>
<ul><li>Edit Prediction (Zeta2): open-weights next-edit model, hidden by default, surfaces only when a modifier is held.</li><li>Agent Client Protocol (ACP): open standard for hosting any agent. Gemini CLI runs natively; Claude Agent, Codex, and Cursor run through official adapters; community ACP agents install from a registry without plugins.</li><li>Parallel Agents and Agent Metrics dashboard: run multiple AI threads across projects, track adoption and turn times for engineering ROI.</li><li>Native development tooling: Git, DAP debugger, LSP, multibuffer editing, remote development, Jupyter REPL, Dev Containers, vim/Helix bindings.</li><li>Disable-AI one-click: turn off all AI features for regulated environments or pure-editor workflows.</li></ul>
<p><strong>Best for:</strong></p>
<ul><li>Developers who want the lowest-latency editor on the list (native Rust, no Electron)</li><li>Teams that prefer "out-of-your-face" AI hidden until asked, the opposite of Cursor's always-on overlay</li><li>Open-source-leaning developers who want an open-weights edit-prediction model (Zeta2) and an open agent protocol</li></ul>
<p><strong>Pricing:</strong></p>
<ul><li>Free / Personal $0 forever: 2,000 accepted edit predictions/month, plus unlimited use with your own API keys or external agents</li><li>Pro $10/month: unlimited edit predictions, $5 monthly token credits, usage-based billing at API list price + 10%, with a configurable spending cap. Two-week trial includes $20 token credits.</li><li>Student: Free Pro for university enrollees for 12 months ($10/month token credits, unlimited predictions)</li><li>Zed for Business: centralized billing, role-based access controls, team management; SSO, usage analytics, and data-privacy guarantees on the Enterprise tier</li></ul>
<p><strong>Bottom line.</strong> Pick Zed if input latency, native performance, and open AI architecture matter more than the absolute-best autocomplete (Cursor still leads there). Zed is the editor for developers who want AI on tap, only when asked.</p><h2>How to pick the right GitHub Copilot alternative?</h2><p>If your team's bottleneck is collaboration, pick Builder.io. For the closest one-for-one Copilot replacement, pick Cursor. For the most powerful single-developer agent on hard problems, pick Claude Code. For a desktop command center that supervises parallel coding agents, pick Codex. For the strongest free tier from a Cursor-shape product, pick Windsurf. For the fastest editor with native Rust performance and open AI architecture, pick Zed. The right tool maps to the shape of your work.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/best-github-copilot-alternatives">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F7bcca99c01484e3780be3cf3d7b429a2" length="0" type="image//api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F7bcca99c01484e3780be3cf3d7b429a2"/>
        </item>
        <item>
            <title><![CDATA[Announcing Quality Review Agent: Agentic QA on Every PR]]></title>
            <link>https://www.builder.io/blog/announcing-quality-review-agent</link>
            <guid>https://www.builder.io/blog/announcing-quality-review-agent</guid>
            <pubDate>Thu, 30 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Quality Review Agent opens your product in a real browser on every PR and uses it like a customer would. Pairs with code review for full PR coverage.]]></description>
            <content:encoded><![CDATA[<p>Your team is shipping more code than ever. Code review agents can read the diff and flag what they find right in the PR, but they don't open your product, click a button, or fill out a form.</p>
<p><strong>Today we're launching Quality Review Agent.</strong></p>
<p>For every PR your team opens, an agent loads your product in a real browser and uses it the way one of your customers would. It clicks. It types. It walks every flow the change touches. A code review runs alongside the same diff. You've got full coverage on every PR.</p><h2>An agent that uses your product on every PR</h2><video muted autoplay loop playsinline controls>
      <source src="https://cdn.builder.io/o/assets%2FYJIGb4i01jvw0SRdL5Bt%2F1cbe01dc0e274e9ca215167791a1990f?alt=media&token=1dcd6a58-afad-4ab9-abb1-4f51963f9767&apiKey=YJIGb4i01jvw0SRdL5Bt" type="video/mp4">
    </video><p>Quality Review Agent spins up a browser on every PR. It clicks, types, and navigates through the change and every surface it affects, and checks that it works.</p>
<p>Coverage runs at three layers:</p>
<ul><li><strong>Critical flows:</strong> The happy path for the change itself.</li><li><strong>Edge cases:</strong> Empty states, invalid input, rate limits, error paths.</li><li><strong>Regression:</strong> Whether this change broke anything around it.</li></ul>
<p>The agent reads the PR title, description, and diff to decide what to test. A tweak to a dashboard filter, for example, re-tests the charts that depend on it.</p>
<p>Every run posts a list of issues straight to the PR. Each flagged bug comes with a "Fix in Builder" button. Click it, describe the fix in plain English (or let the agent resolve it), and the update pushes back to the same PR for a re-run.</p><h2>Replays with reasoning, network calls, and console output</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fee10734f72494c008cba42d7cd6cc35f?width=780" alt="Quality Review Agent interface showing a sign-in form test being performed, with a sidebar listing test steps, a progress timeline, and a network activity panel below." /><p>Every flagged bug comes with the full run that produced it. The replay is a video of the agent walking through your product, with three panels synced to the timeline:</p>
<ul><li><strong>Agent reasoning.</strong> What it did and why, at each step.</li><li><strong>Network calls.</strong> Every request the agent triggered.</li><li><strong>Console output.</strong> Every log and error on the page.</li></ul>
<p>Scrub frame by frame to see exactly what the agent saw. Play it at 8x to skim the boring parts. Jump straight to the second a bug fired. At that exact frame, the network panel has the failed request and the console has the exception.</p><h2>Paired with code review for full coverage</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fdf968922b8264e94a0fea7bf004e4ff7?width=780" alt="A GitHub pull request comment showing a code diff and a bot-generated suggestion to fix a null comparator issue in a TypeScript file." /><p>Pair Quality Review Agent with a code review on the same PR. High-severity blocks a merge. Medium gets a reviewer's eyes before approval. Every flagged issue has a "Fix in Builder" button.</p>
<p>Between Functional Testing and Code Review, every change gets a full first pass before a human reviewer looks at it.</p><img src="https://cdn.builder.io/api/v1/image/assets/TEMP/109e96ea21252b82d1e31b1b1b1f63aae2ee6009b7262745e0c6b253fa5e21d2?placeholderIfAbsent=true&width=24" alt="" /><p>Quality Review Agent runs on GitHub PRs. Support for GitLab, Bitbucket, and Azure DevOps is on the way.</p><h2>Catch bugs before the PR even opens (coming soon)</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F37846158e08c4448b001b54731aca6f7?width=780" alt="Diagram showing the flow between a local development environment and the QA agent, where code is pushed using npx builder.io push and the agent returns an automated QA report containing video, bugs, network, and console data." /><p>Today, Quality Review Agent runs the moment a PR opens. Soon you can trigger it on a local branch from wherever you code, whether that's Claude Code, Codex or Cursor.</p>
<p>The agent runs against your code and sends back a report with the video, bugs, network calls, console output, and a single command to fix all issues found.</p><h2>Full coverage on every PR</h2><p>Every PR your team opens gets a real-browser run and a code review on the diff. The person who caused an issue can fix it in Builder, whether that's the PM, designer, or agent who opened the branch.</p><p><a href="https://builder.io/signup?showQualityReview=true" rel="noopener noreferrer" target="_blank">Try Quality Review Agent</a></p><p>Scaling across a large team? <a href="https://www.builder.io/unlock-enterprise" rel="noopener noreferrer" target="_blank">Request an enterprise trial</a></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/announcing-quality-review-agent">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fe42e8676bf51402a8c72b41b666ed492" length="0" type="image//api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fe42e8676bf51402a8c72b41b666ed492"/>
        </item>
        <item>
            <title><![CDATA[When Agents Work for the Whole Team]]></title>
            <link>https://www.builder.io/blog/when-agents-work-for-the-whole-team</link>
            <guid>https://www.builder.io/blog/when-agents-work-for-the-whole-team</guid>
            <pubDate>Fri, 01 May 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[When every role can prompt agents, validate in real time, and move work forward directly, the handoffs stop piling up. Here's what that looks like in practice.]]></description>
            <content:encoded><![CDATA[<p><em>When every role can prompt agents, validate in real time, and move work forward directly, the handoffs stop piling up. Here's what that looks like in practice.</em></p>
<p>When companies adopt AI coding tools, the workflow usually looks like this: developers gain access, individual contributor productivity increases, and delivery timelines remain flat. AI made developers faster at the one step they already owned, and left everything around that step exactly as it was.</p>
<p>The teams closing the gap between AI promise and actual delivery throughput are taking a different approach. They're putting agents in the hands of the whole product team, not just the engineers.</p><h2>What the standard workflow is actually costing you</h2><p>The standard product workflow is sequential by design. A PM defines the work, a designer shapes it, an engineer builds it, and QA validates it. Each step waits for the previous one to finish, and each handoff carries a queue. This structure made sense when it was built because code was genuinely expensive to produce. Every change had to flow through the one function that could produce it. Everything before coding was prep work, meant to ensure engineers didn't have to recode anything once they got started.</p>
<p>That assumption is now outdated. Agents can produce working code from a prompt, and the cost of generating a first implementation has dropped close to zero. The question is no longer whether your team can afford to code something; it's who gets to write the prompt.</p>
<p>When only developers interact with agents, the sequential structure stays intact. Designers file redlines and wait for engineers to interpret them. PMs write specs that sit in sprint backlogs. QA waits until something is nearly finished before testing it. Engineers field clarification questions that interrupt their focus. Making the coding step faster doesn't change any of that. The workflow moves quickly in one narrow lane and at the same pace everywhere else.</p>
<p>This is why<a href="https://www.builder.io/blog/ai-wont-save-your-development-process"> <u>delivery metrics stay flat for most organizations after AI adoption</u></a>. Individual velocity improved. The handoffs didn't.</p><h2>What changes when the whole team has access</h2><p>When every role can interact directly with agents, the sequential structure begins to collapse. A designer can refine spacing and interactions directly in code without having to file a redline. A PM can turn a ticket into a working prototype without opening a Jira comment thread. QA can reproduce a bug, prompt a fix, and verify it in the same session. None of that work needs to touch an engineer until it's already been reviewed and validated by the people who would have generated rework cycles anyway.</p>
<p>The mechanics of this shift are worth walking through concretely, because the abstract version undersells how much it changes the actual experience of building software.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F3d6ce185661944b69ce779d64e7bceeb?width=780" alt="A diagram showing a central &quot;Live Branch&quot; icon connected to three roles: a Designer who fixes layout and spacing, a QA specialist who finds edge cases and prompts fixes, and a PM who shares previews and makes copy changes. All three roles interact bi-directionally with the live branch." /><p>A product idea comes in. A PM kicks off an agent on the real codebase, gets a working implementation, and shares a preview link with the team. There's no spec document. There's no ticket waiting in a sprint backlog. There's a live branch with running code that anyone on the team can open in a browser. From there, the work moves in parallel:</p>
<ul><li>A designer opens the branch in a visual editor, fixes the layout, adjusts component spacing, and confirms the interaction behavior matches what was intended.</li><li>QA steps through the flows, finds an edge case, and prompts a fix.</li><li>The PM shares the preview with a customer, collects feedback, and makes a copy change on the spot.</li></ul>
<p>By the time the branch reaches an engineer for final review, it has already been through design QA, functional testing, and a real-user feedback loop. The engineer reviews code, approves what ships, and moves on. They never opened a redline document. They never responded to a Slack message asking them to clarify a spec. They never fixed a spacing issue that a designer could have handled in thirty seconds with the right tool.</p>
<p>This is what <a href="https://www.builder.io/blog/builder-2-0"><u>multiplayer AI development</u></a> actually means in practice. Every role moves work forward in the medium they understand. A designer who spots a spacing problem fixes it in the visual editor. A PM who has a copy change makes it directly in the branch. QA who finds an edge case prompts the fix and verifies it on the spot. None of those work routes through engineering.</p><h2>Why context is the precondition</h2><p>None of this works if agents are generating generic code. A PM who prompts a change and gets back output that ignores your component library or overrides your design tokens hasn't saved anyone time. The work still lands on engineers, just in a worse form than if the engineer had built it from scratch.</p>
<p>The precondition for everything described above is context. Agents need to know your real system: your components, your tokens, your architectural patterns, and the reasoning behind decisions your team has already made. Builder indexes your codebase directly, reads your Figma component maps, and builds a model of how your design system actually works, not an interpretation of what it looks like, but a full understanding of the relationships between components, tokens, and patterns. When that context is in place, AI output matches your codebase from the first generation. Designers can refine it without having to deal with foreign component names. QA can test it against real behavior. Engineers can approve it without rewriting it first.</p>
<p>Context also shapes the feedback loop. When a PM builds a working prototype using your actual design system, stakeholder and customer feedback focus on something that looks and behaves like your real product. When a designer makes a refinement in a live branch, the refinement that goes to review is the actual change, not an approximation that an engineer would need to interpret. Every step that uses real context produces outputs that don't require translation before the next step can begin.</p>
<p>This is the mechanism that collapses the handoff cost. Every role can participate without creating downstream cleanup work for the people who come after them. It's <a href="https://www.builder.io/blog/fix-the-workflow-not-the-headcount"><u>why teams that try to stitch together disconnected tools</u></a> — a coding agent here, a design handoff tool there — still end up with the same queues they started with. Integrated context across the full workflow is what makes the difference.</p><h2>What this means for engineering teams specifically</h2><p>There's a version of this that sounds threatening to engineering teams, and it's worth addressing directly. Giving non-engineers the ability to write to a codebase raises legitimate questions about code quality, adherence to the design system, and what happens to standards when people who don't fully understand the system start making changes.</p>
<p>Engineers don't lose control in this model; they gain a better-defined scope of what that control actually means. Engineers retain merge authority. Nothing ships without their review. What changes is what the review contains by the time it reaches them.</p>
<p>When every role contributes through a workflow with structured approval stages, engineers receive pull requests that have already been reviewed by the people with the most context on what the change was supposed to do. The designer confirmed it looks right. The PM confirmed it behaves correctly. QA confirmed it doesn't break anything obvious. The engineer reviews the code itself, not its intent. That's a significantly smaller and more valuable scope of work than reviewing everything from scratch while also fielding questions about what the spec actually meant.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F9bd661a9b04d4b938bd5b38fa389a2da?width=780" alt="A diagram contrasting product development workflows. The &quot;Before&quot; side shows a stack of documents—spec doc, redlines, Slack questions, and a spacing ticket—with a label indicating the engineer handles all of it. The &quot;After&quot; side shows a Pull Request checklist with confirmed design, QA testing, and PM approval, with a label indicating the engineer reviews the code only." /><p>Senior engineers didn't become senior engineers because they're good at moving buttons. They became senior engineers because they're good at making hard technical decisions, maintaining system integrity under pressure, and spotting the kinds of problems that only become visible at scale. A workflow that keeps their attention on those problems and routes everything else to the people better positioned to handle it is a better use of their time. Teams that have made this shift describe <a href="https://www.builder.io/engineering-teams"><u>engineers finally focusing on architecture and hard problems</u></a> rather than translating specs into pixels.</p><h2>The org-level delivery change</h2><p>Organizations that adopt this model tend to describe the experience the same way: they stop feeling like engineering is the bottleneck and start feeling like the whole team is building together.</p>
<p>Features move from idea to production faster because the feedback loop starts earlier and runs in parallel. Fewer changes require rework at the end because each step is validated in context by the people with the most relevant expertise. Engineers spend more of their time on work that's genuinely hard and genuinely interesting, which matters for retention and for the quality of what they build.</p>
<p>The gap between AI's promise and delivery narrows as the workflow finally matches its capabilities. AI made code generation fast. Taking advantage of that requires redesigning the workflow around it. When every role can drive agents, prompt changes, and move work forward without waiting for someone else's queue to clear, the full pipeline becomes fast, not just one step in it. The <a href="https://www.builder.io/blog/new-path-from-prototype-to-production"><u>path from prototype to production</u></a> shortens because validation occurs continuously rather than at the end.</p>
<p>Every enterprise has the same graveyard of failed AI POCs. They promised speed. They delivered rework. The difference between those projects and the ones that actually change delivery throughput is almost always the same: whether AI was given to one function or built into how the whole team works together.</p>
<p>The handoff era isn't fading; it's over.</p>
<p><em>If your team has adopted AI tools and delivery timelines haven't moved, the workflow is the problem. Builder puts agents in the hands of your entire product team, connected to your real codebase, design system, and existing review process.</em></p>
<p><a href="https://beta.builder.io/signup"><em><u>Start building for free</u></em></a><em>, or <a href="https://www.builder.io/m/demo"><u>talk to our team</u></a>.</em></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/when-agents-work-for-the-whole-team">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/0d5889a396454438a67976b1b7d3aec7" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/0d5889a396454438a67976b1b7d3aec7"/>
        </item>
        <item>
            <title><![CDATA[Claude Design Review: An Innovative Way to Brainstorm with AI]]></title>
            <link>https://www.builder.io/blog/claude-design</link>
            <guid>https://www.builder.io/blog/claude-design</guid>
            <pubDate>Wed, 29 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Claude Design review: see how Anthropic’s AI tool helps brainstorm with questions, tweaks, and annotations, plus where it falls short for production work.]]></description>
            <content:encoded><![CDATA[<p>So, is Figma dead yet?</p>
<p>I spent a few days with Anthropic’s new tool, Claude Design, to figure out that answer.</p>
<p>And the thing is, Claude Design isn’t really trying to be Figma. Or Lovable, for that matter. It's more just… a design workspace, where iteration feels more like whiteboarding than prompt engineering.</p>
<p>I’m pleasantly surprised. The good stuff is genuinely good: a canvas that asks you questions, generates multiple design options, gives you sliders to tweak instead of re-prompting, lets you annotate directly, and bundles everything up for your coding agent of choice when you're ready to build.</p>
<p>But it’s also an early product, with a lot of cruft. Claude Design is best at helping you figure out what a product <em>could</em> look like. It's much less useful once your designs need to live inside real, changing applications. (But no worries, I'll cover how to work through that at the end.)</p><h2>What Claude Design is</h2><p><a href="https://claude.ai/design">Claude Design</a> is a browser-based tool from Anthropic Labs for generating and iterating on visual work with Claude. They position it for prototypes, product concepts, decks, one-pagers, and marketing assets rather than app generation alone.</p>
<p>You can start from a prompt, upload assets, bring in documents, capture an existing website, or feed it codebase context. Claude then generates a visual project you can refine through chat, annotations, comments, direct edits, and even generated controls. Then, you export it or hand it off to your actual coding agent.</p>
<p>Claude Design is completely different from Claude Code.</p>
<ul><li>Claude Code is the agentic coding system that reads your local codebases, makes cross-file changes, runs tests, and delivers committed code.</li><li>Claude Design is a separate visual surface that produces a handoff bundle when you're ready to implement. (Design is actually a separate app that’s not bundled the Claude desktop app, which I found a bit disappointing for workflow.)</li></ul>
<p>Put simply, Claude Code is focused on devs, and Claude Design is focused on designers.</p><h2>Prompting with designers in mind</h2><p>My favorite thing about Claude Design is that it doesn't make every interaction feel like prompt engineering.</p>
<p>In my testing, I told it things as simple as “make me a new homepage” or “redesign the blog hero” and that was enough for it to get going.</p>
<p>Because after your simple prompt, it asks you questions. A lot of questions. This is more than just a quick question tool in the prompt window. Claude Design uses the entire canvas to give you a taste exam.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F1647bbd9ee4c48c1abac546f655cedeb?width=780" alt="Claude Design interface showing a browser window with a blog layout redesign project, featuring a workspace with configuration questions, layout options, and project settings." /><p>It’s a little thing, but I find the expanded interface, and the knowledge that there will always be lots of clarifications, where I have space to doodle my thoughts or select multiple answers to the same questions, to be very freeing.</p>
<p>And I found that the questions were very relevant to what we were designing, too.</p>
<p>This fits my design workflow. I don’t always know what I want when I’m starting at a text-heavy chat thread and a blank canvas. Instead of trying to describe the perfect result and know about all my context beforehand, I get to lean on the AI to do what it does best: go figure out the mundane things for me and just ask me about questions of taste.</p>
<p>And sometimes you just need the tool to show you a few directions, ask what feels right, and help you narrow the space. It’s less “type prompt, receive UI” and more like a guided creative process.</p><h2>Tweaks instead of re-prompting</h2><p>Another really interesting idea in Claude Design is the Tweaks panel.</p>
<p>When Claude generates a design, it also generates custom controls for that design: sliders, toggles, and adjustable parameters that let you change parts of the result without asking the model to regenerate everything. (If you’ve ever worked on video games, it’s a lot like building your own custom tooling to make assets.)</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fd1791dc4c4a84711a10e90c1c7d95bfc?width=780" alt="Claude Design interface displaying a prompt field and a series of clarifying questions in the canvas area. Claude Design interface showcasing the Tweaks panel with sliders and toggle controls for adjusting design parameters. Claude Design interface showing a UI hero section with a sidebar highlighting spacing and intensity adjustment sliders. A design workspace featuring a scratchpad area with handwritten annotations, arrows, and circles overlaid on the UI. Claude Design screen showing a UI component with comment pins and annotation bubbles indicating visual feedback. A CSS-style property panel in Claude Design showing specific controls like tracking, text size, and layout settings for a selected element. A comparison view in Claude Design showing four distinct layout variations of a landing page displayed side-by-side on the canvas. A setup interface for a design system in Claude Design showing configured brand typography, color palettes, and spacing values." /><p>I found this to be a genuinely cool interaction model. Most AI design tools make every refinement conversational. Want more spacing? Prompt the model. Want a darker background? Prompt the model. Want the hero to feel more editorial and less SaaS-y?</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fdcc4310599344a18bd616ce0ba808161?width=780" alt="Fred Armisen as a Venezuelan official in a Parks and Recreation scene, looking serious and holding a microphone, with a text overlay that reads &quot;BELIEVE IT OR NOT, PROMPT THE MODEL." /><p>Design, and especially design with AI, is about taste and restraint. Usually AI models go overboard (or don’t do enough) of whatever it is you tell them to do. So, being able to play with a slider that tweaks spacing or intensity in realtime if super helpful.</p>
<p>That said, the feature as it is today is still pretty buggy. Nobody has figured out how to do great generative UI yet, and Anthropic is no exception. Sometimes tweaks are mutually exclusive, and not all permutations actually react to your intent. And I often wanted more tuning parameters and less drastically different options.</p>
<p>But the product idea is strong: AI design tools should give designers tweakable ranges instead of hard answers.</p><h2>Visual feedback makes Claude Design feel designer-native</h2><p>Another thing AI design tools should let designers do is communicate visually with the model.</p>
<p>Claude Design’s scratchpad feature is a nice example here. It's a lightweight drawing surface available to you even when the agent is working (thanks to Claude Design’s tabbed workflow), then send your doodles to the agent as context.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F27e639861d5242ef97befa7ac9de1b8f?width=780" alt="Claude Design interface featuring a chat panel on the left and a whiteboard-style canvas on the right, with a hand-drawn sticky note being added to the workspace." /><p>Sometimes you don't want to describe a layout in paragraphs. You want to draw an arrow, circle an area, sketch a rough shape, and say, "more like this." For that, Design also lets you annotate and comment directly on the project.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F769db8673f9549d890662e459943a697?width=780" alt="A user’s browser window showing a design collaboration tool where a rectangular comment box is attached to a website header, displaying the text &quot;comments stick to elements&quot; alongside a &quot;Comment&quot; button and a &quot;Send to Claude&quot; button." /><p>In these ways, Claude Design feels genuinely designer-oriented. Instead of focusing on ways to type, it gives you ways to point.</p><h2>Edit mode doesn't quite give designers enough control</h2><p>Now, for the big one. As designers, we want to get our hands dirty and move things around ourselves on the page.</p>
<p>Here, I have to say, I’m both pleased and pretty disappointed.</p>
<p>On the one hand, Claude Design’s edit mode feels way more designer-oriented than most AI coding tools, using language like “tracking” instead of arbitrary CSS values that only devs know.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F403b065d590f45058891d477f788ab4e?width=780" alt="Interface showing a Claude Design project with a blog-style layout, side-panel property editors, and a post titled How to Build Agent-Native Applications." /><p>Plus, it limits what you can do by the element selected. If you select a simple sentence, you get font-related options. If you select a grid, you get layout options. Just because all options are available in code all the time doesn’t mean Claude Design shows you a massive panel of unrelated controls, like other tools. It shows the ones that you actually need.</p>
<p>All that said, what you can actually edit on the page is pretty limited. <strong>You can’t just grab elements and freely move them around like you would in Figma or Builder.</strong> For anything bigger than borders, colors, font options, and margins, you’re back to talking to the AI.</p>
<p>There’s a tension here. Claude Design has this great visual surface, but it’s not a flexible design canvas in the way you’d expect. You get *some *direct control, but not enough to get real design work done without resorting to a game of AI telephone.</p><h2>Multiple design options are great, but the canvas gets in the way</h2><p>The last really cool thing I appreciated about Claude Design is that it can generate multiple options per prompt turn and then lay them out on the same canvas for you to compare.</p>
<p>Sure, it takes the AI much longer to do (and uses way more tokens), but often, designing is about thinking outside the box, and I found it super helpful to tell the model to generate 4 vastly different-looking things for me to bounce ideas around.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F20a9a1cdbaf248198215aa637b4c384e?width=780" alt="Claude AI interface showing a web design workspace with a &quot;tweaks&quot; panel in the bottom right corner offering toggles for &quot;all four&quot; or &quot;one full-bleed&quot; design layouts." /><p>That said, the feature is currently buggy. When you get multiple design options generated, the canvas mode changes to a more traditional “pan around the page” design mode, and you can’t scroll or easily interact with the static-ish mocks it presents. (The tweak option in the bottom right of my screenshot was not working.)</p>
<p>Hopefully, this gets fixed soon, because as it is, the feature isn’t super usable.</p><h2>Claude Design feels early when you need production-level fidelity</h2><p>There’s several other rough edges in Claude Design, especially given it’s such a new product.</p>
<p>Figma support is one of the biggest examples. In my testing, I couldn’t work with the Figma MCP or individual Figma frames. I had to upload and entire .fig file, which is really awkward when I just wanted to bring over one flow, frame, or component state and then had to create a whole new file instead.</p>
<p>History and branching is another gap. There’s no way to go back in the AI chat history, which means that if the AI messes up your design, you’re stuck with it. Plus, I found that sometimes switching between commenting, annotating, editing, and other modes sometimes auto-sent things to the model before I was ready.</p>
<p>Overall, I felt a big lack of fine-grained control. It’s a frustrating tool once you’re ready to refine the design. **And, crucially, there’s no export to Figma. **This means you’re stuck with whatever you make.</p><h2>Claude Design breaks for team workflows</h2><p>Claude Design is a fast tool for design exploration and a genuinely innovative way for designers to work with AI. Other than the actual AI generations, which take minutes, clicking around the interface lets you hop between ideas quickly and narrow down the sometimes overwhelming space of design.</p>
<p>But it starts to fall apart is when you use it as part of a team working on an ongoing application.</p>
<p>Let me explain what I mean.</p><h3>Fast, but not persistent</h3><p>Claude Design feels so lightweight because no part of it is your real app. Even though it can reference your code, it can’t run it. It doesn’t sync your latest production code. It doesn’t preserve any relationship with your app as it changes.</p>
<p>If you’re doing a one-off concept, that’s not a problem. But it breaks over time.</p>
<p>Imagine you use Claude Design to explore a new marketing page, hand it off to your engineers, and then the site changes a bit over the next few months.</p>
<p>When you next come back to that same part of the product, you can’t just open up your old Claude Design project, because it won’t be a real representation of your app. You have to start fresh: new project, re-add context, generate from scratch again.</p>
<p>The problem here is that most product design isn’t net-new ideation. It’s returning to a surface that already exists, understanding what changed, making another iteration, and getting that change reviewed.</p><h3>Context isn't continuity</h3><p>The “start from scratch” wouldn’t be such a big problem if there were reliable ways to get your current application state into Claude Design in the first place.</p>
<p>For this, Claude Design has several options, in addition to screenshots and your own prompt engineering:</p>
<ul><li>Figma import.</li><li>Custom design system.</li><li>Code import.</li></ul>
<p>We already talked about some of the frustrations of the Figma import not being fine-grained enough and not having roundtrip back to Figma. But a bigger point is just… you’re adding another tool to a workflow that ideally wouldn’t need it.</p>
<p>Because if Claude Design *knew *your codebase and design system perfectly, you could use its AI to start from scratch without messing around in Figma.</p>
<p>So, let’s look at the design system features, which a lot of designers are really hyped about.</p>
<p>The setup flow is really straightforward, and Claude generates a basic design system references your brand’s typography, colors, and even spacing values. This part was easy to do.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F25a08efa12584e79a28a255239237fcf?width=780" alt="The Builder.io Design System interface in a web browser showing a file list of various font files and a selected CSS stylesheet named colors_and_type.css, with a sidebar for comments and a bottom section for uploading project assets." /><p>And in my testing, its generations produced something that looked directionally related to the product I gave it as context.</p>
<p>But there's a big difference between approximating a design system and working from the real one. The output doesn’t use our real code components. It has no 1:1 relationship with the existing implementation our team already worked hard on.</p>
<p><strong>The fidelity was maybe 50%-75% at best: close enough to feel relevant at a glance, but not close enough to trust as a production representation.</strong></p>
<p>And unfortunately, it’s the same with importing your code repository. Claude uses the code as <em>context</em>, but it doesn’t actually work inside your repo or run your app to look at the rendered state. It’s just glancing through the files to get the vibe.</p><h3>Handoffs are ugly</h3><p><strong>Because the code Claude Design generates doesn’t use your team’s stack, design tokens, or real components, it’s just a prototype.</strong></p>
<p>And that’s fine. Anthropic has said that Claude Design is meant to export to Claude Code, which can read a codebase, work in a real repo, make changes across files, run tests, and deliver code.</p>
<p>But realistically, <a href="https://www.builder.io/blog/claude-code-for-designers">Claude Code is hard for designers to use.</a> It’s powerful, but it’s a developer-oriented tool. It asks you to deal with local repos, dependency installation, environment variables, app preview servers, Git branches, commits, pull requests, syncing, and merge conflicts.</p>
<p>And if all that doesn’t scare you, then it makes way more sense just to start there anyway. Claude Design is an extra step that, frankly, sits in a really awkward middle spot between Figma and Claude Code.</p>
<p>You might as well stick to Figma.</p>
<p>Of course, most designers on a bigger team would want to use Claude Design and then hand off to engineers, much like you would from Figma.</p>
<p>This is fine, in theory, but no one really saved any time. Your engineers now have to recreate your implementation from scratch, which may divert from the existing design system in subtle ways. You’re back to <a href="https://www.builder.io/blog/designers-can-ship-without-engineering-handoffs">all the existing problems with design handoffs.</a></p><h2>A better design handoff exists</h2><p>We’ve thought about designers, AI, and handoffs and awful lot, and we’ve designed common workflows right into our product.</p>
<p>Claude Design is strong when you want to explore what should exist. <a href="https://builder.io/blog/fusion">Builder</a> is stronger when you need to safely change what already exists.</p>
<p>Builder connects to your team’s repo one time (devs can set this up), and then anyone on your team can access <a href="https://www.builder.io/blog/git-branching-for-designers">their own branches</a> with a live preview, a visual editor, and AI (Claude, GPT, whatever you like) that can see and manipulate your real app inside a safe sandbox.</p><video muted autoplay loop playsinline controls>
      <source src="https://cdn.builder.io/api/v1/file/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fb9db4e00f2d3442cb702b933edbed6d7" type="video/mp4">
    </video><p>Any changes you make use your real design tokens and real code components. And you can test them out against real data in your application.</p>
<p>When you’re done, you can tag in the proper team for review, and they can continue work on the same branch, making sure that you’re prototyping effort—the tokens, time, and taste you put in—don’t go to waste. No more design fidelity loss.</p>
<p>This also makes it far easier to make small design tweaks that would otherwise be backlogged for eternity. You might be browsing your team’s marketing site and notice a button that needs to move 2px to the left. Great. Just open the editor, move the button, and hit submit.</p>
<p>Your engineers always get final say, so you’ll never break production. You’re free to play around without worrying about jumping between a bunch of different tools. And if you do still want to <a href="https://www.builder.io/blog/turn-a-figma-landing-page-into-a-live-website">roundtrip with Figma</a>, that’s completely supported.</p><h3>You can still use Claude Design with Builder</h3><p>If you still want to use Claude Design, but you’re interested in Builder, <a href="https://www.builder.io/c/docs/integrate-with-claude-design">we also support importing your Claude Design projects</a> at any phase of your workflow.</p><h2>Claude Design is a hint at the future of design workflows</h2><p>Claude Design is genuinely innovative. It makes AI feel less like a blank chat box and more like a creative partner: one that can ask questions, generate options, expose sliders, accept annotations, and turn rough intent into something visual.</p>
<p>But the closer you get to production, the more the workflow depends on handoff: to a coding agent, to the repo, and to the team's review process.</p>
<p>Builder takes a different path. Instead of making a better artifact to hand off, it gives designers a visual way to work in the existing app, with the repo, preview, branch, and PR flow already handled.</p>
<p>Claude Design is for exploring what should exist. Builder is for safely changing what already exists.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/claude-design">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/dfc058ab42b241b2b9f1e8c1a471a079" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/dfc058ab42b241b2b9f1e8c1a471a079"/>
        </item>
        <item>
            <title><![CDATA[v0 Alternatives for 2026]]></title>
            <link>https://www.builder.io/blog/v0-alternatives</link>
            <guid>https://www.builder.io/blog/v0-alternatives</guid>
            <pubDate>Tue, 28 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Explore the best v0 alternatives for 2026, from Bolt and Lovable to Builder, Cursor, and Claude Code, for prototyping and real-world repo workflows today.]]></description>
            <content:encoded><![CDATA[<p>v0 is fast. You describe a UI, you get React and Tailwind, and you're iterating in seconds.</p>
<p>The catch is that the output lives inside v0. The shadcn-style components are nice, but the moment your prototype turns into a real product, you want that same speed <em>inside your own repo</em> — with a backend, a build pipeline, and a review workflow your team already trusts.</p>
<p>Usually, if you're looking for a v0 alternative, it's because you've outgrown component-by-component generation. You need a tool that can keep the prompt-driven speed, but stop pretending the UI is the whole app.</p>
<p>So, here are the options when you grow out of v0, or want a tool that does the same thing with a different workflow. I've grouped them by where you want to land after the prototype.</p><blockquote><p><strong>Skip the comparison if you already know what you want.</strong></p><p>If you're outgrowing v0 because the UI is great but the rest of your product lives in a real repo, <a href="https://www.builder.io/blog/builder-2-0?utm_content=ma-v0-intro">see what changed in Builder 2.0</a> — it's the v0-style prompt loop, but every change lands as a PR on a real branch.</p></blockquote><h2>Quick comparison table</h2><p>If you're skimming, here's the shape of each tool at a glance:</p><h2>What is v0?</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fcb6e3a9fd1cd4e3a982d974371d6149c" alt="v0 logo and brand mark consisting of a stylized, interconnected &quot;v&quot; and &quot;0&quot; design in white against a black background." /><p><a href="https://v0.dev/" rel="nofollow noopener">v0 by Vercel</a> is a prompt-to-UI generator. You describe a screen, and it returns a React component built on shadcn/ui and Tailwind, with an iframe preview you can keep refining in chat.</p>
<p>The reason it took off is the same reason designers love Figma autolayout: the loop is tight. You're not configuring a project — you're describing a UI, watching it render, and adjusting one prompt at a time. For a hero section, a settings page, or a dashboard sketch, it's hard to beat.</p>
<p>The reason people start looking for an alternative is also pretty consistent. v0 generates components, not applications. There's no real backend story, no native PR flow on top of an existing repo, and the project effectively lives on Vercel until you copy the code out and finish the wiring yourself. If you're past the "first screen" stage, that gap gets expensive.</p><h2>Hosted, v0-style prompt-to-app loops</h2><p>These are the closest functional substitutes — keep the prompt loop, swap who hosts it.</p>
<p><a href="https://bolt.new/" rel="nofollow noopener">Bolt.new</a> is StackBlitz's hosted AI IDE. You prompt, Bolt scaffolds a full-stack app in the browser (frontend, backend, sometimes a database), and you watch it run in a WebContainer next to the chat. It's the most v0-adjacent tool that also gives you a real file tree.</p><h2>Bolt.new</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F2ccb1e3469a9412da8582eaae24560b8" alt="Bolt.new logo text with the prompt What do you want to build? inside a glowing, dark-themed text entry box." /><p>Bolt leans heavier on code than v0 does — you'll see and edit files, not just a preview — but the loop is the same: describe, run, refine.</p><h3>What to like</h3><ul><li>Real full-stack output (React + Node, with deps installed in-browser)</li><li>One-click push to GitHub when you want to leave</li><li>Works on top of an existing repo, not just greenfield projects</li></ul><h3>Tradeoffs to expect</h3><ul><li>Token-based pricing burns fast on bigger apps</li><li>The WebContainer abstraction occasionally fights real-world deps</li><li>Less polished visual editing than v0's component canvas</li></ul><h3>Works well for</h3><ul><li>Prototyping a full-stack idea end-to-end before committing to local dev</li><li>Engineers who want v0's speed but with code visibility</li></ul>
<p><a href="https://lovable.dev/" rel="nofollow noopener">Lovable</a> is the prompt-to-app tool that everyone benchmarks against right now. You describe an app, you get a working app — frontend, auth, database wired up — running on a shareable URL in minutes.</p><h2>Lovable</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Ff88f7a83066444a4a605385ede2d7eb7" alt="Lovable brand logo featuring a stylized orange and purple heart shape above the company name, centered over a glowing blue and purple gradient background with a text input field at the bottom labeled Build something lovable." /><p>Compared to v0, Lovable is much more "ship the whole thing" and less "scaffold the UI." If v0 feels like a UI generator, Lovable feels like a hosted product team in a chat box.</p><h3>What to like</h3><ul><li>Genuinely impressive zero-to-demo speed</li><li>Visual editing on top of generated code</li><li>Two-way GitHub sync once you connect a repo</li></ul><h3>Tradeoffs to expect</h3><ul><li>The project is born inside Lovable; pulling it cleanly into your own stack takes work</li><li>Credits run out faster than you'd think on iteration-heavy projects</li><li>Heavier opinions on stack choices than v0</li></ul><h3>Works well for</h3><ul><li>Founders who want a working app, not just a UI</li><li>Anyone validating an idea before writing a line of code</li></ul><h2>Replit Agent</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F2493e2e2b0134f2f91c46ee0cb0a514e" alt="Replit logo featuring a stylized, orange, three-block geometric icon next to the word &quot;replit&quot; in white text on a dark blue background." /><p><a href="https://replit.com/" rel="nofollow noopener">Replit Agent</a> bundles an agent, an IDE, and a hosted runtime into one tab. You describe what you want, and the agent writes, runs, and debugs the app in a Replit workspace you can share.</p>
<p>Where v0 is component-shaped and Bolt is project-shaped, Replit is workspace-shaped. The agent is doing the work, but you're sitting in a normal-looking IDE while it does.</p><h3>What to like</h3><ul><li>Multi-language support out of the box (not just React/Next)</li><li>Live collaboration on the same workspace</li><li>Hosting and a database are <em>right there</em> — no separate setup</li></ul><h3>Tradeoffs to expect</h3><ul><li>Git exists, but isn't the native workflow</li><li>The agent can wander on bigger tasks; you'll babysit</li><li>Pricing is usage-based and a little hard to predict</li></ul><h3>Works well for</h3><ul><li>Backends, scripts, and data apps where v0's React-first frame doesn't fit</li><li>Teaching, demos, and anything that benefits from "click the URL, see the app"</li></ul><h2>A repo-first workflow that lets you ship more than UI</h2><p>This is the slot where v0 actually leaks customers — when the UI is great, but the rest of your product is in a real repo, and you want the same prompt-driven speed <em>there</em>.</p><h2>Builder</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F9bfc692ba9c04513ab0883937cf9ede5" alt="Builder interface showing a dashboard UI with labeled cursor pointers for a developer, a PM, and a designer, highlighting its multi-user workflow capabilities." /><p><a href="https://www.builder.io/?utm_content=ma-v0-section-lede">Builder</a> is the v0 prompt loop, but the output lands as a PR in your real repo. You connect a GitHub repo, Builder spins up a containerized dev environment from it, and you can prompt or visually edit your real app — components, pages, even backend code — with every change shipped as a pull request on a branch.</p>
<p>The framing matters: v0 generates UI in a sandbox, then asks you to copy it into your repo. Builder skips that step. The repo is the project. Prompts and visual edits are just two more ways to write code, alongside your normal editor and your normal CI.</p><h3>What to like</h3><ul><li>PR-first by design, so <a href="https://www.builder.io/blog/git-branching-for-designers">your existing review workflow</a> keeps working</li><li>A deep visual editor on top of your real components, not a v0-only sandbox</li><li>The same project can be edited via prompt, visual canvas, or your local editor — the <a href="https://www.builder.io/blog/agentic-ide">agentic IDE</a> sits on top of the real codebase</li></ul><h3>Tradeoffs to expect</h3><ul><li>The "real repo" framing means a tiny bit more setup than a hosted sandbox</li><li>Best fit when you actually want a long-lived codebase, not a throwaway demo</li><li>Credit-based pricing (predictable, but worth modeling for heavy AI use)</li></ul><h3>Works well for</h3><ul><li>Teams who want v0-style iteration speed without giving up code ownership</li><li>Designers and PMs editing the same repo engineers ship from</li><li>Marketing pages, product surfaces, and internal tools that need to live next to your real code</li></ul><blockquote><p><strong>Done copying components out of v0 into your repo?</strong></p><p>Builder runs the same prompt loop directly on your codebase — every change is a PR, every preview is your real app. <a href="https://www.builder.io/signup?utm_content=ma-v0-section-cta">Try Builder Fusion free →</a></p></blockquote><h2>For when you're ready to learn engineering</h2><p>These aren't really v0 alternatives — they're what v0 graduates use. If you've already shipped one prototype and you're tired of being naked without a code editor, this is the next step.</p><h2>Claude Cowork and Claude Code</h2><p><a href="https://www.anthropic.com/claude-code" rel="nofollow noopener">Claude Code</a> is Anthropic's file-and-repo-aware agent. Claude Cowork wraps it in a friendlier collaboration surface. Either way, the model is reading your real files, running commands, and editing code on disk — not generating from scratch in a sandbox.</p>
<p>This is a step up in concept-cost. You're not just describing a screen; you're describing changes to a real codebase. But once you make that jump, the leverage is <em>wildly</em> higher than what v0 can give you.</p><h3>What to like</h3><ul><li>Operates on your actual repo, not a sandbox copy</li><li>Excellent at multi-file refactors and "follow this pattern" tasks</li><li>Works alongside your normal Git workflow</li></ul><h3>Tradeoffs to expect</h3><ul><li>Comfort with reading diffs and managing branches is required</li><li>Usage-based pricing rewards thoughtful prompting</li><li>Less hand-holding than v0 for someone brand-new to web dev</li></ul><h3>Works well for</h3><ul><li>Engineers (or designers-becoming-engineers) who want an agent in their existing flow</li><li>Anything that touches more than just the UI layer</li></ul>
<p><a href="https://cursor.sh/" rel="nofollow noopener">Cursor</a> is the agentic IDE that ate a lot of VS Code's mindshare. It looks like a code editor because it <em>is</em> one — there's just an extremely capable model living inside it that can read your repo, edit files, and explain itself in chat.</p><h2>Cursor</h2><p>Where v0 is "I have a screen in mind, give me code," Cursor is "I have a codebase, help me move through it faster." Different surface area, different ceiling.</p><h3>What to like</h3><ul><li>Real IDE ergonomics, with all the muscle memory you already have</li><li>Strong multi-file edits and codebase-aware chat</li><li>Works on any local repo — no platform lock-in</li></ul><h3>Tradeoffs to expect</h3><ul><li>No visual canvas; you're reading code</li><li>Subscription pricing on top of your existing tooling</li><li>Steepest ramp of anything in this list for someone who's never written code</li></ul><h3>Works well for</h3><ul><li>Engineers who want AI in their existing IDE</li><li>Anyone tired of context-switching between v0 and their real editor</li></ul><h2>Keep the v0 speed, but ship more than UI</h2><p>If you're chasing that specific rapid UI iteration loop, Bolt.new and Lovable are the closest functional equivalents. They keep the flow, just on a different platform.</p>
<p>But if you're thinking about code ownership, real backends, and review workflows that survive past the demo, you probably want to start with your architecture in mind.</p>
<p><strong>My recommendation, for most of you reading this:</strong> <a href="https://www.builder.io/?utm_content=ma-v0-conclusion-lede">Builder</a>. It's the only tool on this list that gives you v0's prompt-driven iteration speed <em>and</em> lands every change as a PR in the repo your team already ships from. If you've outgrown v0 because the output doesn't live anywhere your real product does, that's the gap Builder closes.</p>
<p>If you want something else:</p>
<ul><li>Use <a href="https://bolt.new/" rel="nofollow noopener"><strong>Bolt.new</strong></a>, <a href="https://lovable.dev/" rel="nofollow noopener"><strong>Lovable</strong></a>, or <a href="https://replit.com/" rel="nofollow noopener"><strong>Replit Agent</strong></a> when you're okay with the project living its life mostly inside a hosted <strong>prototype</strong>.</li><li>Use <a href="https://www.anthropic.com/claude-code" rel="nofollow noopener"><strong>Claude Code</strong></a> or <a href="https://cursor.com/" rel="nofollow noopener"><strong>Cursor</strong></a> when you're ready to level up and <strong>become a software developer</strong> in earnest.</li></ul>
<p>Speed matters. But a pretty UI is just the first 10% of shipping a real app.</p>
<p><a href="https://www.builder.io/signup?utm_content=ma-v0-conclusion"><strong>Try Builder free →</strong></a></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/v0-alternatives">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/49c1441053e6468e96e60dec9cf9bf96" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/49c1441053e6468e96e60dec9cf9bf96"/>
        </item>
        <item>
            <title><![CDATA[Setting Up a New Claude Code Project: The Complete Guide]]></title>
            <link>https://www.builder.io/blog/setting-up-claude-code-project</link>
            <guid>https://www.builder.io/blog/setting-up-claude-code-project</guid>
            <pubDate>Fri, 24 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Set up Claude Code the right way in 15 minutes. Covers installation, CLAUDE.md, MCP servers, skills and best practices from daily use.]]></description>
            <content:encoded><![CDATA[<p>Most Claude Code setup guides still tell you to run <code>npm install</code>. That method is deprecated. The native installer requires no Node.js at all, and the real setup work starts <em>after</em> installation. Configuring CLAUDE.md, skills, and MCP servers turns a generic AI assistant into one that knows your codebase.</p><p>I've been using Claude Code daily for months. The difference between a default setup and a properly configured one is night and day. With a good CLAUDE.md and a couple of MCP servers, Claude stops guessing about your project and starts giving answers that fit your codebase. That setup takes 15-20 minutes. This claude code tutorial covers installation through your first productive session.</p><p>If you're getting started with Claude Code for the first time, start with our <a href="https://www.notion.so/blog/what-is-claude-code" rel="noopener noreferrer" target="_blank">complete guide to Claude Code</a> for the big picture.</p><h2>How do you install Claude Code?</h2><p>Install Claude Code using the native installer. Run <code>curl -fsSL &lt;https://claude.ai/install.sh&gt; | bash</code> on macOS or Linux, or <code>irm &lt;https://claude.ai/install.ps1&gt; | iex</code> on Windows PowerShell. The npm method is deprecated and no longer recommended. No Node.js is required. After installing, run <code>claude --version</code> to verify, then launch <code>claude</code> in any project directory to authenticate. The <a href="https://code.claude.com/docs/en/setup">official setup docs</a> cover platform-specific details.</p>
<p>The install process takes about two minutes on any platform:</p>
<ol><li><strong>Run the native installer for your OS:</strong></li><li><strong>Verify the installation:</strong></li><li><strong>Authenticate on first launch</strong> by running <code>claude</code> in any directory. A browser window opens for OAuth login with your Claude Pro, Max, Team, or Enterprise subscription.</li></ol>
<p>Alternative install methods include Homebrew (<code>brew install --cask claude-code</code>) and WinGet (<code>winget install Anthropic.ClaudeCode</code>), though these don't auto-update.</p>
<p>The old npm installation (<code>npm install -g @anthropic-ai/claude-code</code>) still works but is officially deprecated. If you installed via npm previously, run <code>claude install</code> to switch to the native version. I put off this migration for weeks and it took about 30 seconds.</p>
<p>One note for Windows users: both WSL and native PowerShell work for Claude Code. If you're already using Linux-based toolchains, WSL is the better choice since it supports full Bash tool sandboxing. Native Windows requires Git Bash.</p><h2>What should your first Claude Code session look like?</h2><p>Start your first Claude Code session by navigating to your project directory and running <code>claude</code>. Use <code>/init</code> to generate a starting CLAUDE.md, then explore your codebase before writing any code. Follow the Explore, Plan, Implement, Commit workflow. Always ask Claude to describe its approach and wait for your approval before it begins implementing changes.</p>
<p>A productive first session follows this pattern:</p>
<ol><li><strong>Navigate to your project</strong> and start a session:</li><li>**Run **<code>/init</code> to bootstrap a <a href="http://claude.md/">CLAUDE.md</a>. Claude scans your project structure, identifies file types, and generates a starting configuration.</li><li><strong>Explore before coding.</strong> Ask Claude to explain your codebase, summarize the architecture, or identify patterns. This builds its understanding of your project.</li><li><strong>Use plan mode</strong> (Shift+Tab) to preview proposed changes before Claude implements them. This is your safety net for reviewing what Claude intends to do.</li></ol>
<p>Anthropic's <a href="https://code.claude.com/docs/en/best-practices">best practices documentation</a> recommends an Explore, Plan, Implement, Commit workflow. Resist the urge to jump straight to "build me a feature." Let Claude understand your project first, propose a plan, and only then start implementing.</p>
<p>Commands worth knowing from day one:</p>
<ul><li><code>/help</code> -- shows all available commands</li><li><code>/clear</code> -- fresh conversation without losing <a href="http://claude.md/">CLAUDE.md</a> context</li><li><code>/compact</code> -- compresses the conversation to free up context window space</li><li><code>/config</code> -- opens your settings</li></ul><h2>What should your CLAUDE.md file include?</h2><p>A CLAUDE.md file should include a one-paragraph project summary, your tech stack, build/test/lint commands, and key coding conventions, all within 60 to 80 lines. Use the WHY/WHAT/HOW framework: explain why the project exists, what it does, and how to work with it. Keep code style rules out of CLAUDE.md entirely and rely on linters and formatters instead.</p>
<p>CLAUDE.md is persistent memory. Claude reads it at the start of every session, so everything in this file shapes how Claude interacts with your code. Getting it right matters more than any other part of your claude code setup.</p>
<p>The WHY/WHAT/HOW framework (popularized by a HumanLayer blog post that earned 748 points on Hacker News) gives you a clear structure:</p>
<ul><li><strong>WHY:</strong> What the project does and what problem it solves</li><li><strong>WHAT:</strong> Tech stack, dependencies, project structure</li><li><strong>HOW:</strong> Build, test, lint commands and verification steps</li></ul>
<p>A template that covers the essentials:</p><pre><code># Project: MyApp

A task management API built with Node.js and Express.

## Tech stack
- Node.js 20, Express 4, TypeScript
- PostgreSQL with Prisma ORM
- Jest for testing

## Commands
- `npm run dev` - Start dev server (port 3000)
- `npm test` - Run all tests
- `npm run test:watch` - Watch mode
- `npm run lint` - ESLint check
- `npm run build` - Production build

## Conventions
- Use async/await over raw promises
- Named exports preferred over defaults
- Error responses follow RFC 7807 format</code></pre><p>Community consensus from developers who use Claude Code daily is to keep it under 60-80 lines. Beyond that, Claude starts deprioritizing instructions. Use deterministic tools (ESLint, Prettier) for code style enforcement rather than hoping Claude follows prose style rules consistently.</p>
<p>For larger projects, use <code>@imports</code> to reference external docs. A <a href="http://claude.md/">CLAUDE.md</a> line like <code>@docs/api-conventions.md</code> tells Claude to load that file on demand. Imports chain up to 5 levels deep, so you get progressive disclosure without bloating your root file.</p>
<p>Two features that most setup guides skip completely.</p>
<p><code>.claude/rules/</code>** directory** lets you create modular, topic-specific rules. Each <code>.md</code> file in this directory loads as project memory. You can scope rules to specific file paths using YAML frontmatter:</p><pre><code>---
paths:
  - &quot;src/api/**/*.ts&quot;
---

# API rules
- All endpoints must include input validation
- Use the standard error response format</code></pre><p><strong>CLAUDE.local.md</strong> is for personal project overrides. It's automatically added to <code>.gitignore</code>, so your team shares a common CLAUDE.md while each developer keeps their own preferences (sandbox URLs, preferred test data, personal shortcuts) in CLAUDE.local.md.</p>
<p>Claude also maintains <strong>auto memory</strong> at <code>~/.claude/projects/&lt;project&gt;/memory/</code>, saving project patterns, debugging insights, and your preferences across sessions. You don't need to configure this. It happens in the background.</p>
<p>For a deeper dive into CLAUDE.md configuration, see our <a href="https://www.notion.so/blog/claude-md-guide">CLAUDE.md guide</a>.</p><h2>How do you configure skills and slash commands?</h2><p>Create custom skills by adding SKILL.md files to a <code>.claude/skills/</code> directory in your project. Each file uses YAML frontmatter to declare its description, allowed tools, and execution behavior. The skills system replaces the older <code>.claude/commands/</code> approach, though both still work. Beyond custom skills, the Claude Code plugin ecosystem offers over 1,300 community-built skills you can install.</p>
<p>Skills are how you teach Claude Code repeatable workflows. A skill is a directory containing a <code>SKILL.md</code> file with YAML frontmatter and markdown instructions. I use them for everything from running test suites to generating changelog entries.</p>
<p>A test-fixing skill looks like this:</p><pre><code>---
name: fix-tests
description: Analyze and fix failing tests in the project
allowed-tools: Read, Grep, Bash(npm test *)
---

When fixing tests:
1. Run the test suite to identify failures
2. Read failing test files and the code they test
3. Determine if the test or implementation is wrong
4. Make minimal changes to fix the issue
5. Re-run tests to verify the fix

Focus on: $ARGUMENTS</code></pre><p>Invoke it with <code>/fix-tests src/features/auth/</code> and Claude runs the full workflow.</p>
<p>Claude loads skills progressively. It reads only the name and description at session start, then loads the full skill content when you invoke it or when Claude determines it's relevant. This keeps your context window lean.</p>
<p>The plugin ecosystem already has over 1,300 community-built skills across registries like <a href="https://claudecodeplugins.io/">Claude Code Plugins</a> and <a href="https://claude-plugins.dev/">Claude Plugins Directory</a>. You'll find plugins for documentation lookup, browser automation, code intelligence, and linting. Browse what's available and install the ones that match your stack.</p><h2>What MCP servers should you set up for a new project?</h2><p>Configure MCP servers by running <code>claude mcp add</code> or by creating a <code>.mcp.json</code> file at your project root. Start with 2-3 servers that match your workflow. Keep project-scope servers in <code>.mcp.json</code> so teammates share the same tool configuration through version control.</p>
<p>Model Context Protocol (MCP) connects Claude Code to external tools and data sources. MCP servers let Claude query databases, pull up-to-date API docs, run browser tests, and call external APIs. They've changed my workflow more than any other Claude Code feature.</p>
<p>Three scopes control where MCP servers are available:</p>
<ul><li><strong>Local</strong> (default): Private to you, stored in your user config</li><li><strong>Project</strong> (<code>.mcp.json</code>): Shared with your team via git</li><li><strong>User</strong> (<code>~/.claude/</code>): Available across all your projects</li></ul>
<p>Adding a server is one command:</p><pre><code>claude mcp add context7 -- npx -y @anthropic-ai/context7-mcp@latest</code></pre><p>For a new project, start with 2-3 servers that match your stack. Context7 gives Claude access to up-to-date API docs. Playwright handles browser automation. A database connector lets Claude query your schema directly.</p>
<p>Keep your total to 5-6 MCP servers per project. Each server consumes context window space, and loading too many dilutes Claude's attention.</p>
<p>Store credentials as environment variables in <code>.mcp.json</code>, not as raw strings. The file goes into version control, so API keys should never appear directly in it.</p>
<p>For a full walkthrough of MCP configuration, see our guide to <a href="https://www.notion.so/blog/claude-code-mcp">Claude Code and MCP</a>.</p><h2>What are the best practices for a new Claude Code project?</h2><p>Start every Claude Code project with git initialized and permissions at their defaults. Use plan mode to review proposed changes before Claude implements them. Keep your CLAUDE.md concise and up to date after each major architectural decision. For production work, choose the stable release channel, which runs about a week behind the latest channel and skips builds with known regressions.</p>
<p>These are the habits I've seen make the biggest difference across dozens of projects:</p>
<ol><li><strong>Initialize git first.</strong> Always have version control before your first Claude session. Git is your safety net for rolling back any change Claude makes.</li><li><strong>Keep permission defaults.</strong> Claude asks before reading, writing, or executing commands. Start with these prompts enabled and learn which operations you're comfortable approving.</li><li><strong>Use feature branches for AI-driven changes.</strong> Create a branch before asking Claude to refactor or generate significant code. Review the diff before merging.</li><li><strong>Treat CLAUDE.md as a living document.</strong> Update it after architectural decisions, dependency changes, or workflow shifts. A stale CLAUDE.md leads to stale suggestions.</li><li><strong>Pick a release channel.</strong> The <code>latest</code> channel (default) gives you new features immediately. The <code>stable</code> channel runs about one week behind and skips builds with known regressions. For production projects, <code>stable</code> is the safer choice. Configure it via <code>/config</code> or in your settings.json.</li><li><strong>Start simple, then verify.</strong> Boris Cherny (engineering lead on Claude Code at Anthropic) uses a "surprisingly vanilla" setup. The tool works well out of the box. Add complexity only when you hit a real need, and review Claude's output the same way you'd review a pull request from a capable but fallible colleague.</li><li><strong>Choose your interface.</strong> The terminal gives you full power and all features. The VS Code extension adds inline suggestions and diff views for developers who prefer staying in their editor. JetBrains support is also available. Pick what fits your workflow.</li></ol>
<p>See our full list of <a href="https://www.builder.io/blog/claude-code-tips-best-practices">50 Claude Code tips and best practices</a>.</p><h2>How do you extend this setup to the rest of your team?</h2><p>Share what git tracks, then bring in the people git can't reach. CLAUDE.md, <code>.claude/skills/</code>, and <code>.mcp.json</code> all live in the repo, so every developer who clones it inherits the same setup on their first <code>claude</code> session. That covers your engineering team. It doesn't cover the designers, PMs, and QA folks who never run Claude Code at all, and the setup work you just did doesn't extend to the parts of the workflow they own.</p>
<p>A designer who wants to propose a layout change still has to hand it off to engineering. A PM who wants to draft a feature update still has to spec it in a doc and wait. Your Claude Code project is ready for you to ship faster. The rest of your team still ships at pre-AI speed.</p>
<p><a href="https://www.builder.io/blog/builder-2">Builder 2.0</a> runs Claude Code in cloud containers that pick up your repo's CLAUDE.md, so the context you built (tech stack, commands, conventions) applies in every Builder session. Custom subagents and MCP servers live at the workspace level, so the team's connected tools are available to every teammate who joins a branch. A designer opens a branch in Builder's visual canvas and gets agent output generated against your real components. A PM prompts a copy change from Slack and the agent handling it has the same project context. A QA agent runs browser tests on every branch. Everyone works through a Claude Code agent that knows your project, regardless of whether they install the CLI.</p>
<p>Your setup is for your repo. Builder 2.0 is how every teammate inherits it.</p>
<p><a href="https://www.builder.io/blog/builder-2">See how Builder 2.0 picks up your Claude Code project →</a></p><h2>FAQ</h2><p><strong>Q: What is the difference between Claude and Claude Code?</strong></p>
<p><strong>A:</strong> Claude is Anthropic's conversational AI model, accessible through claude.ai and the API. Claude Code is a terminal-based coding agent that runs locally, reads your project files, and makes real changes to your codebase. Claude Code uses Claude as its underlying model but adds file access, command execution, and project context that the Claude Desktop chat interface doesn't have.</p>
<p><strong>Q: Do I need Node.js to install Claude Code?</strong></p>
<p><strong>A:</strong> No. The native installer (curl on macOS/Linux, PowerShell on Windows) doesn't require Node.js. The older npm installation method required Node.js 18+ but is now deprecated. Use the native installer for a cleaner setup with fewer dependencies.</p>
<p><strong>Q: How do I start a new project in Claude Code?</strong></p>
<p><strong>A:</strong> Create a project directory, initialize git, navigate into the folder, and run <code>claude</code> to start a session. On first launch, run <code>/init</code> to let Claude scan your project structure. Then create a CLAUDE.md file with your project summary, tech stack, and key commands. Claude reads this file at the start of every session.</p>
<p><strong>Q: Can I use Claude Code in VS Code instead of the terminal?</strong></p>
<p><strong>A:</strong> Yes. Install the Claude Code extension from the VS Code marketplace. It provides inline suggestions, diff views, and an integrated terminal panel. The terminal version remains more full-featured, but the VS Code extension works well for developers who prefer staying in their editor.</p>
<p><strong>Q: How do I troubleshoot Claude Code connection issues?</strong></p>
<p><strong>A:</strong> Verify your subscription is active and your credentials are valid by running <code>claude --version</code> and checking your account at claude.ai. If you're behind a corporate proxy, confirm outbound connections to Anthropic endpoints are allowed. Restarting the terminal and re-authenticating resolves most connection issues.</p><h2>Wrapping up</h2><p>Installation takes two minutes. The real value of your Claude Code setup comes from what you configure after: a focused CLAUDE.md, the right MCP servers for your stack, and skills that encode your team's workflows. Auto memory and path-specific rules keep improving things in the background once you've done the initial work.</p>
<p>Start with the native installer and <code>/init</code>. Then write a CLAUDE.md under 60 lines using the WHY/WHAT/HOW framework. That single file will improve Claude's output more than anything else you configure.</p>
<p>Once your project is set up, explore <a href="https://www.notion.so/blog/how-to-use-claude-code">how to use Claude Code</a> for daily development workflows, or dig into <a href="https://www.notion.so/blog/customizing-claude-code">customizing Claude Code</a> for advanced configuration.</p>
<p>And when you want this setup to reach the people on your team who don't run Claude Code, <a href="https://builder.io/signup">start free on Builder.io →</a></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/setting-up-claude-code-project">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/a0d5183e11a44163ad6aa6d219f3bce1" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/a0d5183e11a44163ad6aa6d219f3bce1"/>
        </item>
        <item>
            <title><![CDATA[Why is AI Agent Authentication So Hard?]]></title>
            <link>https://www.builder.io/blog/why-is-agent-auth-so-hard</link>
            <guid>https://www.builder.io/blog/why-is-agent-auth-so-hard</guid>
            <pubDate>Mon, 20 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Why is AI agent authentication so hard? Learn where OAuth breaks for agents, and how token exchange, secure delegation, and audit trails help secure access.]]></description>
            <content:encoded><![CDATA[<p>Maybe you've run into this.</p>
<p>Cursor can read your Notion workspace just fine, but then it immediately hits a 403 when it tries to update the page it just summarized.</p>
<p>Claude kicks off a sub-agent to triage a Linear issue, and suddenly that sub-agent has all the same access the parent did, including Slack, GitHub, and everything else.</p>
<p>Copilot works through a multi-step refactor across three repos, and when you check the GitHub audit log, it all looks like one human user did the whole thing, with no way to tell which agent handled each step.</p>
<p>Agent auth is hard because OAuth gets you through login, but it doesn’t really solve delegation, runtime authorization, or auditability, even though agents need all three at once.</p>
<p>Let's take a look at where things actually break, why OAuth on its own isn't enough, and what you can do about it today.</p><h2>Why AI agents need their own identity</h2><p>If your team’s agents mostly work but keep breaking in weird places like Linear, Notion, GitHub, and your internal APIs, this is usually why. Agents sit between people and the systems they use. They need an identity of their own, but that identity still has to stay <a href="https://www.builder.io/blog/designing-agentic-ai-systems">tied to the user or system that authorized it</a>.</p>
<p>On top of that, their permissions can change from task to task, they may need to stop and ask for approval, and after a few handoffs, you still need a clear audit trail showing who actually did what.</p>
<p>A dead giveaway that you're stuck in this messy middle is when your audit log says the user did everything, even though it was actually an agent, or even a sub-agent three steps removed, that pushed the commit.</p><h2>Three ways AI agent authentication fails</h2><p>These three failure modes show up again and again, and once you recognize them, you’ll start spotting them behind almost every agent integration bug your team files.</p>
<p><strong>The agent can read the doc, but it still can’t edit the page.</strong> It has a perfectly valid OAuth token with <code>wiki:write</code>, opens the postmortem in your internal wiki, and then immediately gets a 403 when it tries to make a change. The token isn’t really the problem. The page has its own ACL, a separate access list outside OAuth permissions, and while the user is on that list, delegated agents usually aren’t.</p>
<p>The OAuth <code>scope</code> is basically saying, “this app can write wiki pages.” But the page-level ACL is saying something much narrower: “this specific person can edit this specific page.” That kind of resource-level rule lives completely outside the things scopes were designed to express.</p>
<p><strong>A sub-agent inherits the parent’s full scope.</strong> Say a parent agent has <code>repo:write</code> and <code>wiki:write</code>, then spins up a child agent just to summarize a doc. In practice, that child often ends up with both permissions anyway. Suddenly a harmless summarization step has the same blast radius as the whole workflow. And OAuth doesn’t really give you a clean way to say, “this child only gets <code>wiki:read</code> for the next ten minutes, and only on this one page.”</p>
<p><strong>After three handoffs, the audit log can’t tell who actually did the work.</strong> A user kicks off a workflow, that workflow calls a planner agent, the planner calls a code-writing agent, and eventually a commit gets pushed. But downstream, the system still just sees the same user token, so everything gets attributed to the user. When someone has to untangle it on Monday, there’s no clear way to tell which agent handled step three.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F726de420fbcb46029fe862a1d2b2d84d?width=780" alt="Diagram illustrating three ways AI agent authentication fails: a valid OAuth token blocked by resource-level access control, a sub-agent inheriting excessive permissions from a parent agent, and an audit trail that collapses multiple agent actions into a single human identity." /><p><strong>These aren't authentication problems. They're runtime authorization problems.</strong></p>
<p>Once the user is logged in, the real questions are more concrete: can this agent access this specific resource, does a child agent automatically inherit all of the parent’s permissions, and after a few handoffs, can the audit log still tell you who actually did what? <a href="https://www.osohq.com/post/oauth-isnt-enough-for-agents">Oso calls this the runtime authorization problem</a>. Once the token is issued, the authorization server can’t really see how the agent is using it.</p>
<p>All three failures come from the same basic mismatch. OAuth scopes get set when the token is minted, and after that, the authorization server is basically out of the loop. So the answer isn't some cleverer OAuth flow. It's about adding a few things OAuth was never really built to handle: delegation that names both the user and the agent, runtime checks that are more precise than scopes, and a real identity for the agent itself.</p><h2>How token exchange fixes agent delegation</h2><p>What actually carries that user-and-agent relationship over the wire is <a href="https://datatracker.ietf.org/doc/html/rfc8693">RFC 8693 token exchange</a>. The key idea is that the agent's identity travels with the user's identity, not instead of it. When a tool handles this properly, the audit log shows both who the human was and which agent took the action, rather than the usual mess where it all looks like one user did everything.</p>
<p>The IETF’s <a href="https://www.ietf.org/archive/id/draft-oauth-ai-agents-on-behalf-of-user-02.html">OAuth on-behalf-of-user draft</a>, currently at <code>-02</code>, starts to make this more official by spelling out what that token exchange between the agent and user should look like.</p>
<p>Ask any MCP server this before you let your team use it: when it calls a downstream API, does it just forward your token, or does it exchange it? If the answer is "we pass it through," that's a red flag. As <a href="https://aembit.io/blog/mcp-authentication-and-authorization-patterns/">Aembit points out in its MCP guidance</a>, every extra system that sees a forwarded token is another place that token can leak, and the downstream API still has no idea the MCP server was involved.</p>
<p>The safer pattern is token exchange: the server swaps the user's token for a new one scoped to that specific downstream API and carrying the agent's identity alongside the user's.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F294707cab0ed46afb336c6d75f3cbe6c?width=780" alt="Comparison of two authentication patterns: Token Pass-Through, where a user's token is forwarded to a downstream tool without agent context, and Token Exchange, where an agent exchanges the user's token for a new one that includes both user and agent identity." /><p>In practice, the quick gut-check is pretty simple: vendors doing this the right way will explicitly talk about token exchange (RFC 8693) or on-behalf-of flows in their auth docs, and they’ll explain that the server has its own separate credential too. Vendors doing it the wrong way will say something like, “we just forward your OAuth token to the downstream API,” or worse, they won’t explain how that downstream call is authenticated at all.</p><h2>How to evaluate AI agent tools and MCP servers</h2><p>This is usually more of a tool selection problem than an implementation problem. Before your team adopts any agent tool, MCP server, or platform, it’s worth asking a few basic questions:</p>
<ul><li>Does the agent have its own identity, or is it basically operating as the user?</li><li>What happens when a sub-agent kicks in? Does it automatically get all the same permissions as the parent, or is it limited to a smaller scope?</li><li>Will the audit log show which agent actually did what, or does everything just get attributed back to the human who kicked it off?</li><li>Does the tool exchange your token for one of its own before calling downstream APIs, or does it just pass yours straight through?</li><li>Is the agent using credentials that expire when they should, or is it sitting on a long-lived API key?</li></ul>
<p>The red flags in vendor docs are usually the opposite of those questions:</p>
<ul><li>“We use OAuth,” but they never explain what they actually mean by that.</li><li>A setup guide that tells you to paste in a long-lived API key.</li><li>No explanation of what sub-agents can access or whether they just inherit everything.</li><li>Passing your token directly from the MCP server to the downstream API.</li></ul>
<p>If you see any of those, assume all three failure modes are still very much in play for your team.</p>
<p>A few practices are worth standardizing no matter which vendor you use. Don’t give agents tokens that are broader than the job in front of them. Be extra careful with tools that can spawn sub-agents until they clearly explain how delegation works. And when you can, favor tools that keep the agent contained, so if one step ends up with too many permissions, the blast radius is limited by more than just the OAuth scope.</p>
<p>If you're picking an authorization layer for your team's internal tools, <a href="https://openfga.dev/">OpenFGA</a> is a solid option for relationship-based permissions and gives you a real audit trail. <a href="https://spiffe.io/">SPIFFE</a> can handle the workload identity side.</p>
<p>This is starting to move beyond standards docs and into real identity products. Okta’s <a href="https://www.okta.com/">Cross App Access</a> is one of the first signs that this shift is actually happening.</p>
<p>The easiest place to start is with the MCP servers your team already uses. Pull up each vendor’s auth docs, ask the five questions above, and sort them into two buckets: “exchanges tokens” and “forwards tokens.” That quick pass usually tells you which integrations are recreating the same three failure modes and which ones aren’t.</p>
<p>Until tools start treating delegated software actors as their own category, instead of just a proxy for the user or some generic service account, agent auth problems are going to keep showing up as architecture problems.</p><h2>Why agent containment matters as much as the spec stack</h2><p>At the platform level, the big question is: who on your team can safely run agents in the first place?</p>
<p>Containment is what makes this possible. If each agent gets its own scoped environment, a designer or PM can hand it a task and keep moving without needing an engineer to double-check whether it can access production secrets, the wrong repo, or a teammate’s branch, because the environment already says no.</p>
<p>That’s hard to pull off in Claude Code or Cursor, where the agent is working against your local filesystem with all the reach of your shell, and whether it’s “safe for anyone to use” depends heavily on how carefully the machine was set up by its user, who may or may not have technical know how.</p>
<p>The ideal is per-agent containment. Each agent gets its own scoped environment, with its own filesystem, network access, and credentials. That means even if a sub-agent ends up with more permission than it should, the container still limits the blast radius before OAuth scopes even come into play. It’s basically the runtime version of the same idea the spec stack is aiming for: giving the agent a real, narrow identity instead of having it inherit whatever access the parent already has.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F6bd758231aa14915a9bb0f86713b3fec?width=780" alt="A diagram showing four different users—a developer with a macOS laptop, a designer with a tablet, a PM with a phone, and a developer with a Linux computer—each pointing arrows toward a central cloud icon, which in turn points to a box labeled PR, representing how multiple user types interact with a centralized cloud service to generate pull requests." /><p><a href="https://builder.io/fusion">Builder</a> does this by default, and <a href="https://www.builder.io/blog/builder-2-0">engineers can use it in tandem with Claude Code</a> or other tools they already love. Every agent runs in its own scoped cloud container, with its own service account, network policy, and credential rotation already set up, so the platform team doesn’t have to stitch all of that together themselves.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/why-is-agent-auth-so-hard">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/8e159a888f2349d7b9d0308d44ae1875" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/8e159a888f2349d7b9d0308d44ae1875"/>
        </item>
        <item>
            <title><![CDATA[How 270 Developers, Designers, and PMs Went from PRD to Working App in 60 Minutes]]></title>
            <link>https://www.builder.io/blog/from-prd-to-working-app-in-60-minutes</link>
            <guid>https://www.builder.io/blog/from-prd-to-working-app-in-60-minutes</guid>
            <pubDate>Wed, 22 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[270 developers, designers, and PMs built a working app from a PRD in 60 minutes. Watch the recording or download the guide to see the full workflow.
]]></description>
            <content:encoded><![CDATA[<p>At a recent live <a href="https://www.builder.io/hub/webinars/idea-to-application/watch-now"><u>Builder workshop</u></a>, 270 developers, designers, and PMs built a working calendar app from a one-page PRD. They started with a blank project, attached a PDF, typed a prompt, and watched Builder generate a functional calendar using Google's Material Design component library. Sixty minutes later, most had added features they hadn't planned for:</p>
<ul><li>Natural language event creation</li><li>An agenda view</li><li>Dark mode with a toggle</li><li>Drag-and-drop rescheduling</li></ul>
<p>None of them wrote a line of CSS.</p>
<p>The workshop demonstrated what the workflow looks like when the whole team builds on the same codebase, using the same design system, with review and approval built into every step before a PR reaches engineering. Each attendee connected to a shared Builder project pre-configured with Material Design 3 components and tokens, attached a product requirements doc, entered a single prompt, and Builder created a feature branch with a working app.</p>
<p>From there, they iterated in interact mode, asked the agent to suggest high-impact additions from the design system, picked one, and had it implemented. A design-minded attendee adjusted header colors in the visual editor and told the agent to use design tokens rather than the specific hex she'd selected in the style panel. Someone else added a Google Meet integration. Several people built out responsive calendar views.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F8ef8f2ce75354cd0bbce7b739d253000?width=780" alt="A sketch of a calendar interface with annotations pointing to its features: natural language events, a dark mode toggle, agenda view, and drag-and-drop rescheduling, with the text &quot;0 lines of CSS written&quot; displayed below." /><p>When they were ready to hand off, they clicked "Send PR." Builder generated a pull request with a full summary of every change, organized by commit. Engineers on the call could pull the branch name into their local environment and keep working, or leave a comment in the PR for the Builder bot to action, which pushed a new commit in seconds.</p>
<p>That last part matters for engineering leaders. The PR your team receives has already been through product review, design QA, and functional testing by the time it lands. Developers read the diff, check code quality, and merge. They spend their time on decisions that require engineering judgment, not on translating a Figma file into components that already exist in the design system.</p>
<p>If you're evaluating <a href="https://www.builder.io/idea-to-production"><u>this workflow</u></a> for your team:</p>
<ul><li><strong>Design system completeness determines output quality.</strong> Builder's code generation depends directly on how well your component library is indexed. Teams with complete, well-documented design systems get production-ready output. Teams starting from scratch get something closer to a prototype.</li><li><strong>Prototypes built this way tend to stay in the codebase.</strong> 80% of the prototypes Builder's internal team creates are merged into production PRs. The calendar app attendees built could have been merged straight into a pull request on a real repo.</li><li><strong>The review burden shifts earlier.</strong> Because QA, design, and product all validate against a live preview URL before engineering touches anything, changes get caught when they're cheap to fix.</li></ul>
<p>The real takeaway from 270 people building in parallel for an hour is that the workflow scales. Product managers, designers, and QA all contributed directly to real code, engineers stayed in review mode, and every change moved through a structured approval process before it touched a PR. That's not a demo condition. It's the same workflow your team would run in production, just compressed into a single session.</p>
<p><a href="https://www.builder.io/hub/webinars/idea-to-application/watch-now"><em><u>Watch the full workshop recording</u></em></a> <em>to see the build from prompt to PR.<br><br><a href="https://www.builder.io/idea-to-production"><u>Download the idea-to-production guide</u></a> to map the workflow to your team's specific roles and tools.</em></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/from-prd-to-working-app-in-60-minutes">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/a0c1c5e07e7948ae8b0c98562c951c55" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/a0c1c5e07e7948ae8b0c98562c951c55"/>
        </item>
        <item>
            <title><![CDATA[How to build agent-native applications (and what not to do)]]></title>
            <link>https://www.builder.io/blog/agent-native-apps</link>
            <guid>https://www.builder.io/blog/agent-native-apps</guid>
            <pubDate>Tue, 21 Apr 2026 07:00:00 GMT</pubDate>
            <description><![CDATA[The biggest mistake in AI apps? A single LLM call and done. Here's the ladder from tools and a loop to a real agent-native application.]]></description>
            <content:encoded><![CDATA[<p>This is the biggest mistake I see people constantly make when building AI applications.</p><pre><code>// Don't do this
const output = await llm(prompt)</code></pre><p>Let me show you how to make this substantially better.</p><h2>Step 1: tools and a loop</h2><p>First, we need two new things. We need <b>tools</b> and a <b>loop</b>. LLMs can't do anything on their own, but you can provide them tools — for an email app it could be <code>draftEmail</code>, <code>searchEmails</code>, etc.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fd5923ef9db254763a6aaec28164fd5d8?width=780" alt="Tools and a loop with the Claude Agent SDK" /><p>You send a call to an LLM, it sends back what tools it wants to run, those tools execute, and then the results are sent back to the LLM on a loop until things are complete.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F5901b9c7e6d14ebc9629e8b4e7f3435f?width=780" alt="The agent chooses when to use each tool" /><p>You can introspect each step. You can output each piece to the UI, like progress.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Ffdd91f213c764a1fa43cf6a84d5f75fd?width=780" alt="LLM → tool calls → result loop" /><h2>Step 2: stop assuming the AI is correct</h2><p>But this still has one massive issue. We're still assuming the AI is correct.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fb7f4b4df7f2c42cb80348c727137f97e?width=780" alt="Input → LLM → output correct? yes → yey, no → ???" /><p>In this case, we're just running through a loop and then doing something with the results without giving users a way to give the feedback that we know is so critical for non-deterministic systems.</p><p>So the better thing you can do is this: build a UI that shows the streaming result as the agent is outputting things. Give users a way to stop it, give feedback, queue the next message.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fa1e0d609b4fc4499a7e1c6cd08530619?width=780" alt="Stream messages and tool calls, with a persistent chat input" /><p>This is sort of the state of the art today. But I actually think we can do one solid step better.</p><h2>Step 3: customization (instructions, skills, memory)</h2><p>The reason things like Claude Code, Codex, and OpenCode are so powerful is there's a lot more customization you can do of your agents.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F45352dce6edb4f30a352e9c60821a73e?width=780" alt="CLAUDE.md, .claude/ with skills, agents, settings" /><p>You can give them all kinds of custom instructions unique to you and your use case and your project. You can give them additional files as context that they can reference right from a file system. You can give them skills. They can keep track of their own memory as they learn and improve.</p><p>These things can make a crazy difference and are a big reason why Claude Code is exploding so much right now.</p><p>But then you're probably wondering: how do I provide all of that in my application? That's a lot to build.</p><p>I've personally come to the opinion that this is the better pattern that pretty much every application should adopt if possible. But it's true — it's complex to build a Claude Code fitted for your application that is user-friendly, has the right permissions and guardrails, and just generally makes sense.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fe81f78676f0e4ba896d9d3314621ae27?width=780" alt="CLAUDE.md, .claude/ with skills, agents, settings" /><h2>Agent-Native</h2><p>I've been working on an open source project called <a href="https://github.com/BuilderIO/agent-native" rel="noopener noreferrer" target="_blank"><strong>Agent-Native</strong></a>. It's very early, but it does a couple of interesting things.</p><p>The first one is that your application is defined as a set of <strong>actions</strong>. These actions are exposed over APIs, so your frontend will use these same actions — for email, <code>searchMail</code>, <code>draftMail</code>, etc.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fe6a768e10c4d4636a278a9a0f908bf0a?width=780" alt="actions/reply-to-email.ts — defineAction on the backend" /><p>And these core actions the agent can use as well as tools. The agent has a bunch of built-in stuff that I'll show you.</p><p>You render the agent chat + workspace anywhere you want in your application, and then users can chat with that — or you can send messages to the agents from other parts of your app.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fedae57306a6a4ee194cd0f44d7f9f995?width=780" alt="Chat and Workspace panels you can drop in anywhere" /><p>Because a great part of applications versus pure agents is you can have workflows and have buttons that give users guidance. But again, you don't want those buttons to just make an LLM call and just dump a result somewhere. You want them to go through an agent so you can look, modify, give feedback. It's influenced by those instruction skills and other customizations. And then if the output's not right, you can go back to the chat, tell it what it did wrong, and get it right the next time.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F31694da720c448acb4affd2a4420c572?width=780" alt="LLM → workspace instructions → tool calls → human input, on a loop" /><p>Of course you need some basics. The agent and the UI always need to be in sync — when the agent makes updates, the UI updates, and vice versa. That's what the framework provides.</p><p>So we have our standard chat, but we also have our <b>workspace</b>. The workspace is like a Claude Code or Codex workspace where you can have your instructions and skills and memories. You can add files, you can add subagents. You can really customize it. This is stored in a way where each user can customize their own experience however they want their agent to behave in your app — and at the organization level, you can set standards too. Then when you chat with the agent, it respects all of those things.</p><p>So I can jump in and say "add a new revenue dashboard," and based on how I set it up, it might know what all those things mean and start doing the right queries and calling the right tools to do that.</p><h2>Agent + app, not either/or</h2><p>And that's cool and all. We can go into full agent mode — where the agent fills the screen, and it's kind of like using a chat app entirely.</p><p>But I mentioned applications have a lot of value too, and I see people treating these things as way too either/or. I generally find most applications are better with a built-in agent, and most agents are better if they have UI capabilities. As you've seen recently in things like Cursor, Codex, and Claude Code, these tools can all generate UIs kind of — but again, they don't work like an application.</p><video muted autoplay loop playsinline controls>
      <source src="https://cdn.builder.io/o/assets%2FYJIGb4i01jvw0SRdL5Bt%2F531c9aca74d24689aafef590cc789a43?alt=media&token=0ff7acf4-09fd-464c-ae1c-e4d9d6271776&apiKey=YJIGb4i01jvw0SRdL5Bt" type="video/mp4">
    </video><p>If I'm using an agent for analytics, I'll want it to save certain views as a dashboard. I want to choose who has access to the dashboard. I want it to work like an app, but I don't want to lose any of the agent affordances.</p><p>I also want buttons. And what's cool is the buttons can take prompts. When you say something like "make me a traffic and signups dashboard," when you submit, that gets delegated to the agent. You can see the agent work. It works identically to all those Claude Code and other products you're used to, but it's native to your application.</p><p>In this framework, the agent can also see what's on your screen, update what's on your screen, navigate you to other pages, and generally speaking: if the UIs can do it, the agent can do it. And if the agent can do it, the UIs can do it.</p><p>And this doesn't require any super complicated container setup or dev boxes running machines on them. You can deploy this anywhere. You can use any LLM that you want. You can use any Drizzle-compatible database or any SQL database effectively. And it's pretty easy to use — at least I think so.</p><h2>Good, better, best</h2><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F92075c55ed5942c8a9bde249305039f9?width=780" alt="The ladder: single llm() call → loop → &lt;Agent /&gt; with actions" /><p>Whether you want something all-encompassing like this or you just want to integrate into an existing product, I hope this ladder of sort of good, better, best is helpful.</p><p>If you want to try out Agent-Native, it's <a href="https://github.com/BuilderIO/agent-native" rel="noopener noreferrer" target="_blank">over on GitHub</a>, totally MIT licensed. There are a bunch of <a href="https://www.agent-native.com" rel="noopener noreferrer" target="_blank">example apps</a> you can just try out and get a feel for it. And while it's super duper early, I'd love your feedback — both on the general concept and, if you try it, on the implementation.</p><p>But what do you think? Are applications better off not integrating agents? Or are agents better than applications, and nobody will have a UI in the future — it's just gonna be agents and text in Telegram, and that's the only way you ever use products?</p><p>I'd love to know your thoughts in the comments. Let me know.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/agent-native-apps">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F97bc7db9dfad468c878869dd1253bb44" length="0" type="image//api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F97bc7db9dfad468c878869dd1253bb44"/>
        </item>
        <item>
            <title><![CDATA[10 Best Windsurf Alternatives in 2026]]></title>
            <link>https://www.builder.io/blog/windsurf-alternatives</link>
            <guid>https://www.builder.io/blog/windsurf-alternatives</guid>
            <pubDate>Fri, 17 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Compare the 10 best Windsurf alternatives in 2026, including Cursor, Claude Code, Cline, and Builder 2.0, with pricing, MCP support, and key use cases.]]></description>
            <content:encoded><![CDATA[<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "BlogPosting",
      "headline": "Best Windsurf Alternatives in 2026: 10 Tools Compared",
      "description": "The 10 best Windsurf alternatives in 2026, compared honestly. Cursor, Builder 2.0, Claude Code, Cline, and more — with current pricing, MCP support, and the full Windsurf story.",
      "datePublished": "2026-04-17",
      "dateModified": "2026-04-17",
      "url": "https://www.builder.io/blog/windsurf-alternatives",
      "publisher": {
        "@type": "Organization",
        "name": "Builder.io",
        "url": "https://www.builder.io"
      },
      "keywords": ["windsurf alternatives", "ai code editor", "cursor vs windsurf", "claude code", "github copilot", "cline", "aider", "zed editor", "builder 2.0"]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Is Cursor better than Windsurf?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "In 2026, yes. Cursor's agent mode is more stable, its VS Code compatibility is stronger, and Tab autocomplete powered by Supermaven's Babble model (acquired November 2024) is the fastest in the category. The $20/month Pro price matches Windsurf's current pricing."
          }
        },
        {
          "@type": "Question",
          "name": "What happened to Windsurf?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Windsurf (formerly Codeium, rebranded April 2025) had its founding team acquihired by Google DeepMind for $2.4 billion in July 2025, after OpenAI's $3 billion acquisition bid collapsed when Microsoft blocked the deal. Cognition AI (makers of Devin) then acquired the remaining product, IP, enterprise clients, and team for roughly $250 million."
          }
        },
        {
          "@type": "Question",
          "name": "What is the best open-source Windsurf alternative?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Cline is the most fully-featured open-source option: a VS Code extension with agentic coding, MCP support, and BYOK flexibility across every major AI provider. Aider is the better choice if you prefer terminal-first development with clean Git history."
          }
        },
        {
          "@type": "Question",
          "name": "Does Claude Code have a free tier?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "No. Claude Code requires a minimum Claude Pro subscription at $20/month (or $17/month billed annually). For a free terminal-based alternative, Gemini CLI provides 1,000 requests per day with no credit card required."
          }
        },
        {
          "@type": "Question",
          "name": "Is Supermaven still a standalone product?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "No. Anysphere (the company behind Cursor) acquired Supermaven in November 2024. Supermaven's Babble model now powers Cursor's Tab autocomplete. It's not a separate Windsurf alternative."
          }
        },
        {
          "@type": "Question",
          "name": "Which Windsurf alternative is best for large codebases?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Cursor and Claude Code handle large codebases most effectively. Cursor supports up to 8 parallel agents on Pro+. Claude Code offers 200K token context on Pro (1M tokens via API). For the largest context window at no cost, Gemini Code Assist's 1M-token individual free tier is the standout option."
          }
        }
      ]
    }
  ]
}
</script><p>OpenAI offered $3 billion for Windsurf, but the deal ultimately fell apart. The big sticking point was Microsoft's IP-sharing agreement with OpenAI, which would have effectively put Windsurf's technology in the hands of the GitHub Copilot team. CEO Varun Mohan wasn't willing to let that happen, so the acquisition died.</p>
<p>Within hours, Google DeepMind came knocking. By July 2025, Windsurf’s founding team had signed a $2.4 billion acquihire deal to work on Gemini coding agents. Cognition AI, the company behind Devin, picked up what remained: the IDE, the IP, 350+ enterprise customers, about $82M in ARR, and a 250-person team for roughly $250 million.</p>
<p>Then, in March 2026, Windsurf raised its Pro plan from $15 to $20/month and switched from a credit-based model to a quota system. Developers noticed right away, and the forums lit up.</p>
<p>The founding team is now off building something new at Google, and Windsurf itself lives inside a company whose main bet is a different AI coding agent. So if you're wondering what that means for Windsurf going forward, here are the alternatives worth knowing about — grouped by the job you actually need done.</p><blockquote><p>Note: If you want the one tool on this list built around your entire team — not just developers — <a href="https://www.builder.io/signup?utm_content=ma-windsurf-intro">Builder 2.0</a> combines parallel AI agents, visual editing, and PR-first collaboration on your existing repo, so designers and marketers can ship alongside engineers without touching code. It's the only AI development environment that treats code review and cross-team contribution as first-class features, not afterthoughts.</p></blockquote><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F00b9c4a2763647f793394f843f57f543?width=780" alt="A timeline of Windsurf's ownership in 2025: in April, Codeium rebranded to Windsurf; in mid-2025, an attempted $3B acquisition by OpenAI collapsed due to Microsoft; in July 2025, the Windsurf founding team was acquired by Google DeepMind in a $2.4B deal; finally, in late 2025, Cognition AI acquired the Windsurf IDE and assets for $250M." /><hr /><h2>Quick comparison table</h2><p>If you're just skimming, this is the best place to start. The rest of the post unpacks what each of these columns actually means.</p><hr /><h2>What is Windsurf?</h2><p><a href="https://windsurf.com/" rel="nofollow noopener">Windsurf</a> (formerly Codeium, rebranded in April 2025) is an AI IDE built around Cascade, its agentic system for multi-file coding work. In 2025, Cognition AI acquired Windsurf after the founding team took a $2.4B acquihire to join Google DeepMind and work on Gemini coding agents.</p>
<p><strong>What to like:</strong></p>
<ul><li>Cascade is designed for multi-file agentic work: you describe the feature, and it can go find the right files, write the code, and iterate with you as you refine it.</li><li>Familiar IDE experience that feels a lot like VS Code, so if your team is coming from a conventional editor, the switching cost is pretty minimal</li><li>350+ enterprise clients are now now under Cognition ownership, with established SLAs already in place.</li></ul>
<p><strong>Tradeoffs to keep in mind:</strong></p>
<ul><li>The founding team is now at Google working on Gemini, so they’re no longer the ones directly steering Windsurf’s roadmap</li><li>The March 2026 quota change can interrupt autonomous task runs halfway through, especially for heavier users.</li><li>Cascade can get a bit shaky on more complex multi-file work, with documented issues like terminal execution loops, internal errors, and Language Server crashes on mid-size projects.</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Teams already covered by Cognition enterprise SLAs and not in any rush to switch yet</li><li>Developers whose day-to-day work stays mostly in lighter agentic tasks, where Cascade is generally more reliable</li></ul>
<hr /><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F0e5b256f5a724216b690dd4a236978ef?width=780" alt="How to choose a Windsurf alternative: five categories mapped by workflow — hosted environments, full AI IDEs, repo-native visual IDE, editor extensions, and terminal agents" /><hr /><h2>Hosted AI coding environments</h2><p>These tools keep the "describe it, run it" loop nice and tight. Like Windsurf’s hosted experience, they give you a live environment without any local setup to worry about. The tradeoff is that your project usually starts life inside their platform. If you later want to move it into a repo you fully own, that typically takes a more deliberate handoff.</p>
<p><a id="replit"></a></p><h3>Replit</h3><p><a href="https://replit.com/" rel="nofollow noopener">Replit</a> gives you a cloud-based development setup with basically no local configuration to worry about. The whole environment — runtime, database, and deployment — runs right in your browser. Agent 4 can also take on autonomous full-stack development with built-in browser testing, so going from "describe a feature" to "see a running app" feels fast and surprisingly smooth.</p>
<p><strong>What to like:</strong></p>
<ul><li>Built-in PostgreSQL, one-click deploy, real-time multiplayer, and support for 50+ languages — all available right in the browser</li><li>No local setup to wrestle with, and the mobile app means you can build and ship from pretty much anywhere</li><li>Agent 4 can handle full-stack autonomous builds and browser testing in the same loop, so it feels much faster to go from an idea to a working app</li></ul>
<p><strong>Tradeoffs to expect:</strong></p>
<ul><li>Works best for cloud-native projects, but if your setup relies on complex local tooling or hard-to-replicate dependencies, it may start to feel restrictive</li><li>Your project lives inside Replit’s platform, instead of a standard Git repo you fully control, so that can feel a bit restrictive if ownership and portability matter a lot to you</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Rapid prototyping and non-technical builders who want to test ideas fast</li><li>Distributed teams that would rather skip local infrastructure management altogether</li></ul>
<p><a id="boltnew"></a></p><h3>Bolt.new</h3><p><a href="https://bolt.new/" rel="nofollow noopener">Bolt.new</a> is StackBlitz's browser-based app generator. You tell it what you want to build, and it spins up a deployed full-stack app using WebContainer technology that runs Node.js entirely in the browser, so there’s no server setup to worry about.</p>
<p><strong>What to like:</strong></p>
<ul><li>From a plain-language prompt, you can go straight to a deployed app without any local setup.</li><li>StackBlitz WebContainers run Node.js right in the browser, so you can skip backend provisioning altogether.</li><li>A great way to quickly find out whether an idea is actually worth building</li></ul>
<p><strong>Tradeoffs to keep in mind:</strong></p>
<ul><li>What you get is a solid starting point, not production-ready code.</li><li>Platform-first: your project begins on Bolt.new rather than in a repo you already control</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Non-technical founders who want to validate an idea before investing in a full build</li><li>Demos and quick MVPs where the main goal is to prove the idea works, not to polish the codebase</li></ul>
<hr /><h2>Full AI IDE replacements</h2><p>These are the closest things to direct Windsurf replacements: full editors with strong AI agent modes, where your code lives in your own repository from day one. Unlike hosted environments, you still control the repo, the review workflow, and the deployment stack. For a deeper look at how these compare as agentic development environments, see our <a href="https://www.builder.io/blog/agentic-ide">agentic IDE comparison</a>.</p>
<p><a id="cursor"></a></p><h3>Cursor</h3><p><a href="https://cursor.com/" rel="nofollow noopener">Cursor</a> is a VS Code fork built from the ground up for AI-first development. In real use, that means its agent mode can handle multi-file tasks with surprisingly little hand-holding: you describe what you want done, and it tracks down the relevant files, writes the code, runs the tests, and keeps iterating. Its tab autocomplete, powered by Supermaven's Babble model (acquired in November 2024), is also one of the fastest in the category.</p>
<p><strong>What to like:</strong></p>
<ul><li>Most of your existing VS Code extensions work right away, with little to no reconfiguration</li><li>On Pro+ in 2026, you can run up to eight agents in parallel, and if you need tighter control, self-hosted cloud agents let you keep your code inside your own network.</li><li>You can choose from Claude, Gemini, GPT-4o, and Cursor’s own proprietary models — or just use Auto mode and let Cursor pick the best fit for the task.</li></ul>
<p><strong>Tradeoffs to keep in mind:</strong></p>
<ul><li>Cursor runs as its own editor, so if your team depends on specific VS Code extensions, it’s a good idea to test those dependencies before rolling it out more widely.</li><li>If you lean too hard on frontier models, credits can disappear fast, so in most cases it's smarter to let Auto mode decide when they're actually worth using.</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Experienced developers working in large codebases who want cutting-edge models without giving up most of the VS Code experience</li><li>Teams that are okay switching editors in exchange for one of the strongest agent modes in the category</li></ul>
<p>If you want a more detailed side-by-side look, check out the <a href="https://www.builder.io/blog/windsurf-vs-cursor">Windsurf vs. Cursor comparison</a>. If you’ve already ruled Cursor out, we’ve also rounded up the full field of <a href="https://www.builder.io/blog/cursor-alternatives-2026">Cursor alternatives</a>.</p>
<p><a id="zed"></a></p><h3>Zed</h3><p><a href="https://zed.dev/" rel="nofollow noopener">Zed</a> is a code editor built in Rust, with GPU-accelerated rendering and real-time multiplayer collaboration built right in. It feels fast and stays smooth even on large files and codebases, without the memory bloat you often run into with Electron-based editors. It’s also open source under the MIT license.</p>
<p><strong>What to like:</strong></p>
<ul><li>Uses noticeably less memory than VS Code on large TypeScript monorepos</li><li>Real-time collaboration runs on CRDTs, so live pair-programming sessions stay smooth and don’t turn into merge-conflict chaos</li><li>MCP support means Zed belongs in the same conversation as Cursor, Cline, and Claude Code when it comes to connecting external tools, and the Pro plan also adds AI edits with a 200K context window</li></ul>
<p><strong>Tradeoffs to expect:</strong></p>
<ul><li>A smaller extension ecosystem than VS Code, so you may miss a few niche plugins or workflows you rely on</li><li>If you're on Windows, you'll need either Windows 10 version 1903+ or Windows 11 22H2+.</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Performance-focused developers who are tired of Electron-heavy editors eating up memory on large codebases</li><li>Distributed teams that pair program often and want collaboration built into the editor itself, instead of bolted on afterward</li></ul>
<hr /><h2>A repo-first workflow that gives your whole team visual editing</h2><p>At a certain point, a pure code editor can start to feel a little limiting. You can keep routing every change through code and PR review, or you can shift to a workflow where visual editing, AI-generated code, and team collaboration all land in the same PR — and non-developers can contribute without ever touching code. Builder 2.0 is built for exactly that moment.</p>
<p><a id="builder-20"></a></p><h3>Builder 2.0</h3><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fc30f99e1c56d4313ad36f7b35e638a20?width=780" alt="Builder 2.0 interface showing three distinct modes—Design, Interact, and Code—with colored pointers highlighting their use by developers, product managers, and designers." /><p><a href="https://www.builder.io/blog/builder-2-0?utm_content=ma-windsurf-section-lede">Builder 2.0</a> is a repo-native visual IDE built for multiplayer coding, with real-time collaboration, parallel agents, and visual editing that shows up as proper Git diffs. Unlike Cursor or Windsurf, it's not just about generating code. It's built to close the gap between your design team and your development workflow, using the repo you already have.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fec79e77c28414dbe8846adc012b1fbe7?width=780" alt="Builder 2.0 PR-first workflow: developers, designers, and parallel AI agents all contributing to the same repo, with every change landing as a reviewable pull request" /><p><strong>What to like:</strong></p>
<ul><li>PRs-first by design: every AI or visual edit shows up as a reviewable diff, so you can actually see what changed instead of untangling a giant wall of edits or mystery code</li><li>Parallel agents run in containerized environments, so you can have multiple AI tasks going at once without constantly worrying about merge conflicts</li><li>Visual editing means design and marketing teams can make changes in a browser editor, without ever having to touch the code.</li><li>A <a href="https://www.builder.io/blog/git-branching-for-designers">"Git for anyone" approach</a> that makes branching and reviews feel much more approachable for non-developers</li><li>Works with your existing repository from day one, so you don’t have to migrate to a new platform or worry about lock-in</li></ul>
<p><strong>Tradeoffs to expect:</strong></p>
<ul><li>There’s a little more setup here than with a pure code editor, since Builder 2.0 connects to your existing repo and needs some initial configuration.</li><li>The visual editing layer really shines when design or marketing teams are working alongside developers; if you're mostly coding solo, it may not feel as compelling.</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Frontend-heavy product teams where developers, designers, and marketers all need to ship changes together</li><li>Organizations that want the speed of AI-assisted development without giving up the accountability of a PR-first code review workflow</li></ul><blockquote><p><strong>Want your designers and PMs shipping in the same repo as engineering?</strong></p><p>Builder Fusion is the only tool on this list where a non-developer can make a real change and open a PR your team already knows how to review. <a href="https://www.builder.io/signup?utm_content=ma-windsurf-section">Try Builder Fusion free →</a></p></blockquote><hr /><h2>Add AI to your existing editor</h2><p>If switching editors is the main thing holding you back — whether that’s team friction, extension dependencies, or budget — these tools bring AI into the editor you already use. So there’s no new IDE to evaluate and no workflow change you have to convince your team to adopt.</p>
<p><a id="github-copilot"></a></p><h3>GitHub Copilot</h3><p><a href="https://github.com/features/copilot" rel="nofollow noopener">GitHub Copilot</a> slips into the IDE you already use, so you don’t have to change editors to get started: VS Code, JetBrains, Visual Studio, and Neovim are all supported. At $10/month for Pro, it’s also one of the more affordable premium AI coding assistants, with enterprise-grade controls available on higher tiers.</p>
<p><strong>What to like:</strong></p>
<ul><li>Deep GitHub integration: you get PR summaries, code review suggestions, and repo-aware context from your own repositories right out of the box.</li><li>Copilot added a proper agent mode in March 2026, letting you assign issues and multi-file tasks with less hand-holding than earlier versions.</li><li>You also get access to GPT-4o, Claude Sonnet, and Gemini under a single subscription.</li><li>The free tier includes 2,000 completions and 50 chat messages per month, which is enough to use it on real work and see whether it’s worth paying for.</li></ul>
<p><strong>Tradeoffs to expect:</strong></p>
<ul><li>The agent mode still trails Cursor and Claude Code on complex multi-file tasks, but the gap has narrowed considerably since March 2026.</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Teams that already live in GitHub and want the easiest way to add AI coding help without changing how they work</li><li>Developers who want to try AI coding help for $10/month before committing to a more heavyweight tool</li></ul>
<p><a id="cline"></a></p><h3>Cline</h3><p><a href="https://github.com/cline/cline" rel="nofollow noopener">Cline</a> is an open-source VS Code extension for full agentic coding, with MCP support and bring-your-own-API-key flexibility. There’s no subscription fee, so you only pay your actual API costs, and it shows every file operation before it runs.</p>
<p><strong>What to like:</strong></p>
<ul><li>Every file read, write, and API call is shown before it happens, so you can see exactly what Cline is doing without any extra setup</li><li>BYOK gives you the flexibility to choose the provider that best fits your setup — OpenAI, Anthropic, Gemini, AWS Bedrock, or even local models through Ollama</li><li>Full MCP support also makes it easy to connect Cline to databases, GitHub, and other external tools.</li></ul>
<p><strong>Tradeoffs to keep in mind:</strong></p>
<ul><li>It takes a bit more setup than plug-and-play tools since you’ll need to bring and manage your own API keys.</li><li>If you use it a lot in autonomous mode with long-context models, your API bill can climb past what you'd pay for a flat $20/month subscription</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Cost-conscious developers and teams that want clear visibility into what the tool is doing, or need stronger control over data sovereignty</li><li>Organizations that want fine-grained control over which model handles each request</li></ul>
<p><a id="gemini-code-assist"></a></p><h3>Gemini Code Assist</h3><p><a href="https://cloud.google.com/gemini/docs/codeassist/overview" rel="nofollow noopener">Gemini Code Assist</a> stands out for having the biggest context window in this category: one million tokens. That means you can work with a huge amount of code at once without constantly trimming things down. The individual tier is also free with a Google account. It’s also worth noting that some of the team behind Windsurf’s strongest ideas — CEO Varun Mohan and co-founder Douglas Chen — now work at Google DeepMind on Gemini coding agents.</p>
<p><strong>What to like:</strong></p>
<ul><li>One-million-token context window — you can work with entire codebases at once instead of splitting everything into chunks or constantly babysitting context</li><li>Free for individual developers with a Google account, and Gemini CLI also gives you a free terminal tool with up to 1,000 requests per day</li><li>The team behind some of Windsurf’s best ideas is now helping shape Gemini Code Assist, which gives the product a familiar feel if that’s what you liked about Windsurf</li></ul>
<p><strong>Tradeoffs to keep in mind:</strong></p>
<ul><li>If hands-off, agentic task execution is what you care about most, Cursor still has the edge</li><li>Enterprise pricing is on the pricey side at $75/user/month, and MCP support still relies on third-party extensions.</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Google Cloud and Workspace teams that want a more native, tightly integrated setup</li><li>Developers who liked Windsurf’s context handling and want a free option with an even bigger context window</li></ul>
<p>For a broader look at how the underlying models compare on coding tasks, see our <a href="https://www.builder.io/blog/best-llms-for-coding">best LLMs for coding</a> breakdown.</p>
<hr /><h2>Terminal-native agents for deep autonomy</h2><p>These tools skip the editor completely. You give them a task from the command line, and they dig through your codebase, write code, run tests, and keep iterating on their own. If you already spend most of your day in the terminal and like the idea of handing off whole features end to end, this category is worth trying before you settle on a GUI-based tool.</p>
<p><a id="claude-code"></a></p><h3>Claude Code</h3><p><a href="https://www.builder.io/blog/claude-code">Claude Code</a> is Anthropic’s terminal-native CLI agent built for handing off entire feature implementations right from your command line. It has also grown remarkably fast for a tool in this category: as of early 2026, it was estimated at $2.5 billion in annualized revenue, and “claude code” hit one million monthly searches in March 2026 — up 20x year over year.</p>
<p><strong>What to like:</strong></p>
<ul><li>The <code>CLAUDE.md</code> file keeps track of project-specific instructions across sessions, so you don’t have to repeat your tech stack and preferences every time you start a new run</li><li>Full MCP support means you can connect Claude Code to your databases, GitHub, external APIs, and custom tools without much setup or friction</li><li>Up to a 200K-token context window on the Pro plan, and up to 1M tokens if you're using the API</li></ul>
<p><strong>Tradeoffs to expect:</strong></p>
<ul><li>There’s no free tier, so you’ll need at least the $20/month Pro plan to get started, and if you rely heavily on Opus, you may bump into 5-hour session limits.</li><li>Purely terminal-based with no GUI — so if you prefer working in a visual editor, it probably won’t feel like the right fit</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Terminal-first developers who want to hand off entire features from start to finish without leaving the command line</li><li>Teams already using Claude, especially since <code>CLAUDE.md</code> helps carry project knowledge from one session to the next</li></ul>
<p><a id="aider"></a></p><h3>Aider</h3><p><a href="https://aider.chat/" rel="nofollow noopener">Aider</a> is a terminal-based AI coding tool that turns every AI edit into a proper Git commit. It’s free, open-source, and works over SSH. If you care more about keeping AI-assisted changes clean, reviewable, and easy to roll back than you do about having a polished editor UI, Aider is built for exactly that kind of workflow.</p>
<p><strong>What to like:</strong></p>
<ul><li>Every AI edit lands in your repository as a proper Git commit, which makes it easy to review, compare, or roll back just like any change made by a teammate.</li><li>SSH support also means you can point Aider at code on a remote server and work there directly, without first pulling the entire codebase down to your local machine</li><li>It connects to OpenAI, Anthropic, Gemini, and local models through Ollama, and it even supports voice input.</li></ul>
<p><strong>Tradeoffs to expect:</strong></p>
<ul><li>It’s terminal-only, so there’s a bit of a learning curve if you’re not already comfortable with Git-heavy workflows</li></ul>
<p><strong>Works well for:</strong></p>
<ul><li>Senior engineers who already live in Git and want AI edits to fit naturally into the same review process as the rest of their code</li><li>Debugging or refactoring code on remote servers and in production-like environments</li></ul>
<hr /><h2>Pick a tool built to last, not one in transition</h2><p>Windsurf is still around, and it’s still shipping updates. But the founding team is gone, the product changed hands, and the price went up. That’s three big signals in a single year, all pointing in the same direction.</p>
<p>The tools whose founding teams are still actively building them — Cursor, Claude Code, Cline, Zed, Builder 2.0 — are just moving faster in 2026 than Windsurf likely will under Cognition’s priorities. That’s not really a knock on Cognition; it’s simply the predictable result of how the company is structured now.</p>
<p><strong>So what would I recommend?</strong></p>
<ul><li>Use <a href="https://www.builder.io/fusion?utm_content=ma-windsurf-recommendation"><strong>Builder 2.0</strong></a> if your team wants visual editing, multiplayer coding, and AI-generated PRs on an existing repo — especially if design or marketing needs to work alongside engineering.</li><li>Use <strong>Cursor</strong> if you want something that feels closest to a drop-in replacement for Windsurf’s IDE experience, while still giving you frontier model access and full VS Code compatibility — the <a href="https://www.builder.io/blog/windsurf-vs-cursor">Windsurf vs. Cursor comparison</a> has the full breakdown.</li><li>Use <strong>Claude Code or Aider</strong> if you do your best work in the terminal and want to hand off full feature implementations end-to-end, with a clear review trail you can actually follow afterward.</li><li>Use <strong>Cline</strong> if you want BYOK flexibility, open-source transparency, or on-prem model deployment without having to give up the editor you already like.</li><li>Use <strong>GitHub Copilot</strong> if switching editors just isn’t realistic and you’re already deeply embedded in the GitHub ecosystem.</li><li>Use <strong>Replit or Bolt.new</strong> if you want to prototype fast in a hosted environment and you're starting from scratch rather than plugging into an existing codebase.</li></ul>
<p>Switching between most of these tools is usually easier than people expect. Most install in minutes, work with your existing editor or API keys, and show you what they're good at within an afternoon. If you're deciding, pick your top two and spend a few hours with each.</p>
<p>If you want the version of this that's already wired up for your whole team — not just developers — <a href="https://www.builder.io/signup?utm_content=ma-windsurf-conclusion"><strong>try Builder Fusion free →</strong></a></p>
<hr /><h2>Frequently asked questions</h2><p><strong>Q: Is Cursor better than Windsurf right now?</strong></p>
<p>In 2026, generally yes. Cursor’s agent mode tends to be more stable, its VS Code compatibility is stronger, and its Tab autocomplete — powered by Supermaven’s Babble model after the November 2024 acquisition — is still one of the fastest in the category. Its $20/month Pro plan also matches Windsurf’s current pricing. If you want the full breakdown, check out the <a href="https://www.builder.io/blog/windsurf-vs-cursor">Windsurf vs. Cursor comparison</a>.</p>
<p><strong>Q: What happened to Windsurf?</strong></p>
<p>Windsurf — formerly Codeium, and rebranded in April 2025 — went through a pretty dramatic shake-up. In July 2025, Google DeepMind acquihired the founding team for $2.4 billion after OpenAI’s $3 billion acquisition attempt collapsed when Microsoft blocked the deal. After that, Cognition AI (the team behind Devin) bought the remaining product, IP, enterprise customers, and team for roughly $250 million. So today, Windsurf operates under Cognition ownership, with Jeff Wang serving as interim CEO.</p>
<p><strong>Q: What is the best open-source Windsurf alternative?</strong></p>
<p>Cline is usually the best open-source place to start. It’s the most full-featured option overall: a VS Code extension with agentic coding, MCP support, and BYOK flexibility across the major AI providers. If you’d rather work in the terminal and want cleaner Git history, Aider is probably a better fit. Zed is open source too and worth a look if raw editor performance matters most to you.</p>
<p><strong>Q: Does Claude Code have a free tier?</strong></p>
<p>No — Claude Code doesn’t offer a free tier. To use it, you’ll need at least a Claude Pro subscription, which starts at $20/month (or $17/month billed annually). If you’re looking for a free terminal-based alternative, Gemini CLI gives you 1,000 requests per day with no credit card required, using Gemini models.</p>
<p><strong>Q: Is Supermaven still a standalone product?</strong></p>
<p>Not really. Anysphere, the company behind Cursor, acquired Supermaven in November 2024. The Supermaven plugins are still maintained, but the team’s attention is now mostly on Cursor. Supermaven’s Babble model powers Cursor’s Tab autocomplete, so at this point it’s basically been folded into the Cursor product.</p>
<p><strong>Q: Which Windsurf alternative works best for large codebases?</strong></p>
<p>If you're working in a large codebase, Cursor and Claude Code are usually the best places to start. Cursor is especially good at keeping project-wide context straight across multi-file work, and its Pro+ plan supports up to eight parallel agents. Claude Code is also a strong pick if you prefer working in the terminal, with a 200K-token context window on Pro and up to 1M tokens through the API for deeper codebase analysis. And if your main goal is getting the biggest context window for free, Gemini Code Assist stands out with a one-million-token free tier for individual users. For teams that want parallel agents working on the same large repo without merge conflicts, <a href="https://www.builder.io/fusion?utm_content=ma-windsurf-faq-large">Builder Fusion</a> runs each agent in its own containerized environment and lands every change as a separate PR.</p>
<p><strong>Q: Which Windsurf alternative is best for teams that aren't all developers?</strong></p>
<p><a href="https://www.builder.io/fusion?utm_content=ma-windsurf-faq-team">Builder Fusion</a> is the clearest pick. It's the only tool in this roundup designed for designers, PMs, and marketers to ship real changes alongside engineers — visual edits land as reviewable PRs in the same repo, so non-developers can contribute without code review breaking down. Cursor, Windsurf, Claude Code, and the rest are all developer-only by design.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/windsurf-alternatives">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/e2c76148f4b245a58b59066c7caf2acf" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/e2c76148f4b245a58b59066c7caf2acf"/>
        </item>
        <item>
            <title><![CDATA[Claude Code Routines Tutorial: Schedule, API, and GitHub Triggers Explained]]></title>
            <link>https://www.builder.io/blog/claude-code-routines</link>
            <guid>https://www.builder.io/blog/claude-code-routines</guid>
            <pubDate>Wed, 15 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Claude Code Routines run Claude on autopilot using Anthropic's cloud. Learn to set up schedule, API, and GitHub triggers with copy-paste prompt templates.]]></description>
            <content:encoded><![CDATA[<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "BlogPosting",
      "headline": "Claude Code Routines: Schedule, API, and GitHub Triggers Explained",
      "description": "Claude Code Routines run Claude on autopilot using Anthropic's cloud. Learn to set up schedule, API, and GitHub triggers with copy-paste prompt templates.",
      "datePublished": "2026-04-15",
      "dateModified": "2026-04-15",
      "author": {
        "@type": "Person",
        "name": "Vishwas Gopinath"
      },
      "publisher": {
        "@type": "Organization",
        "name": "Builder.io",
        "url": "https://www.builder.io"
      },
      "url": "https://www.builder.io/blog/claude-code-routines",
      "keywords": ["claude code routines", "claude routines", "claude code automation", "claude code scheduled tasks", "automate claude code", "claude code github automation"]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Do Claude Code Routines run when my laptop is off?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes, and that's the core differentiator. Routines execute on Anthropic-managed cloud infrastructure, not your local machine. Unlike Desktop scheduled tasks (machine-bound) and /loop (session-bound), routines keep running when your laptop is closed. Set a schedule or a GitHub trigger and close the lid."
          }
        },
        {
          "@type": "Question",
          "name": "What's the difference between Claude Code Routines and /schedule?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "/schedule is a CLI shortcut for creating schedule-triggered routines from within a Claude Code session. It creates the same underlying routine object, but only supports the schedule trigger type. To add an API or GitHub trigger, edit the routine at claude.ai/code/routines afterward."
          }
        },
        {
          "@type": "Question",
          "name": "How many times can I run a Claude Code Routine per day?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Each plan has a daily run cap, but Anthropic hasn't published official per-plan numbers in the documentation at time of writing. Check claude.ai/settings/usage to see your current limit and remaining runs."
          }
        },
        {
          "@type": "Question",
          "name": "What happens when a routine hits its event cap?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "GitHub trigger events that arrive after the per-routine hourly cap is exceeded are dropped, not queued for the next window. Keep filter rules narrow so only the events that matter consume your hourly budget. Schedule-triggered and API-triggered runs follow the daily cap, not the hourly one."
          }
        },
        {
          "@type": "Question",
          "name": "Can I share Claude Code Routines with teammates?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Not currently. Routines belong to your individual claude.ai account. Pull requests and commits from a routine appear under your personal GitHub identity. There's no team-sharing, transfer, or co-ownership mechanism in the research preview."
          }
        }
      ]
    }
  ]
}
</script><p>Monday morning. You open your laptop and find 40 issues filed over the weekend, all unlabeled and unassigned. Three pull requests have been waiting since Thursday. The Friday deploy went out but nobody verified it held. You'll spend the entire day on triage instead of work.</p>
<p>Now imagine the same Monday. Every weekend issue is already labeled and assigned. The three PRs each have a review summary with inline comments covering security, performance, and style. A Slack message in #releases confirms the Friday deploy is clean. Claude did all of this while your laptop was closed, running on Anthropic's cloud infrastructure.</p>
<p>That's Claude Code Routines. This tutorial walks through all three trigger types (schedule, API, and GitHub) with real copy-paste prompt templates, a complete <code>/fire</code> endpoint example, and the gotchas that didn't make it into the news coverage.</p><blockquote><p>If you want to see what happens when you scale this further, <a href="https://www.builder.io/signup?utm_source=twitter&amp;utm_content=ma">Builder 2.0</a> runs more than 20 Claude agents in parallel across content and engineering workflows. Routines keep working when your laptop is closed; Builder 2.0 goes further by keeping entire teams of agents running around the clock.</p></blockquote><h2>What Are Claude Code Routines?</h2><p>Claude Code Routines are saved configurations (a prompt, repositories, and connectors) that run automatically on Anthropic-managed cloud infrastructure. They activate via a recurring schedule, an HTTP API call, or a GitHub event. Unlike <code>/loop</code> (session-bound) and Desktop scheduled tasks (machine-bound), routines keep running when your laptop is off.</p>
<p>It helps to think of Claude Code's scheduling options as three separate layers:</p><p>A routine is made of three parts: (1) a <strong>prompt</strong> (the most important piece, since the routine runs without human approval at each step), (2) one or more <strong>repositories</strong> that Claude clones and works in, and (3) optional <strong>connectors</strong> (MCP integrations like Slack, Sentry, Linear, or GitHub) that give Claude access to external services.</p>
<p>One Claude Code routine can combine all three trigger types. A PR review routine can run on a schedule, fire via API call, and react to GitHub events, all from the same saved configuration.</p>
<p>Routines are in research preview. Behavior, limits, and the API surface may change before the feature reaches general availability.</p><h2>How Do You Set Up Your First Claude Code Routine?</h2><p>Create a routine at <code>claude.ai/code/routines</code> by clicking New Routine, writing a name and prompt, connecting repositories, and selecting a trigger. The prompt is the most critical piece: routines run without approval prompts, so be explicit about what to do, which connectors to use, and what success looks like.</p>
<p>Three creation paths exist:</p>
<ol><li><strong>Web UI</strong> at <code>claude.ai/code/routines</code> — supports all three trigger types; the canonical path</li><li><strong>CLI with</strong> <code>/schedule</code> — creates schedule-only routines from within an active Claude Code session; add API or GitHub triggers afterward from the web</li><li><strong>Desktop app</strong> (New Task &gt; New Remote Task) — distinct from local Desktop scheduled tasks, which run on your machine</li></ol>
<p>For web UI creation:</p>
<ol><li>Go to <code>claude.ai/code/routines</code>, click <strong>New Routine</strong></li><li>Give it a name (your reference only; Claude doesn't use it during runs)</li><li>Write the prompt</li><li>Connect one or more GitHub repositories</li><li>Select a trigger type or combine multiple</li><li>Remove any connectors the routine doesn't need; all connected MCP connectors are included by default</li></ol>
<p><strong>What separates a working autonomous prompt from a broken one is specificity.</strong> Routines run without human approval at each step, so the prompt carries the full cognitive load. Specify what "done" looks like: a Slack message, a draft PR, a labeled issue. Name which specific connectors to use; don't assume Claude knows your Slack workspace or Sentry project. Describe what to do when something unexpected happens.</p>
<p>A bad prompt: "Check for issues." A good one: "Read all GitHub issues opened today in {repo}, apply a label from [bug, feature, docs, question, needs-triage] to each, assign it based on which files it references, and post a summary to #dev-standup with the count and breakdown."</p><h2>How Does the Schedule Trigger Automate Recurring Dev Work?</h2><p>The schedule trigger runs a routine on a recurring cadence: hourly, daily, weekdays-only, weekly, or a custom cron expression with a minimum interval of one hour. Schedules are timezone-aware; enter the time in your local zone and it converts automatically. Runs may start a few minutes after the scheduled target; that stagger is small and consistent per routine.</p>
<p>Choose from four preset cadences: hourly, daily, weekdays (Monday through Friday), or weekly. For anything more precise, like every Tuesday at 9am or the first of each month, use a custom cron expression. Set it from the web UI or via <code>/schedule update</code> in the CLI. The minimum interval is one hour; sub-hourly expressions are rejected.</p>
<p>Design for "sometime overnight," not exact timing. If a routine needs to fire at precisely 23:00:00, the schedule trigger is the wrong tool. If a window works, it's the right one.</p>
<p>Here's a prompt template for nightly backlog grooming. Copy it, replace <code>{repo}</code> with your repository name, and adjust the Slack channel:</p><pre><code># Nightly backlog grooming

It's end of day. Read all GitHub issues opened today in {repo}.

For each issue:
- Apply the appropriate label from: bug, feature, docs, question, needs-triage
- Assign it to the relevant owner based on which files or directories it
  references (check CODEOWNERS if one exists)
- If the issue is unclear or missing reproduction steps, leave a comment
  requesting more information — don't label it until the reporter responds

After processing all issues, post a summary to #dev-standup in Slack:
- Total issues processed today
- Breakdown by label
- Any issues flagged as needing human attention

Keep the Slack message concise. Use bullet points. If zero issues were
filed today, post a single line: &quot;No new issues today.&quot;</code></pre><p>With this running on weekdays, the team starts each morning with a labeled, assigned queue. The API trigger works differently: instead of a clock, an HTTP call starts the run.</p><h2>How Do You Fire a Claude Code Routine from the API?</h2><p>The API trigger gives each routine a dedicated HTTP endpoint. POST to it with a bearer token and an optional freeform <code>text</code> field to pass runtime context: alert bodies, deploy metadata, or any string you want Claude to work with. The bearer token is shown exactly once when you generate it; store it immediately, since it cannot be retrieved after that.</p>
<p>The endpoint follows this pattern:</p><pre><code>POST https://api.anthropic.com/v1/claude_code/routines/{trigger_id}/fire</code></pre><p>Full curl example with all required headers (none of the four are optional):</p><pre><code>curl -X POST https://api.anthropic.com/v1/claude_code/routines/{trigger_id}/fire \
  -H &quot;Authorization: Bearer {your_token}&quot; \
  -H &quot;anthropic-beta: experimental-cc-routine-2026-04-01&quot; \
  -H &quot;anthropic-version: 2023-06-01&quot; \
  -H &quot;Content-Type: application/json&quot; \
  -d '{&quot;text&quot;: &quot;Production alert: error rate on /api/checkout exceeded 5% threshold. Alert ID: ALR-4821. Environment: prod-us-east-1.&quot;}'</code></pre><p>On success, you get back a session ID and a URL:</p><pre><code>{
  &quot;type&quot;: &quot;routine_fire&quot;,
  &quot;claude_code_session_id&quot;: &quot;session_01HJKLMNOPQRSTUVWXYZ&quot;,
  &quot;claude_code_session_url&quot;: &quot;https://claude.ai/code/session_01...&quot;
}</code></pre><p>Log that <code>session_url</code>. It links to the live run so you can watch what Claude is doing, review changes, or continue the conversation manually.</p>
<p>Three things to know before you wire this into production:</p>
<p><strong>The</strong> <code>text</code> <strong>field is a literal string.</strong> Whatever you put in it arrives to Claude as plain text. If you send <code>{"alert_id": "123"}</code> in the <code>text</code> field, Claude reads the JSON notation as a string. Write it as human-readable prose ("Alert ID 123 fired in prod") rather than structured data.</p>
<p><strong>Each token is scoped to one routine.</strong> Rotating one token doesn't affect others. Revoke it from the API trigger modal in the routine's edit form.</p>
<p><strong>The beta header may rotate.</strong> <code>experimental-cc-routine-2026-04-01</code> is currently required. Two of the most recent previous header versions continue to work temporarily; migrate when Anthropic ships a new dated header. Verify the current header in the <a href="https://code.claude.com/docs/en/routines">Claude Code Routines documentation</a> before shipping any integration.</p>
<p>A practical use case: wire your monitoring tool to call <code>/fire</code> when an error rate threshold is crossed, passing the alert body as <code>text</code>. The routine pulls the stack trace, correlates it with recent commits, and opens a draft PR with a proposed fix. Your on-call engineer reviews a PR instead of starting from a blank terminal at 2am.</p>
<p>The GitHub trigger flips the activation model: instead of your toolchain calling Claude, GitHub calls it automatically on repository events.</p><h2>How Does the GitHub Trigger Work for Automated PR Reviews?</h2><p>The GitHub trigger fires a new routine session on matching pull request or release events. It requires the Claude GitHub App installed on the target repository, separate from running <code>/web-setup</code>. Filter rules let you scope exactly which events activate the routine. Events beyond the per-routine hourly cap are dropped, not queued.</p>
<p><strong>Supported events:</strong> <code>pull_request</code> (opened, closed, assigned, labeled, synchronized, or otherwise updated) and <code>release</code> (created, published, edited, or deleted).</p>
<p><strong>Setup requires two separate steps; many people stop after the first one:</strong></p>
<ol><li>Run <code>/web-setup</code> in Claude Code to grant repository access for cloning (already done if you've used Claude Code with this repo)</li><li>Install the <strong>Claude GitHub App</strong> on the target repository to enable webhook delivery. Running <code>/web-setup</code> does not install the GitHub App. Both are required. The UI prompts you, but it's easy to stop after step 1 and wonder why triggers aren't firing.</li></ol>
<p><strong>Filtering</strong> narrows which events activate the routine. Filter on: Author, Title, Body, Base branch, Head branch, Labels, Is draft, Is merged, From fork. All filter conditions must match for the routine to fire.</p>
<p><strong>The regex operator gotcha:</strong> <code>matches regex</code> tests the <em>entire</em> field value, not a substring. To match any PR title containing "hotfix", write <code>.*hotfix.*</code>. Without the surrounding <code>.*</code>, the filter only matches a title that is <em>exactly</em> the word "hotfix" with nothing before or after it. For simple substring matching, use <code>contains</code> instead.</p>
<p><strong>Branch permissions:</strong> By default, Claude can only push to <code>claude/</code>-prefixed branches. To push elsewhere, enable "Allow unrestricted branch pushes" in the routine settings. Commits and PRs appear under your personal GitHub identity, not a bot account.</p>
<p><strong>Session model:</strong> Each matching GitHub event starts a fresh Claude Code session with no state carryover from previous runs. Write prompts that are self-contained per event.</p>
<p><strong>Events at the cap are dropped.</strong> If your repo is high-volume, keep filters narrow. Events that arrive after the per-routine hourly cap is hit are gone until the window resets; they are not retried.</p>
<p>Here's a PR code review prompt template. Adapt the checklist to your team's actual standards:</p><pre><code># PR code review checklist

A new pull request has been opened. Review it against our team checklist.

## Security
- Any hardcoded secrets, API keys, or credentials in the diff?
- Any unvalidated user inputs that could enable injection attacks?
- Any new dependencies? If so, check for known CVEs.

## Performance
- N+1 query patterns in ORM calls?
- Missing database indexes for new query patterns in this PR?
- Large synchronous operations that should be async?

## Code style
- Follows our eslint configuration?
- Consistent naming with the rest of the codebase?
- Functions and variables named clearly enough to be self-documenting?

Leave an inline comment on each specific issue found. Give the line
number and the specific fix, not vague observations like &quot;there might
be a performance issue here.&quot;

Post a top-level summary comment with a pass/fail for each category.
Human reviewers should focus on design decisions, not mechanical checks.</code></pre><p>Run this on <code>pull_request.opened</code> and reviewers stop spending attention on SQL injection checks and naming conventions. That frees up code review for the work that actually requires human judgment.</p><h2>How Do Claude Code Routines Compare to GitHub Actions, cron, and n8n?</h2><p>Claude Code Routines are purpose-built for AI-powered dev automation: they run Claude natively on Anthropic's cloud with no YAML required. GitHub Actions wins for language-agnostic CI/CD pipelines. n8n and Zapier win for connecting non-coding tools across hundreds of app integrations. Cron is best for simple local scripts that don't need AI reasoning.</p><p>Routines and GitHub Actions complement each other. Use Actions for build, test, and deploy pipelines. Use Routines for the AI reasoning work around those pipelines: reviewing what got merged, triaging what failed, verifying what deployed.</p>
<p>n8n and Zapier win when you're connecting 10+ SaaS tools without writing code. Routines win when the job requires Claude to reason about developer artifacts: code diffs, issue descriptions, error logs, stack traces. These are different use cases, and the answer for most teams is both.</p>
<p>Cron still has a place. A 20-line bash script that runs nightly and produces clean output is a cron job. When the job needs judgment, reach for Routines.</p><h2>What Are the Limits and Daily Caps for Claude Code Routines?</h2><p>Each plan has a daily run cap visible at <code>claude.ai/code/routines</code> and <a href="https://claude.ai/settings/usage">claude.ai/settings/usage</a>. GitHub trigger events beyond the per-routine hourly cap are dropped, not queued, until the window resets. Organizations with metered usage enabled can continue on overage; others are rejected until the daily window resets.</p>
<p><strong>Daily run cap:</strong> Every plan has one. Check <a href="https://claude.ai/settings/usage">claude.ai/settings/usage</a> to see your current remaining runs. Anthropic hasn't published official per-plan numbers in the docs; don't build critical workflows around figures circulating on social media until they're confirmed.</p>
<p><strong>GitHub hourly cap:</strong> Separate from the daily cap. Events that arrive after the hourly limit is hit are dropped. They're gone until the next window opens. Keep filter rules narrow so only genuinely relevant events consume your budget.</p>
<p><strong>Metered overage:</strong> Team and Enterprise plans with extra usage enabled can continue running on overage billing when the daily cap is hit. Individual and non-metered plan users are rejected until the window resets. Enable extra usage from <strong>Settings &gt; Billing</strong> on claude.ai.</p>
<p><strong>Routine ownership is individual.</strong> Routines belong to your personal <code>claude.ai</code> account, not your team or organization. Commits and PRs appear under your personal GitHub identity. There's no team-sharing or co-ownership during the research preview. If teammates need the same routine, each one sets up their own copy.</p>
<p>All of the above applies to the current research preview and may change as the feature matures.</p><h2>FAQ</h2><p><strong>Do Claude Code Routines run when my laptop is off?</strong></p>
<p>Yes, and that's the core differentiator. Routines execute on Anthropic-managed cloud infrastructure, not your local machine. Unlike Desktop scheduled tasks (machine-bound) and <code>/loop</code> (session-bound), routines keep running when your laptop is closed. Set a schedule or a GitHub trigger and close the lid.</p>
<p><strong>What's the difference between Claude Code Routines and</strong> <code>/schedule</code><strong>?</strong></p>
<p><code>/schedule</code> is a CLI shortcut for creating schedule-triggered routines from within a Claude Code session. It creates the same underlying routine object, but only supports the schedule trigger type. To add an API or GitHub trigger, edit the routine at <code>claude.ai/code/routines</code> afterward.</p>
<p><strong>How many times can I run a Claude Code Routine per day?</strong></p>
<p>Each plan has a daily run cap, but Anthropic hasn't published official per-plan numbers in the documentation at time of writing. Check <a href="https://claude.ai/settings/usage">claude.ai/settings/usage</a> to see your current limit and remaining runs. Don't plan around unconfirmed figures.</p>
<p><strong>What happens when a routine hits its event cap?</strong></p>
<p>GitHub trigger events that arrive after the per-routine hourly cap is exceeded are dropped, not queued for the next window. Keep filter rules narrow so only the events that matter consume your hourly budget. Schedule-triggered and API-triggered runs follow the daily cap, not the hourly one.</p>
<p><strong>Can I share Claude Code Routines with teammates?</strong></p>
<p>Not currently. Routines belong to your individual <code>claude.ai</code> account. Pull requests and commits from a routine appear under your personal GitHub identity. There's no team-sharing, transfer, or co-ownership mechanism in the research preview.</p><h2>Conclusion</h2><p>Claude Code Routines shift Claude from a tool you invoke to one that works alongside you, running on a schedule, responding to API calls, and reacting to GitHub events on Anthropic-managed infrastructure. The three trigger types handle nearly any recurring dev workflow without CI/CD infrastructure or YAML.</p>
<p>Start with the schedule trigger and the backlog grooming template above. It's the lowest-friction way to see a routine complete a full end-to-end run. After the first nightly run finishes, you'll have enough intuition to write the prompt for your actual use case.</p>
<p>Head to <a href="https://claude.ai/code/routines">your routines dashboard</a>, click New Routine, and paste one of the templates. The first run teaches you more than any documentation. Check the <a href="https://code.claude.com/docs/en/routines">Claude Code Routines documentation</a> for the full API reference and limit updates as the research preview matures.</p><blockquote><p>If you want to see what happens when you scale this further, <a href="https://www.builder.io/signup?utm_source=twitter&amp;utm_content=ma">Builder 2.0</a> runs more than 20 Claude agents in parallel across content and engineering workflows. Routines keep working when your laptop is closed; Builder 2.0 goes further by keeping entire teams of agents running around the clock.</p></blockquote>
    <h5><i>Read the <a href="https://www.builder.io/blog/claude-code-routines">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/274d758c42514607a2847d630e1bdb0b" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/274d758c42514607a2847d630e1bdb0b"/>
        </item>
        <item>
            <title><![CDATA[Claude Code Subagents: How to Create, Use, and Debug Them]]></title>
            <link>https://www.builder.io/blog/claude-code-subagents</link>
            <guid>https://www.builder.io/blog/claude-code-subagents</guid>
            <pubDate>Thu, 16 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to create, use, and debug Claude Code subagents to isolate noisy tasks, reduce context bloat, and build reusable AI workflows more efficiently.]]></description>
            <content:encoded><![CDATA[<p>Claude Code feels great—right up until your main thread turns into a pile of logs, grep output, and dead-end research, and you see the dreaded "compacting" start.</p>
<p><strong>Claude Code subagents</strong> help by offloading that noisy side work to specialized workers with their own prompt, tool access, permissions, and optional memory, then returning a clean summary to the main session.</p>
<p>This guide covers what subagents are, how to create them, where they help most, and when the handoff overhead just isn’t worth it.</p><h2>What are Claude Code subagents?</h2><p><a href="https://code.claude.com/docs/en/sub-agents">Claude Code subagents</a> are specialized workers that run in separate context windows, each with their own prompt, tool access, permissions, and optional memory. They’re useful for side work you want to keep out of the main session, like repo exploration, docs lookup, test runs, and result validation.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fefc32f062ac44816b2619b858eede977" alt="A diagram illustrates how a main Claude Code session delegates tasks to three specialized workers—Repo exploration, Docs lookup, and Test run—each returning a clean, summarized output to reduce noise and simplify the main workspace." /><p>Anthropic describes them as custom assistants for specific kinds of tasks. Claude uses a subagent’s description as a routing hint when deciding whether to hand work off to it, so a good subagent is more than a persona. It’s a clearly scoped workflow with the right tools and instructions for a recurring job.</p>
<p>Claude Code already includes versions of this pattern. Explore and Plan are read-only helpers for reconnaissance, while the general-purpose agent handles broader multi-step work. Custom subagents become useful when you want your own repeatable version of that workflow for tasks you do regularly.</p>
<p>A simple mental model is: <code>CLAUDE.md</code> holds ongoing project context, skills store reusable playbooks, and subagents handle isolated tasks where the main session only needs the result.</p><h2>Why do Claude Code subagents matter when context is the real bottleneck?</h2><p>In long Claude Code sessions, the real limit usually isn’t capability. It’s context. Even a simple task can turn into file reads, tests, doc searches, log checks, and plenty of dead ends. Before long, the conversation gets crowded with raw artifacts instead of the decisions that actually matter.</p>
<p>That’s where subagents help. They take on bounded, noisy work in separate threads and return condensed results to the parent session. Instead of carrying every search result or debug note forward, the main conversation keeps the conclusions, tradeoffs, and next actions.</p>
<p>They also make parallel work practical. One subagent can inspect the data layer while another traces UI entry points or gathers documentation, then each reports back with a summary. The benefit isn’t just speed—it’s preserving space in the main context window for higher-level reasoning.</p><h2>How do you create and configure Claude Code subagents?</h2><p>You can create Claude Code subagents either from the <code>/agents</code> UI or by writing Markdown files with YAML frontmatter. The main things to get right are scope, description, tool access, permission mode, and prompt design.</p>
<p>Anthropic supports project-level subagents in <code>.claude/agents/</code> and user-level subagents in <code>~/.claude/agents/</code>. Project-level definitions are usually the better default when a workflow depends on a codebase’s conventions. User-level agents are a better fit for portable habits, like repo exploration or docs lookup.</p>
<p>The Markdown file does two jobs: the frontmatter configures the agent, and the body becomes its system prompt. One easy-to-miss detail from Anthropic’s docs is that subagents do not inherit the full default Claude Code system prompt. They get their own prompt plus basic environment details, which makes them easier to shape deliberately.</p>
<p>A good starting pattern for a read-only repo explorer looks like this:</p><pre><code>---
name: repo-explorer
description: Search unfamiliar codebases, map entry points, and summarize the architecture. Do not edit files.
tools: [Read, Grep, Glob]
disallowedTools: [Edit, Write, Bash]
model: haiku
permissionMode: plan
memory: project
---

Find the main app entry points, core data flow, and likely risk areas.
Return a short summary with file paths, key abstractions, and open questions.</code></pre><p>That definition works because each field reinforces the same job: the description helps Claude route to it, the tool access matches the task, and the prompt defines the output.</p>
<p>You can also configure fields like <code>model</code>, <code>maxTurns</code>, <code>mcpServers</code>, <code>hooks</code>, <code>background</code>, and <code>isolation</code>. In practice, though, the most useful fields are usually the simple ones. Start with a sharp description, narrow tools, and the smallest permission surface that still gets the job done. Turn on <code>background: true</code> when a worker can run concurrently without needing clarifying questions. Use <code>isolation: worktree</code> when parallel edits might collide and you want file-system separation.</p>
<p>Claude may delegate automatically, or you can force a specific worker with an <code>@</code> mention. You can also run an entire session as a single agent with <code>claude --agent &lt;name&gt;</code>.</p><h2>What makes a good Claude Code subagent?</h2><p>Once you’ve created a few subagents, the next challenge is making them specific enough to be genuinely useful. The best ones are narrow, shaped around a repeatable job, and easy for Claude to route correctly.</p>
<p>Start with job-shaped names like <code>repo-explorer</code>, <code>test-runner</code>, <code>pr-reviewer</code>, and <code>docs-researcher</code>. Claude tends to route to those more reliably than generic names like <code>frontend-engineer</code>, which sound flexible but give weaker signals and often lead to bloated instructions.</p>
<p>Descriptions matter just as much as names. If the real task is “inspect auth changes and look for unsafe patterns,” say that plainly. Action-oriented language works better than vague capability language. If a subagent keeps misfiring, check the description before you start tweaking the prompt body.</p>
<p>Keep tool access tight. If an agent only needs <code>Read</code>, <code>Glob</code>, and <code>Grep</code>, there’s no reason to give it write access just for convenience. Tightly scoped agents are easier to trust, cheaper to run, and generally much easier to debug.</p>
<p>When a task benefits from persistence, have the agent produce a durable artifact like <code>research.md</code>, <code>plan.md</code>, or <code>review-notes.md</code>. That gives your main session something concrete to verify, edit, and reuse.</p>
<p>Reviewer agents are an especially good fit because they benefit from a clear checklist, a limited toolset, and a crisp output format.</p><h2>What are the best real-world use cases for Claude Code subagents?</h2><p>The best Claude Code subagent use cases are noisy, self-contained tasks where the main session only needs a summary or recommendation back.</p>
<p>Repo exploration is one of the clearest wins. In an unfamiliar codebase, a repo explorer can inspect entry points, trace data flow, and spot conventions, then return a short brief instead of filling the main thread with search output.</p>
<p>Docs lookup is another strong fit. Official docs, changelogs, and example repos can generate a lot of raw material quickly. A docs-focused agent can gather the relevant sources, summarize the differences, and point to the source you should actually trust.</p>
<p>Test runners and log investigators also pay off quickly. Instead of carrying every stack trace forward, the parent session gets the failing files, likely root cause, and the next thing to try.</p>
<p>Reviewer and checker agents are especially reusable. A TypeScript strictness checker, accessibility reviewer, or security reviewer can run near the end of a task and return a compact pass/fail-style summary.</p>
<p>A few concrete examples:</p>
<ul><li><strong>repo-explorer</strong>: maps entry points, data flow, and likely risk areas in an unfamiliar repo.</li><li><strong>docs-researcher</strong>: pulls in official docs and release notes, then summarizes what matters for the task.</li><li><strong>test-runner</strong>: runs targeted tests, groups failures, and suggests the most sensible next debugging step.</li><li><strong>pr-reviewer</strong>: reviews changed files and gives feedback on code quality, testing, and maintainability.</li><li><strong>security-reviewer</strong>: reviews authentication, secret handling, and input boundaries without changing the implementation.</li></ul>
<p>For more advice and helpful patterns, check out my article on <a href="https://www.builder.io/blog/subagents">when and how to use subagents</a>. Subagents work best when the task is separable enough to hand off cleanly.</p><h2>When should you not use Claude Code subagents?</h2><p>Claude Code subagents are not a good fit for every task.</p>
<p>They come with setup, handoff, and context overhead. For small edits, tightly coupled work, or tasks that need constant back-and-forth, it usually makes more sense to stay in the main conversation.</p>
<p>You’ll see the failure mode quickly in feature work that spans multiple layers. Say you’re changing a schema, updating a server route, wiring up a React screen, and fixing the test suite in one pass. That kind of job depends on shared intent across every step. If you split it into too many isolated workers, the mental model can get fragmented, and you end up with awkward summaries and handoffs between phases.</p>
<p>Anthropic's docs are pretty clear about the limits. Subagents start fresh, so they need time to gather context. They also can't spawn other subagents. If you need fast collaboration across multiple phases, the handoff itself can end up being the problem.</p>
<p>A simple rule of thumb works well here: use a subagent when the work is noisy, bounded, and easy to summarize. Stay in the main conversation when the work is small, tightly coupled, or depends on a shared mental model that would get weaker after a summary pass.</p><h2>How do subagents compare with skills, hooks, MCP, and agent teams?</h2><p>Subagents are specialized workers inside a single Claude Code session. Skills store reusable instructions, hooks handle deterministic automation, MCP connects external systems, and agent teams coordinate separate collaborating sessions.</p>
<p>Here’s a simple decision table:</p><p>The most subtle distinction is between subagents and agent teams. Subagents stay inside one session and report back to the parent. Agent teams add peer coordination across separate sessions. As Anthropic's <a href="https://code.claude.com/docs/en/agent-teams">agent teams documentation</a> explains, that coordination can use about 7x more tokens in plan-heavy workflows and comes with more operational overhead.</p>
<p>So the choice mostly comes down to communication. If the parent session just needs a clean result back, use a subagent. If multiple workers need to collaborate as peers, agent teams are the better fit.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F1964fb2e6e6f48b9867a8413c8065fa4" alt="Diagram showing seven Claude Code concepts in labeled boxes: Rules (Always on), Commands (You type it), Skills (Agent decides), Subagents (Main agent spawns new), MCP (Tools + integrations), Hooks (Agent triggers), and Agent teams (Main agent coordinates)." /><p>If you're already using MCP heavily, it's worth reading our guide to <a href="https://www.builder.io/blog/claude-code-mcp-servers">Claude Code MCP servers</a> alongside this one. MCP expands what an agent can access, while subagents put clearer boundaries around how that work gets done.</p><h2>How should developers think about Claude Code subagents going forward?</h2><p>The long-term value of Claude Code subagents is workflow standardization. They let you turn repeated instructions into reusable, scoped building blocks with their own prompt, permissions, and operating rules.</p>
<p>That’s why the feature feels like more than a convenience setting. If you keep repeating the same review loop, repo exploration prompt, or validation pass, that’s usually a sign the workflow wants a more durable shape.</p>
<p>Public adoption still seems early. One recent <a href="https://arxiv.org/abs/2602.14690">exploratory study of agentic coding tool configuration</a> found that advanced artifacts like skills and subagents were often used pretty shallowly. That matches how the ecosystem feels right now: the ideas are solid, but the patterns are still settling.</p>
<p>So start small. Build one or two focused workers for exploration, review, or testing, then watch where the summaries help and where they hide too much context.</p>
<p>If you're already spending a lot of time in Claude Code, this roundup of <a href="https://www.builder.io/blog/claude-code-tips-best-practices">Claude Code tips and best practices</a> is a good next read. Look at the prompts you keep repeating and pick the noisiest one. That's usually the first subagent worth keeping.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/claude-code-subagents">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/8fe72b8720ce4c548c8c2dae723ed8ba" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/8fe72b8720ce4c548c8c2dae723ed8ba"/>
        </item>
        <item>
            <title><![CDATA[The Backlog Problem AI Didn't Solve]]></title>
            <link>https://www.builder.io/blog/the-backlog-problem-ai-didnt-solve</link>
            <guid>https://www.builder.io/blog/the-backlog-problem-ai-didnt-solve</guid>
            <pubDate>Thu, 16 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[AI sped up every step. The backlog didn't shrink. Here's the structural problem most teams are missing, and what actually fixes it.]]></description>
            <content:encoded><![CDATA[<p><em>The backlog isn't a prioritization problem. It's a unit cost problem. Here's why AI tools made your team faster but didn't shorten the backlog.</em></p>
<p>Most enterprise product teams have adopted AI tools by now. Developers are using Claude Code and Cursor, product managers are drafting PRDs with Claude, and designers are prototyping in Figma AI. Everyone is faster at their individual job. And somehow, <a href="https://www.builder.io/ai-productivity-gap">the backlog is the same size it was a year ago</a>.</p>
<p>The explanation holds up on inspection. When you speed up each step in a sequential process without changing the process itself, you <a href="https://www.builder.io/blog/ai-wont-save-your-development-process">reach the handoff faster</a>. Writing PRDs and generating prototypes are faster now. But the gap between them is exactly where it was.</p>
<p>What most teams want to test is whether lots of small incremental improvements can deliver more business value than a few large strategic projects. The hypothesis is almost always yes. The problem is that even the small things, the backlog items that never get addressed, require moving through the same heavyweight process as everything else. Without a way to connect AI directly to the codebase and let reviews happen in context, nothing gets faster except the individual steps. The handoffs stay exactly where they were.</p><h2>The four-bucket problem</h2><p>Most product teams are managing work across roughly four categories at any given time:</p>
<ul><li>Large strategic initiatives that span multiple quarters</li><li>Sprint-level enhancements</li><li>A backlog of smaller improvements that compound into meaningful product quality over time</li><li>Ongoing bug fixes and support</li></ul>
<p>The first two get prioritized. Bug fixes only get attention when something breaks, but small backlog items rarely do.</p>
<p>The problem is structural. The cost of a backlog item is almost the same as that of a full enhancement. Both require a designer to create something, a developer to build it, a round of back-and-forth between them, a review cycle, and a deployment process. When the unit cost is that high, the small things never pencil out. They stay on the board indefinitely.<a href="https://www.builder.io/blog/fix-the-workflow-not-the-headcount"> Adding headcount doesn't solve it either</a>.</p>
<p>When AI has direct access to your codebase, design system, and existing context, the unit cost of small changes drops significantly. A designer or PM can describe a change; the agent builds it in an isolated branch; a developer reviews the diff; and it ships. The infrastructure exists to handle it without consuming a full sprint. The backlog becomes addressable.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F22492a5cc0384beaa9d95ebe8f622967?width=780" alt="A diagram showing two parallel project workflows. The top row, labeled &quot;major feature,&quot; consists of five sequential steps: design, build, review, QA, and ship. The bottom row, labeled &quot;small backlog fix,&quot; consists of the exact same five steps. A large bracket on the right connects both rows, labeled &quot;same cost,&quot; illustrating that both large and small projects currently require the same heavy, inefficient process." /><h2>Why the tool-per-step approach falls short</h2><p>The obvious response to slow handoffs is to make each tool faster. Better Figma prototyping. Faster design-to-code conversion. AI-assisted code review. These are real gains, and teams that have adopted them are measurably faster at each step. The steps are still separate, though, and the people doing them are still in separate tools.</p>
<p>What you end up with is four faster silos handing off to each other. Designers work visually. Developers work in code. Neither can easily contribute to the other's environment. The iteration cycle at the end, when you're trying to reconcile what was designed with what was built, stays expensive. You've just arrived at it sooner.</p>
<p>The gap is in connecting the generated UI to the existing infrastructure. Legacy integrations, API contracts, and backend services with documented but sprawling context. When AI doesn't have access to that context, it generates something that looks right and works in isolation but doesn't fit the actual system. A human has to catch that, and the review cycle stays as heavy as ever.</p><h2>What the collaboration layer actually changes</h2><p>The shift isn't about replacing the tools people already use. Most developers will keep using the IDE they prefer. Designers will keep working in Figma. What changes is that there's a shared environment where the work comes together. A PM assigns a backlog ticket to an agent; the agent builds against the real codebase and surfaces a preview link; the designer refines it visually; QA validates it. The branch carries the context the whole way, and the engineer reviews a diff rather than rebuilding someone else's feedback from scratch.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F33195821c6534047ba56b3bfc8c5debe?width=780" alt="A flowchart illustrating a product development process moving from Idea, Spec, Design, Prototype, Code, and Review to Ship. Red 'x' marks cross out the traditional, sequential handoff lines between these stages, while a single, prominent green arrow shows a path that skips directly from Idea to Ship, representing a streamlined workflow." /><p>AI is only as useful as the context you give it, and different types of work require different contexts. A conceptual prototype needs very little. A high-fidelity prototype heading toward production needs to meet accessibility standards, meet compliance requirements, address geo-specific constraints, and be informed by the service architecture behind it. The workflow has to reflect those differences, not flatten them.</p>
<p>The agent opens a PR. A developer reviews it. A designer confirms the visual output. The work that used to sit in the backlog for quarters is shipped in days.<a href="https://www.builder.io/engineering-teams"> The strategic work doesn't get crowded out</a> because the small things are no longer competing for the same resources.</p>
<p>The real leverage is in the process, and that's what actually moves the backlog.</p>
<p><em>Builder connects to your existing codebase, design system, and git workflows so every role on your team can build, review, and ship together. <a href="https://beta.builder.io/signup">Sign up for a free trial.</a></em></p>
    <h5><i>Read the <a href="https://www.builder.io/blog/the-backlog-problem-ai-didnt-solve">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/ed60b8cc8e2b4a35bf87ccaa400830d6" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/ed60b8cc8e2b4a35bf87ccaa400830d6"/>
        </item>
        <item>
            <title><![CDATA[The New Path from Prototype to Production]]></title>
            <link>https://www.builder.io/blog/new-path-from-prototype-to-production</link>
            <guid>https://www.builder.io/blog/new-path-from-prototype-to-production</guid>
            <pubDate>Mon, 13 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[A new workflow for product teams that moves work beyond engineering, with faster iteration, earlier validation, and collaboration from prototype to production.]]></description>
            <content:encoded><![CDATA[<p>I recently spoke at a multi-day event for product leaders across SaaS and enterprise software. The audience included PMs, product execs, and teams responsible for shipping and adoption. Across conversations, one question kept coming up: How do I get engineering leadership on board with this way of working?</p>
<p>The answer starts with <a href="https://www.builder.io/blog/ai-wont-save-your-development-process">how work moves</a>.</p>
<p>Teams are starting to split the work differently. Developers use tools like Claude Code for the parts that require deep engineering judgment: core logic, architecture, anything that touches systems or performance. That work stays with them.</p>
<p>Once that foundation is in place, the rest of the work can move forward. The branch gets pushed into Builder. From there, other roles take over directly in the code:</p>
<ul><li>QA finds bugs and fixes them without routing everything back through engineering</li><li>Designers refine spacing, interactions, and visual details themselves</li><li>Product updates copy, tracking, and small requirements without opening new tickets</li></ul>
<p>The last mile of development, which tends to be the most fragmented and time-consuming, stops flowing through engineers.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fc41a952c410941638b04ac0d1b1643e7?width=780" alt="A diagram illustrating a broken, inefficient software development workflow. The process follows a linear, cascading path from Idea to Spec, Design, Prototype, Code, Review, and Ship, but features numerous backward-pointing arrows showing how work frequently reverts from later stages back to earlier ones." /><p>This shift resonates with engineering leaders for a specific reason. When product and design generate and refine working code themselves, engineers spend more time on architecture, performance, and system design. Work moves in parallel across the team. Throughput increases without adding headcount.</p>
<p>That shift in ownership also changes when teams learn. Engineering teams spend significant time rebuilding work after launch. Requirements evolve once real users interact with a feature, which drives rework and slows teams down.</p>
<p>Teams at the event connected quickly with a different approach: validate earlier, while the work is still easy to change. With Builder, product and design teams generate working code, push it to a branch, and share a live preview with customers. Feedback comes from real usage through those previews.</p>
<p>By the time something reaches engineering, the direction is clear. The team has already seen how users respond. Engineers review and finalize work that reflects real usage. Iteration cycles shrink. Quality improves.</p>
<p>One idea kept coming up in follow-up conversations: iterate before production. That principle carries through to the rest of the workflow. Engineers still start work as they normally would. They open branches and push changes. From there, review and refinement move to the right roles:</p>
<ul><li>Designers adjust directly in code</li><li>Product refines scope based on feedback</li><li>QA tests and resolves issues before a pull request reaches engineering</li></ul>
<p>Engineers stay focused on <a href="https://www.builder.io/engineering-teams">code quality and system-level decisions</a>. The rest of the team contributes directly to building and validating what ships.</p>
<p>The experience feels familiar. It mirrors how teams already collaborate in tools like Google Docs or Figma. Work is shared, visible, and easy to evolve. AI agents handle repetitive tasks. People focus on judgment and decisions.</p>
<p>Underneath this is a broader shift toward agent-native development, where the agent and the interface operate as a single system. Work moves fluidly between people and automation across the entire workflow.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F09f4e8605b1c492d931549e7fa3ae236?width=780" alt="A diagram showing an upward-sloping staircase labeled with stages: Idea, Version 1, Version 2, Release, Version 3, and Version ..., accompanied by a blue arrow labeled &quot;feedback &amp; iterate&quot; pointing upward to represent an iterative development process." /><p>The takeaway from the event was consistent. Teams want faster delivery. They want less rework. They want to involve more of the team in building and get closer to real customer feedback earlier in the process. <a href="https://www.builder.io/">This model supports that shift.</a></p>
<p>If you want to put this workflow into practice, <a href="https://beta.builder.io/signup">you can start using Builder today</a>.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/new-path-from-prototype-to-production">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/cf83cf76faaa485f9d23c021a3f2f5c0" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/cf83cf76faaa485f9d23c021a3f2f5c0"/>
        </item>
        <item>
            <title><![CDATA[Claude Advisor API: Use Opus for 80% Less Money]]></title>
            <link>https://www.builder.io/blog/the-claude-advisor-pattern</link>
            <guid>https://www.builder.io/blog/the-claude-advisor-pattern</guid>
            <pubDate>Sun, 12 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[Learn how Claude Advisor API intelligently pairs Sonnet or Haiku with Opus in one call, boosting quality on hard tasks while cutting costs by up to 80%.]]></description>
            <content:encoded><![CDATA[<link rel="alternate" hreflang="en" href="https://www.builder.io/blog/the-claude-advisor-pattern" />
<link rel="alternate" hreflang="es" href="https://www.builder.io/blog/patron-asesor-claude" />
<link rel="alternate" hreflang="x-default" href="https://www.builder.io/blog/the-claude-advisor-pattern" />
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "BlogPosting",
      "headline": "Claude Advisor API: Use Opus for 80% Less Money",
      "description": "The Claude advisor API is beta: pair Opus with Sonnet or",
      "url": "https://www.builder.io/blog/the-claude-advisor-pattern",
      "datePublished": "2026-04-12",
      "dateModified": "2026-04-12",
      "publisher": {
        "@type": "Organization",
        "name": "Builder.io",
        "url": "https://www.builder.io",
        "logo": {
          "@type": "ImageObject",
          "url": "https://www.builder.io/logo.png"
        }
      },
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://www.builder.io/blog/the-claude-advisor-pattern"
      },
      "author": {
        "@type": "Person",
        "name": "Matt Abrams",
        "url": "https://www.builder.io/blog/authors/matt-abrams"
      },
      "image": "https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fb9aa7fc89bff40eeaf0a220028327fc2",
      "wordCount": 2170
    },
    {
      "@type": "FAQPage",
      "name": "Claude Advisor API: Use Opus for 80% Less Money",
      "publisher": {
        "@type": "Organization",
        "name": "Builder.io",
        "url": "https://www.builder.io"
      },
      "mainContentOfPage": {
        "@type": "WebPageElement",
        "cssSelector": "article"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What model pairs work with the Claude advisor tool?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Three pairs are currently supported: Claude Haiku 4.5 as executor with Claude Opus 4.6 as advisor; Claude Sonnet 4.6 as executor with Claude Opus 4.6 as advisor; and Claude Opus 4.6 running as both executor and advisor. Any other combination returns an HTTP 400 error. The advisor must always be at least as capable as the executor."
          }
        },
        {
          "@type": "Question",
          "name": "Does the Claude advisor tool work with Claude Haiku?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Claude Haiku 4.5 can be the executor with Claude Opus 4.6 as the advisor. In Anthropic's BrowseComp benchmarks, this pair improved Haiku's performance from 19.7% to 41.2% (more than double) while costing 85% less than Sonnet. For high-volume tasks that need occasional complex reasoning, this pair delivers better quality at a fraction of Sonnet's cost."
          }
        },
        {
          "@type": "Question",
          "name": "How much does the Claude advisor tool cost?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "You're billed at each model's standard per-token rate. The executor (Sonnet or Haiku) generates at its lower rate. Opus generates the advisory response (\\~400-700 tokens) at the Opus rate. Total cost typically runs lower than running Opus alone for the same task. Advisor tokens are broken out separately in the usage object for clean cost attribution."
          }
        },
        {
          "@type": "Question",
          "name": "Is the Claude advisor API in beta?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. As of April 2026, the advisor tool requires the anthropic-beta: advisor-tool-2026-03-01 header. It's accessible through the standard Claude API with no special waitlist or application required. Enterprise customers with Zero Data Retention (ZDR) agreements can use it without changing their data handling setup. Contact your Anthropic account team for enterprise-specific arrangements."
          }
        }
      ],
      "primaryImageOfPage": {
        "@type": "ImageObject",
        "url": "https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fb9aa7fc89bff40eeaf0a220028327fc2"
      }
    }
  ]
}
</script><p>If you're building with Claude, you'll hit this wall.</p>
<p>You pick Opus. The reasoning is brilliant. The invoice arrives. You switch to Sonnet. The price drops. So does the quality on anything hard. You pick Opus again for the difficult calls and Sonnet for everything else, and now you're managing two models, two contexts, and two sets of prompts.</p>
<p>Anthropic just shipped a third option that makes that whole dance unnecessary.</p>
<p>The Claude advisor API, in beta since April 9, 2026, lets you pair a fast executor model (Sonnet or Haiku) with Opus as an on-demand advisor. When the executor hits a decision it's not confident about, it calls the advisor mid-task. Opus weighs in. The executor continues. The whole thing happens inside a single API call. No second request. No context synchronization. No orchestration layer.</p>
<p>In Anthropic's benchmarks, Sonnet with an Opus advisor scored 74.8% on SWE-bench Multilingual versus 72.1% for Sonnet alone, and cost 11.9% less than running Opus solo. And the Haiku numbers are even more striking, but we'll get to those.</p>
<p>This post covers what the Claude advisor tool is, how it works server-side, and exactly how to add it to an existing agent.</p><blockquote><p><a href="https://www.builder.io/"><strong>Builder 2.0 is the harness built for exactly this kind of agent work</strong></a> — run 20+ Claude-powered agents in parallel, each in its own cloud container with browser preview, with Slack and Jira wired in so your whole team ships via auto-generated PRs. No orchestration glue, just working features in production.</p></blockquote><hr /><h2>What is the Claude advisor API?</h2><blockquote><p><strong>TL;DR:</strong> The Claude advisor API is a beta feature that lets you designate Claude Opus as an on-demand advisor for a faster executor model (Sonnet or Haiku). The executor calls the advisor mid-task when it needs strategic input. Everything happens in one API call — no extra network round-trips, no orchestration code, no context syncing.</p></blockquote><p>The advisor pattern itself isn't new. In 2023, which is like saying the AI Bronze Age Researchers at UC Berkeley published a paper titled "<a href="https://arxiv.org/abs/2311.01747">How to Train Your Advisor: Steering Black-Box LLMs with ADVISOR MODELS</a>." They found that small models trained to generate per-instance natural language advice could noticeably improve larger models' output. Anthropic built that same pattern directly into the Claude API.</p>
<p>The Anthropic advisor API adds a new tool type to your existing <code>tools</code> array. You enable it with a single beta header. Your executor model (the one doing the actual work) knows when to call the advisor. When it does, the call happens server-side. No round-trip. No client-side logic.</p>
<p>This is available today on the Claude API. It doesn't need a waitlist or special application for API access. Enterprise customers with Zero Data Retention (ZDR) agreements can use it without changing their data handling setup. The advisor is explicitly ZDR-eligible.</p>
<hr /><h2>How does the Claude advisor tool work?</h2><blockquote><p><strong>TL;DR:</strong> The executor model generates normally until it decides it needs help. It emits a signal the server intercepts, which pauses the executor and runs Opus on the full conversation history. Opus sends back ~400-700 tokens of advice — never shown to the user — and the executor resumes informed. One API call, transparent to the client.</p></blockquote><p>Here's the server-side flow step by step:</p>
<ol><li>You send a <code>POST /v1/messages</code> request with the advisor tool defined in the <code>tools</code> array</li><li>The executor model (Sonnet or Haiku) runs and generates output as normal</li><li>When it hits a decision it wants help with, it emits a structured token block (<code>{"type": "server_tool_use", "name": "advisor"}</code>). That's the trigger.</li><li>The server pauses the executor and runs Opus with the <strong>entire conversation history</strong>: the original prompt, every tool call made so far, and every result the executor has seen</li><li>Opus generates an advisory message — a plan, a correction, a strategic next step — in approximately 400-700 tokens</li><li>That advice is injected back into the assistant message stream as an <code>advisor_tool_result</code> block. The user never sees this.</li><li>The executor resumes, now informed by Opus's guidance, and continues generating</li></ol><p>Nothing changes on the client side. One request in, one response out.</p>
<p>Two things to note. The advisor reads full conversation context but can only return text advice. Its tokens bill at the Opus rate but don't count against the executor's <code>max_tokens</code> cap. Both appear in the <code>usage</code> object, so cost attribution is clean.</p>
<hr /><h2>How do you add the Claude advisor tool to an existing agent?</h2><blockquote><p><strong>TL;DR:</strong> Add the <code>anthropic-beta: advisor-tool-2026-03-01</code> header to your request and include <code>{"type": "advisor_20260301", "name": "advisor", "model": "claude-opus-4-6"}</code> in your tools array. Set <code>max_uses</code> to cap advisor calls — the primary cost control lever. That's the full integration: same endpoint, same SDK version, no orchestration changes required. Your existing agent code stays unchanged.</p></blockquote><pre><code>import Anthropic from &quot;@anthropic-ai/sdk&quot;;

const client = new Anthropic();

const response = await client.messages.create({
  model: &quot;claude-sonnet-4-6&quot;,
  max_tokens: 4096,
  tools: [
    {
      type: &quot;advisor_20260301&quot;,
      name: &quot;advisor&quot;,
      model: &quot;claude-opus-4-6&quot;,
      max_uses: 3,
    },
  ],
  messages: [
    {
      role: &quot;user&quot;,
      content:
        &quot;Refactor this Go service to use a worker pool with graceful shutdown.&quot;,
    },
  ],
});

console.log(response.content);</code></pre><p><a href="https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/advisor-tool">curl and Python examples in the Anthropic advisor tool docs.</a></p><h3>Configuring the advisor</h3><p><code>max_uses</code> caps how many times the advisor can be called per request. When that limit is hit, further advisor requests return a <code>max_uses_exceeded</code> block and the executor continues without more advice. This is your primary cost control lever. Set it based on task complexity.</p>
<p><code>caching</code> enables advisor-side prompt caching. Add <code>"caching": {"type": "ephemeral", "ttl": "5m"}</code> if you're expecting three or more advisor calls in a single session. It lets Opus skip re-processing unchanged context on repeat calls, which saves tokens.</p>
<p><strong>System prompt guidance.</strong> Anthropic's recommended approach is to tell the executor when to call the advisor. Their suggested template:</p><blockquote><p>"You have access to an <code>advisor</code> tool backed by a stronger model. Call the advisor before substantive work — before writing, before committing to an interpretation, before building on an assumption. Also call advisor when you believe the task is complete, before delivering output. On tasks longer than a few steps, call advisor at least once before finalizing."</p></blockquote><p>In practice, most of the value comes from one or two advisor calls per task: once early for orientation, once before finalizing output.</p>
<p><strong>Production note:</strong> Priority Tier on the executor model doesn't extend to the advisor. If you're running production workloads, track advisor token usage separately in the <code>usage</code> object. It's broken out by model tier, so cost attribution is clean.</p>
<hr /><h2>Which model pair should you use: Haiku+Opus or Sonnet+Opus?</h2><blockquote><p><strong>TL;DR:</strong> For quality-sensitive tasks — coding agents, architecture decisions, complex research — use Sonnet as executor with Opus as advisor. You get near-Opus accuracy for less than Opus alone. For high-volume, cost-sensitive workloads, the Haiku+Opus pair is worth serious consideration: 85% cheaper than Sonnet, and dramatically better quality than Haiku alone.</p></blockquote><p>The announcement focuses on Sonnet+Opus, and for good reason. Sonnet with an Opus advisor scored <strong>74.8% on SWE-bench Multilingual</strong>, up from 72.1% for Sonnet alone. That's a 2.7 percentage point gain on a hard coding benchmark. And it cost <strong>11.9% less than running Opus solo</strong> for the same tasks.</p>
<p>But the Haiku numbers are more dramatic.</p>
<p>Haiku alone scored <strong>19.7% on BrowseComp</strong>, a research-heavy browsing benchmark. Haiku with an Opus advisor scored <strong>41.2%</strong>. That's more than double. And this Haiku+Opus pair costs <strong>85% less than running Sonnet</strong> for the same task.</p>
<p>That 85% number changes budget conversations. If you're running Claude at scale for classification, extraction, or pattern-matching that occasionally needs complex reasoning, the Haiku+Opus pair is worth testing.</p>
<p>Here's a practical decision matrix:</p><p>One honest caveat. All of these benchmarks are Anthropic's own. No independent third-party results exist yet. This is a three-day-old beta. And Haiku+Opus scores approximately 29% below Sonnet on general tasks. If your bar is raw Sonnet-level quality, use Sonnet+Opus. If you're currently running Haiku and want a cost-effective upgrade, Haiku+Opus is the move.</p>
<p>For broader context on how Opus and Sonnet compare across real agent sessions, our <a href="https://www.builder.io/blog/claude-code">practical guide to Claude Code</a> covers the model selection tradeoffs in daily development.</p>
<hr /><h2>When should you NOT use the Claude advisor tool?</h2><blockquote><p><strong>TL;DR:</strong> Skip the advisor tool for single-turn queries, trivial tasks, and latency-critical paths. It adds the most value in multi-step agentic workflows with real decision points. On simple tasks, the executor won't invoke the advisor anyway — but adding it adds overhead and complexity for no gain.</p></blockquote><p>A few specific patterns where the advisor tool adds no value:</p>
<p><strong>Single-turn queries.</strong> If the user asks "Summarize this document" and there's only one step to take, the executor won't invoke the advisor. The tool sits idle. You've added a beta header and a tool definition for nothing.</p>
<p><strong>Trivial mechanical tasks.</strong> Data formatting, lookups, regex transformations. These don't have decision points that trigger the advisor. Same result, more complexity.</p>
<p><strong>Already-optimized Opus-only workflows.</strong> If you're already running Opus and quality is your only concern, the advisor adds nothing. You're effectively advising Opus with Opus.</p>
<p><strong>Latency-critical paths.</strong> There's no extra network round-trip, but Opus generation still takes time. On paths where every 100ms counts, the advisor's internal invocation adds latency you haven't accounted for.</p>
<p><strong>When you need deterministic behavior.</strong> The advisor introduces non-determinism. Opus may give different guidance on reruns. If your pipeline requires reproducible outputs, test carefully before relying on advisor calls.</p>
<p>Anthropic's <a href="https://www.anthropic.com/research/building-effective-agents">Building Effective Agents guide</a> makes the same point broadly: add complexity only when it demonstrably improves outcomes.</p>
<hr /><h2>FAQ</h2><h3>What model pairs work with the Claude advisor tool?</h3><p>Three pairs are currently supported: Claude Haiku 4.5 as executor with Claude Opus 4.6 as advisor; Claude Sonnet 4.6 as executor with Claude Opus 4.6 as advisor; and Claude Opus 4.6 running as both executor and advisor. Any other combination returns an HTTP 400 error. The advisor must always be at least as capable as the executor.</p><h3>Does the Claude advisor tool work with Claude Haiku?</h3><p>Yes. Claude Haiku 4.5 can be the executor with Claude Opus 4.6 as the advisor. In Anthropic's BrowseComp benchmarks, this pair improved Haiku's performance from 19.7% to 41.2% (more than double) while costing 85% less than Sonnet. For high-volume tasks that need occasional complex reasoning, this pair delivers better quality at a fraction of Sonnet's cost.</p><h3>How much does the Claude advisor tool cost?</h3><p>You're billed at each model's standard per-token rate. The executor (Sonnet or Haiku) generates at its lower rate. Opus generates the advisory response (~400-700 tokens) at the Opus rate. Total cost typically runs lower than running Opus alone for the same task. Advisor tokens are broken out separately in the <code>usage</code> object for clean cost attribution.</p><h3>Is the Claude advisor API in beta?</h3><p>Yes. As of April 2026, the advisor tool requires the <code>anthropic-beta: advisor-tool-2026-03-01</code> header. It's accessible through the standard Claude API with no special waitlist or application required. Enterprise customers with Zero Data Retention (ZDR) agreements can use it without changing their data handling setup. Contact your Anthropic account team for enterprise-specific arrangements.</p>
<hr /><h2>The third option</h2><p>The Opus-or-Sonnet decision used to be a binary tradeoff. You picked quality or you picked cost.</p>
<p>The Claude advisor API gives you a dial. Use Sonnet as your workhorse, bring in Opus on the hard calls, and pay less than you would running Opus full-time. Or go further with Haiku and let Opus double your quality at 85% of Sonnet's cost.</p>
<p>One header and one tool definition to wire it into an existing agent. <a href="https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/advisor-tool">Anthropic's advisor tool documentation</a> covers the full specification, including caching options and Anthropic's complete system prompt template.</p>
<p>If you're building visual workflows on top of Claude agents, <a href="https://www.builder.io/">Builder.io</a> integrates with Claude for AI-powered content and development workflows.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/the-claude-advisor-pattern">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/b9aa7fc89bff40eeaf0a220028327fc2" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/b9aa7fc89bff40eeaf0a220028327fc2"/>
        </item>
        <item>
            <title><![CDATA[AI Development Environments Fixed What Docker Couldn't]]></title>
            <link>https://www.builder.io/blog/ai-developer-environments</link>
            <guid>https://www.builder.io/blog/ai-developer-environments</guid>
            <pubDate>Fri, 03 Apr 2026 18:00:00 GMT</pubDate>
            <description><![CDATA[AI development environments solved what Docker couldn't: cloud agents eliminate setup drift, speed onboarding, and make reproducible coding the default.]]></description>
            <content:encoded><![CDATA[<p>"It works on my machine."</p>
<p>Four words that have haunted software engineering since the dawn of personal computers. You'd think that by 2026, with Docker and Kubernetes and Nix and Dev Containers and an entire platform engineering movement, we'd have put this ghost to rest. We haven't.</p>
<p>A <a href="https://www.prnewswire.com/news-releases/new-report-reveals-alarming-state-of-software-engineering-excellence-most-organizations-failing-to-deliver-on-developer-experience-and-devops-maturity-302483517.html">survey of over 650 engineering leaders</a> and found that <strong>67% of software teams still can't build and test their dev environment within 15 minutes</strong>. And more fuel: <a href="https://www.chainguard.dev/2026-engineering-reality-report">72% of engineers</a> say demands on their time make it hard to build new features, and they only spend 16% of their week actually writing code. A big chunk of the rest? Fighting tooling.</p>
<p>Here's the twist. The fix didn't come from DevOps. It came, almost by accident, from AI.</p>
<p>The cloud-first AI development tools that have exploded over the past year didn't set out to solve environment drift. Agents that spin up their own environments, do the work, and hand you a PR just solved it anyway, as a side effect of their architecture. And that accident might matter more than the code they write.</p><h2>We never actually escaped the setup tax</h2><p>You know the drill. New project, new repo, new pain:</p>
<p>Clone. Install dependencies. Discover the README is three versions out of date. Manually configure environment variables. Realize someone's <code>.env.example</code> is missing half the keys. Fix a port conflict with the other project you forgot was running. Wait twelve minutes for <code>npm install</code> to finish. Pray.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fe88ae0cebc8b4a58825e854b1346097b" alt="A comparison showing the difference between the ideal and actual developer experience. Under the heading &quot;What you actually wanted,&quot; a &quot;Open link - Start coding&quot; box is marked with a checkmark and noted as taking 10 seconds. Under &quot;What you end up with,&quot; a flow chart shows the process: &quot;Clone Repo&quot; to &quot;Install Deps&quot; to &quot;Configure Env Vars&quot; to &quot;Fix Conflicts&quot; to &quot;Wait...&quot; to &quot;It works... maybe?&quot;, with a note at the bottom indicating this takes &quot;2 hours later." /><p>And that's the happy path. The one where nothing fundamentally incompatible lurks in your system Python or your Node version or your shell configuration. The one where you don't spend a full afternoon learning that the project secretly requires a specific version of Postgres that conflicts with the one you already have.</p>
<p>This is <a href="https://www.builder.io/blog/ai-agent-orchestration">the core tension of AI orchestration</a>. When your environment is a bespoke snowflake, everything built on top of it inherits that fragility. And now there's something new built on top of it: AI agents.</p><h2>AI agents turned an annoyance into an emergency</h2><p>The <a href="https://resources.anthropic.com/hubfs/2026%20Agentic%20Coding%20Trends%20Report.pdf">Anthropic 2026 Agentic Coding Trends Report</a> frames a shift that most of us are already living: development is moving from writing code to <strong>orchestrating agents that write code</strong>. Developers now use AI in roughly 60% of their work.</p>
<p>But here's the thing about agents. They're less forgiving than you are.</p>
<p>You, a human, can look at a failing <code>npm install</code> and think, "Oh right, I need to switch to Node 20 for this repo." You adapt. You context-switch. You work around it. An AI agent? It either hallucinates a fix that makes things worse, or it just stops. As Coder's VP of Product <a href="https://coder.com/blog/ephemeral-environments">put it</a>: "Asking an agent to operate in a janky local setup is like asking someone to learn to drive in a car where the steering wheel only sort of works sometimes."</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F6b577e5c096d41d091fd652610267706" alt="A comparison graphic labeled &quot;Why Agents Are More Fragile.&quot; On the left, a human icon labeled &quot;Adapts &amp; continues&quot; thinks &quot;I'll just work around it&quot; while facing a marked-up &quot;Local Env&quot; box. On the right, a robot icon labeled &quot;Halts &amp; fails&quot; displays a thought bubble saying &quot;ERROR: Cannot proceed&quot; while facing an identical &quot;Local Env&quot; box. Below the graphic, the text reads: &quot;Humans adapt. Agents break." /><p>The problem compounds with scale. When you're running <a href="https://www.builder.io/blog/designing-agentic-ai-systems">multiple agents in parallel</a>, which is increasingly how real work gets done, each agent inherits your local environment's quirks. Different tool installs across machines cause agents to produce different outputs for the same prompt. Parallel runs compete for ports, filesystem state, and memory. Reproducibility doesn't just drift. It evaporates.</p>
<p>If your environment is lying to <em>you</em>, you'll probably notice. If it's lying to your agents, you'll get confidently wrong code in a PR you might approve.</p>
<p>I see this all the time. The other day, my agent rewrote an import path to use a package alias that only existed in the local <code>tsconfig</code>, one that had drifted from the repo's canonical version months ago. The code looked perfectly fine. It passed the agent's own checks. It broke in CI. That's an hour of debugging for something that never should have been possible in the first place.</p><h2>Docker and Nix were the right idea, with the wrong tradeoff</h2><p>Containerization was the correct impulse. Docker, Nix, Dev Containers: these tools all recognized that environment consistency is a prerequisite for reliable software, not a nice-to-have.</p>
<p>The problem is that every one of these solutions <em>adds</em> something to your workflow:</p>
<ul><li><strong>Docker:</strong> Dockerfiles to write and maintain, image sizes to manage, and on Mac, the perennial filesystem mount performance tax. It works. It also asks a lot of you.</li><li><strong>Nix:</strong> Technically beautiful for reproducibility. But the learning curve is steep enough to have its own subreddit support group.</li><li><strong>Dev Containers:</strong> Standardizes nicely, but requires VS Code (or compatible editors) and adds container startup time to every session.</li><li><strong>Platform engineering:</strong> The enterprise answer. Dedicated teams building internal developer platforms. Effective, if you can afford to staff it.</li></ul>
<p>These are all bolt-on solutions. They layer consistency <em>on top of</em> local development. You still start with a local machine, and you add tooling to make that machine behave consistently. That's better than nothing. But it's not the same as making the problem disappear.</p>
<p>More importantly, every bolt-on solution requires someone to maintain it. Dockerfiles go stale. Nix flakes need updating. Dev Container configs drift. You're trading one maintenance burden for another, and now you have two things that can break instead of one.</p><h2>Cloud AI agent tools solved this without trying</h2><p>Cloud-first AI coding tools like Builder, Claude Code, Cursor's background agents, or Devin didn't set out to fix "it works on my machine." They set out to make AI-powered development fast and accessible. But their architecture makes environment inconsistency <em>structurally impossible</em>.</p>
<p>Think about what happens when you use a cloud-based AI agent:</p>
<ol><li>You describe a task or assign an issue</li><li>The agent spins up a <strong>fresh cloud environment</strong>: clean OS, correct dependencies, consistent tooling</li><li>It does the work in that isolated container</li><li>It opens a PR with the changes</li><li>You review the diff</li></ol>
<p>At no point does the agent touch your local machine. At no point does it inherit your <code>.zshrc</code> aliases, your stale Homebrew packages, or the rogue Python 2.7 that's been lurking in your PATH since 2019. You didn't configure anything. You didn't debug anything. You just described what you wanted and reviewed what came back.</p>
<p>This isn't a feature in it of itself. It's just a structural byproduct of moving execution to the cloud. Every run starts from the same clean slate. No leftover state, no version mismatches, no port conflicts. The "it works on my machine" problem doesn't get solved—it gets eliminated, because there's no longer a "my machine" in the equation.</p>
<p>The <a href="https://www.builder.io/blog/best-ai-tools-2026">best AI coding tools of 2026</a> all share this pattern to varying degrees. Cloud execution isn't just a deployment convenience. It's an environment consistency guarantee that you get for free.</p><h2>What this means for your team</h2><p>The implications go beyond just "no more env bugs." When there's no setup ritual, the barrier to contributing code drops to nearly zero. This is the shift I described in <a href="https://www.builder.io/blog/ai-software-engineer">The AI Software Engineer in 2026</a>: the developer as orchestrator, not the sole gatekeeper of a local environment that only they understand.</p><img src="https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2Fe6de698584da4b1b86fd7290851fc593" alt="A diagram titled &quot;The New Contribution Model&quot; shows a central &quot;Cloud Environment&quot; bubble connected by arrows to four user icons: a Developer (macOS), a Designer (tablet), a PM (phone), and a Developer (Linux). A single arrow points from the Cloud Environment to a &quot;PR&quot; box, which then points to a &quot;Git&quot; icon. Below the diagram, the text reads: &quot;Same environment. Any device. Every time." /><p>Onboarding gets faster. New hires don't spend their first three days fighting tooling. Open source contributors don't bounce off your project because your README assumes a specific OS. And the async bonus is real: fire off a task, close your laptop, get a notification when the PR is ready. Review it from your phone if you want. The cloud environment doesn't care what device you're on.</p><h2>How we use AI development environments at Builder</h2><p>I work in developer experience, which mostly means marketing, community, and docs. My relationship to our codebase isn't "I'm assigned sprint tickets." It's "I notice things that are broken because I talk to developers all day."</p>
<p>Previously, "noticing something broken" meant filing a JIRA ticket, describing the issue, and waiting for eng to prioritize it. For small paper cuts, that often meant it never got fixed. The overhead of filing, triaging, and assigning a minor annoyance was bigger than the annoyance itself. So you just live with it. You mention it in a Slack thread, someone agrees it's annoying, and the thread dies.</p>
<p>Now that same Slack thread <em>is</em> the fix. I can tag the <code>@Builder.io</code> bot directly in the conversation where I'm already discussing the problem. A few minutes later I get a notification with a link to a <a href="https://www.builder.io/blog/builder-2-0">live preview</a>. I click through to a full dev environment where I can test the fix, poke around, and make further changes myself if I need to.</p>
<p>Sometimes I just confirm the paper cut is gone and approve. Sometimes I dig in and adjust things at the code level. The point is I can operate at whatever level of granularity the situation calls for, without anyone setting anything up for me.</p>
<p>The shift here isn't just speed. It's that the people closest to a problem can now fix it. I see community pain points every day that engineering will never prioritize, because they're small and there's always something bigger on the roadmap. Now those paper cuts actually get addressed, by the person who noticed them, in the conversation where they came up.</p>
<p>This pattern is everywhere at Builder. Designers <a href="https://www.builder.io/blog/designers-can-ship-without-engineering-handoffs">submit PRs with clean one-line diffs</a> for layout tweaks. PMs fully prototype their own feature ideas, and <a href="https://www.builder.io/blog/ai-prototyping">those prototypes become our real code</a>. Engineers end up reviewing already-working implementations instead of translating Figma specs into code. The tedious handoff work is gone, and developers focus on the parts that actually need engineering judgment.</p>
<p>All of it runs on the same consistent cloud environment. No "which branch are you on." No "did you run npm install." That consistency makes everything else work.</p><h2>The best tools make problems invisible</h2><p>The best developer tools don't ask you to fix your environment. They make the problem invisible.</p>
<p>Docker asked you to learn a new tool. Nix asked you to learn a new language. Platform engineering asked your company to hire a new team. AI coding agents didn't ask you anything. They just moved the environment to the cloud, and the problem went away.</p>
<p>That might be AI's most underrated contribution to developer experience. Not the code it writes. Not the PRs it opens. The fact that "it works on my machine" is finally, little-by-little, becoming irrelevant.</p>
<p>The industry spent two decades trying to solve environment consistency with more tooling. Turns out, the answer was to remove the environment from the equation entirely. Sometimes the best fix is just better architecture.</p>
    <h5><i>Read the <a href="https://www.builder.io/blog/ai-developer-environments">full post</a> on the <a href="https://www.builder.io/blog">Builder.io blog</a></i></h5>
  ]]></content:encoded>
            <enclosure url="https://cdn.builder.io/api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/5dc4be2e0a054b70888f39beb02602d8" length="0" type="image//api/v1/image/assets/YJIGb4i01jvw0SRdL5Bt/5dc4be2e0a054b70888f39beb02602d8"/>
        </item>
    </channel>
</rss>