<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Hyperdev: Reviews]]></title><description><![CDATA[Hands-on takes on the tools that claim to make us faster, smarter, or more scalable. From code agents and AI pair programmers to workflow optimizers and prompt engineering sandboxes—we cut through the hype and get into what actually works, what breaks, and where the real leverage is.]]></description><link>https://hyperdev.matsuoka.com/s/reviews</link><image><url>https://substackcdn.com/image/fetch/$s_!j9a7!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab665959-5546-4469-9e93-9e1518976e2b_1024x1024.png</url><title>Hyperdev: Reviews</title><link>https://hyperdev.matsuoka.com/s/reviews</link></image><generator>Substack</generator><lastBuildDate>Wed, 22 Apr 2026 05:20:03 GMT</lastBuildDate><atom:link href="https://hyperdev.matsuoka.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Robert Matsuoka]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[hyperdev@matsuoka.com]]></webMaster><itunes:owner><itunes:email><![CDATA[hyperdev@matsuoka.com]]></itunes:email><itunes:name><![CDATA[Robert Matsuoka]]></itunes:name></itunes:owner><itunes:author><![CDATA[Robert Matsuoka]]></itunes:author><googleplay:owner><![CDATA[hyperdev@matsuoka.com]]></googleplay:owner><googleplay:email><![CDATA[hyperdev@matsuoka.com]]></googleplay:email><googleplay:author><![CDATA[Robert Matsuoka]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[HyperDev’s Three Golden Rules]]></title><description><![CDATA[A Manifesto for Professional AI Work in 2026]]></description><link>https://hyperdev.matsuoka.com/p/hyperdevs-three-golden-rules</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/hyperdevs-three-golden-rules</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Tue, 03 Feb 2026 13:32:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_VyM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_VyM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_VyM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!_VyM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!_VyM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!_VyM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_VyM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2573835,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/186236686?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_VyM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!_VyM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!_VyM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!_VyM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79806a78-e95e-4935-8b5a-bcbacb58f906_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The myth that won&#8217;t die</h2><p>AI is magic. Just ask it a question, get an answer. Type a prompt, receive working code. The tools are so good now that methodology doesn&#8217;t matter&#8212;you can wing it and still get results.</p><p>This breaks down the moment you try to build anything real.</p><p>This manifesto distills what nine months of daily AI-assisted development has taught me. The research is finally catching up&#8212;and the findings match what I was seeing six months before the studies came out.</p><p>What follows is the opposite of &#8220;just ask GPT.&#8221;</p><div><hr></div><h2>First, pick the right tool for the job</h2><p>In my current workflow, ChatGPT is a pal. Claude is my colleague.</p><p>I don&#8217;t mean that as shade&#8212;and this may shift as tools evolve. ChatGPT excels at casual conversation, quick lookups, creative brainstorming, general-purpose chat. When you want to explore an idea without structure, when you&#8217;re killing time, when you need something that feels effortless&#8212;ChatGPT is designed for that experience.</p><p>But professional AI work requires different architecture. Claude.AI offers project-based organization with persistent context, custom instructions per workspace, and document integration that maintains state across sessions. <a href="https://arxiv.org/html/2507.15003v1">Analysis of 2,500+ repositories</a> found that project-aware approaches like Cursor achieved 39% higher merged PR rates&#8212;a University of Chicago team measuring real GitHub outcomes, not survey data. Stateful conversational systems <a href="https://www.sciencedirect.com/science/article/pii/S0747563224002620">consistently show higher user satisfaction</a> over stateless alternatives in controlled studies.</p><p>This isn&#8217;t because of model quality&#8212;Opus 4.5 and GPT-5.2 trade benchmark scores depending on the task. It&#8217;s because of infrastructure. ChatGPT treats each conversation as ephemeral. Claude Projects treat each workspace as a persistent collaboration environment with its own knowledge base, instructions, and accumulated context.</p><p>The underlying principle transcends any specific tool: <strong>project-scoped state</strong> beats conversation-level ephemera for professional work. If Claude Projects didn&#8217;t exist, I&#8217;d build the same pattern with custom tooling. The tool matters less than the architecture.</p><p>Professional work happens in projects. So that&#8217;s where the methodology starts.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M13e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M13e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!M13e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!M13e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!M13e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M13e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2254228,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/186236686?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!M13e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!M13e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!M13e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!M13e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d84c68c-39a8-4fee-9f5b-d1d9ddc1e351_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Rule 1: Don&#8217;t write your own prompts</h2><p>Every project gets its own detailed instructions&#8212;written by Claude, not by you.</p><p>This sounds counterintuitive. Why would you outsource prompt writing to the same system you&#8217;re prompting? Because research consistently shows AI-optimized prompts outperform human-written ones by significant margins.</p><p><a href="https://arxiv.org/abs/2309.03409">Google DeepMind&#8217;s OPRO study</a> found LLM-generated instructions beat human-designed prompts by up to 50% on Big-Bench Hard tasks. The <a href="https://arxiv.org/abs/2401.12954">Suzgun &amp; Kalai Meta-Prompting Framework</a> showed meta-prompting surpassed standard prompting by 17.1%, expert prompting by 17.3%, and multipersona prompting by 15.2%. A <a href="https://www.sciencedirect.com/science/article/pii/S0166361524000447">2025 ScienceDirect study</a> on industrial applications found &#8220;the structure of the prompt itself had greater influence on determinism and correctness than the choice of LLM.&#8221;</p><p>The methodology: When starting any Claude Project, I ask Claude to write the project instructions. I describe what I&#8217;m building, what matters, what I want emphasized. Claude drafts instructions optimized for how Claude processes context. I review, refine, iterate&#8212;but I&#8217;m editing Claude&#8217;s work, not writing from scratch.</p><p>Here&#8217;s why this works: LLMs have specific attention patterns, context prioritization quirks, and interpretation biases. A prompt optimized for how the model actually processes language will outperform one optimized for how humans think prompts should work. <a href="https://arxiv.org/abs/2410.02525">The SPRIG Framework</a> found a single AI-optimized system prompt performs on par with task-specific prompts across 47 different task types&#8212;and those optimized prompts generalize across model families, parameter sizes, and languages.</p><p><strong>One caveat matters:</strong> A <a href="https://mitsloan.mit.edu/ideas-made-to-matter/when-ai-rewrites-your-prompts-it-can-backfire">2025 MIT Sloan study</a> found automatic prompt rewriting degraded performance by 58% when it overrode user intent. Human oversight of AI-generated instructions remains essential. Don&#8217;t just accept whatever Claude produces&#8212;review it, test it, refine it. But start from Claude&#8217;s draft, not your own.</p><p><strong>For knowledge work specifically:</strong> Each Claude Project in my workflow has detailed custom instructions even when the work is generic. Writing projects get tone guidance, formatting preferences, citation requirements. Research projects get source evaluation criteria, synthesis approaches, output structure. Coding projects get architecture patterns, testing expectations, documentation standards. The instructions aren&#8217;t boilerplate&#8212;they&#8217;re optimized context that shapes every response.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a76Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a76Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!a76Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!a76Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!a76Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a76Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2663127,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/186236686?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!a76Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!a76Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!a76Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!a76Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfa26e64-5922-48c3-a4f2-9338535b48a7_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Rule 2: Make your context searchable, not just present</h2><p>Cramming documents into a project isn&#8217;t context management. It&#8217;s hoarding.</p><p>The <a href="https://arxiv.org/abs/2307.03172">Lost in the Middle phenomenon</a>, documented by researchers at Stanford and UW, showed accuracy degrades over 30% when critical information sits in the middle of long contexts. <a href="https://www.trychroma.com/blog/context-rot">Chroma&#8217;s July 2025 study</a> evaluating 18 LLMs confirmed that performance degrades as input length increases&#8212;even on simple tasks. More surprisingly, shuffled incoherent context sometimes outperformed logically structured input.</p><p>More context isn&#8217;t automatically better. Strategic context is better.</p><p><strong>The foundation is working in defined projects.</strong> Every significant task gets its own Claude Project&#8212;not a continuation of some sprawling conversation that&#8217;s accumulated context about twelve different topics. A project for client work. A project for research. A project for each codebase. The discipline of organizing work into discrete, focused workspaces is where methodology starts.</p><p><strong>Claude.AI automatically RAG-indexes documents you add to projects.</strong> This matters. Your documents aren&#8217;t just sitting in the context window hoping Claude notices the relevant paragraph. They&#8217;re indexed and retrieved semantically&#8212;Claude searches them based on what&#8217;s relevant to your current query. This turns document-heavy projects from context-window-stuffing into actual knowledge bases.</p><p>But RAG indexing only works when you give it something worth indexing. I&#8217;m deliberate about what goes into each project:</p><ul><li><p>Project-specific documentation (not everything that might be tangentially relevant)</p></li><li><p>Reference material I&#8217;ll need repeatedly</p></li><li><p>Examples of the output quality I want</p></li><li><p>Previous work that should inform new work</p></li></ul><p><strong>My implementation adds a second layer for code:</strong> I use <a href="https://github.com/bobmatnyc/mcp-vector-search">mcp-vector-search</a>, an MCP server that AST-chunks all code in a project and makes it semantically searchable. This matters because of how code context works.</p><p>The <a href="https://arxiv.org/abs/2505.03379">cAST paper from Carnegie Mellon</a> found AST-aware chunking improved code generation Pass@1 by 2.67-5.5 points across benchmarks, with Recall@5 improvements of +4.3 points. The principle: chunk boundaries aligned with complete syntactic units&#8212;functions, classes, modules&#8212;preserve semantic integrity that naive text splitting destroys.</p><p>When Claude needs context about a specific function, it searches the vector database and retrieves the relevant code chunks with their surrounding context. It&#8217;s not wading through 50,000 lines hoping the important bit isn&#8217;t lost in the middle. It&#8217;s querying a structured knowledge base and getting precisely what&#8217;s relevant.</p><p><strong>For knowledge work without code:</strong> The same principle applies. Don&#8217;t dump every related document into a project and hope for the best. Curate. Organize. Consider which information actually matters for which tasks. If you&#8217;re working with extensive reference material, external RAG systems (<a href="https://arxiv.org/abs/2312.10997">research shows</a> knowledge graph-based RAG reduces hallucinations by 20-30%) beat relying on context window alone.</p><p>The question isn&#8217;t &#8220;how much context can I add?&#8221; It&#8217;s &#8220;what context actually improves output quality for this specific task?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vi6I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vi6I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Vi6I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Vi6I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Vi6I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vi6I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2209922,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/186236686?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Vi6I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Vi6I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Vi6I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Vi6I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08a0033-4ca5-47b4-915f-d997a4c92655_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Rule 3: Build verification into your workflow</h2><p>AI checking AI works&#8212;when structured correctly.</p><p>Hallucination rates vary wildly depending on how you measure. <a href="https://vectara.com/hallucination-leaderboard/">Vectara&#8217;s leaderboard</a> shows 0.7% for the best models on closed-book QA benchmarks, climbing to 29.9% for weaker ones on harder tasks. For code specifically, <a href="https://www.sciencedirect.com/science/article/pii/S0164121224002371">one study of AI-generated code</a> found security vulnerabilities in 48% of samples&#8212;though this varies by language, task complexity, and vulnerability definition. <a href="https://apiiro.com/blog/state-of-agentic-code-security/">Apiiro research</a> found AI-generated code introduced 322% more privilege escalation paths and 153% more design flaws in their analysis.</p><p>The pattern is consistent: unverified AI output ships bugs. Maybe not every time. But often enough that verification isn&#8217;t optional.</p><p><strong>My verification stack has two components:</strong></p><p>First, unit test coverage. When Claude Code generates or modifies code, I require tests for any significant functionality. Not because I don&#8217;t trust the code, but because tests surface the gaps between what I asked for and what was implemented. Tests catch the &#8220;almost right, but not quite&#8221; problem that 66% of developers cite as their top frustration.</p><p>Second&#8212;and this is the part that surprises people&#8212;I use GPT to proofread Claude&#8217;s writing output. Different model, different training data, different biases. When GPT catches something Claude missed, that&#8217;s signal. When both agree, confidence increases.</p><p><a href="https://arxiv.org/abs/2306.05685">State-of-the-art LLMs can align with human judgment up to 85%</a> for evaluation tasks when used correctly. <a href="https://docs.wandb.ai/guides/evaluation">Hallucination detection tools achieve 90-91% accuracy</a>. <a href="https://www.coderabbit.ai/">AI code review tools like CodeRabbit</a> achieve 46% bug detection accuracy versus traditional static analyzers at under 20%, with teams reporting 40% reduction in code review time.</p><p>But LLM-as-judge has documented limitations. <a href="https://arxiv.org/abs/2310.14566">Hallucination &#8220;echo chambers&#8221;</a> form when generating and evaluating models share biases. Best practices from the research: use binary yes/no questions (outperform complex scales), prompt LLMs to explain ratings, use multiple evaluators with voting or averaging.</p><p><strong>The enterprise standard:</strong> <a href="https://www.ibm.com/downloads/cas/AI-Adoption-Index-2025">76% of organizations</a> now include human-in-the-loop workflows to catch hallucinations before deployment. Knowledge workers spend an average of 4.3 hours per week fact-checking AI outputs. That time isn&#8217;t overhead&#8212;it&#8217;s the actual cost of making AI work reliable.</p><p><strong>For knowledge work:</strong> Every significant document I produce with AI assistance gets reviewed by a different model before it ships. Sometimes that&#8217;s GPT reviewing Claude. Sometimes it&#8217;s Claude reviewing its own earlier work with fresh context. The specific models matter less than the principle: verification is not optional.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NThh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NThh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!NThh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!NThh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!NThh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NThh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2223381,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/186236686?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NThh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!NThh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!NThh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!NThh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73b199e6-10e5-47e2-86ec-f03d9edcd2d0_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The gaps that remain</h2><p>Two problems Claude.AI doesn&#8217;t solve yet.</p><p><strong>Cross-project knowledge.</strong> Every project is an island. Work you did in one project doesn&#8217;t inform another. If you&#8217;ve solved a similar problem before, Claude doesn&#8217;t know unless you manually copy context over.</p><p>You can build this yourself with git&#8212;treat your Claude Projects like a monorepo where related work lives in the same repository structure, manually maintaining connections. I expect Anthropic will ship native cross-project search eventually. Until then, it&#8217;s manual work or custom tooling.</p><p><strong>Temporal decay.</strong> Documents you added six months ago sit alongside documents you added yesterday, weighted equally. Static context gets stale. Your project instructions reference approaches you&#8217;ve since abandoned. Old architecture docs describe systems that no longer exist.</p><p>Claude.AI doesn&#8217;t rank by freshness. It doesn&#8217;t know that your January notes are probably less relevant than your December work. <a href="https://github.com/bobmatnyc/kuzu-memory">Kuzu-memory</a> builds freshness weighting into its knowledge graph architecture&#8212;newer information surfaces more readily. But that&#8217;s external tooling solving a problem the platform should handle natively.</p><p>Both gaps will close. The question is whether you wait for Anthropic or build workarounds now.</p><h2>The implementation pattern</h2><p>Here&#8217;s what this looks like in practice:</p><p><strong>Starting a new project:</strong></p><ol><li><p>Create a Claude Project&#8212;one project per distinct area of work</p></li><li><p>Add curated documents that will be RAG-indexed automatically</p></li><li><p>Ask Claude to draft project instructions based on what I&#8217;m building</p></li><li><p>Review and refine those instructions, testing with sample tasks</p></li><li><p>For code projects, initialize mcp-vector-search to create searchable code context</p></li></ol><p><strong>During work:</strong></p><ol><li><p>Work within the project, maintaining accumulated context</p></li><li><p>For code: rely on vector search for targeted retrieval rather than full-codebase prompts</p></li><li><p>For knowledge work: let Claude&#8217;s RAG indexing surface relevant document sections</p></li><li><p>Track what context actually improves outputs and prune what doesn&#8217;t</p></li></ol><p><strong>Before shipping:</strong></p><ol><li><p>For code: run tests, check coverage, verify the implementation matches intent</p></li><li><p>For writing: have a different model review for errors, inconsistencies, hallucinations</p></li><li><p>For anything significant: human review of the AI-verified output</p></li><li><p>Document what worked for future project instructions</p></li></ol><div><hr></div><h2>What this isn&#8217;t</h2><p>This manifesto isn&#8217;t about making AI slower or more bureaucratic. It&#8217;s about making AI reliable enough to trust with professional work.</p><p>If you&#8217;re exploring an idea, prototyping something throwaway, or just need a quick answer&#8212;open a chat, ask a question, move on. Nothing wrong with casual AI use for casual tasks.</p><p>But the moment stakes rise&#8212;production code, client deliverables, work you&#8217;ll be accountable for&#8212;methodology matters. The developers in the METR study who were 19% slower? They were using AI the casual way&#8212;open a chat, ask a question, accept the output, repeat. No structured context. No optimized prompts. No verification layer. They felt faster while actually slowing down.</p><p>The teams seeing 27-39% productivity gains for junior developers in the <a href="https://arxiv.org/abs/2302.06590">MIT/Harvard/Microsoft field experiment</a>? They had structured workflows, integrated tooling, and verification processes.</p><p>The difference is methodology.</p><div><hr></div><h2>The bottom line</h2><p>Professional AI work in 2026 requires three things:</p><p><strong>Structured instructions:</strong> Don&#8217;t write your own prompts from scratch. Have AI draft optimized instructions, then review and refine. The research shows 17-50% improvement from structured prompting approaches&#8212;gains you&#8217;re leaving on the table with casual use.</p><p><strong>Strategic context:</strong> More isn&#8217;t better. Searchable, organized, task-relevant context beats document hoarding. Work in defined projects. Let Claude&#8217;s RAG indexing do its job. Add AST-aware code chunking for development work. Deliberate document organization following the U-shaped attention curve.</p><p><strong>Systematic verification:</strong> AI checking AI works when structured correctly&#8212;different models, binary evaluation questions, multiple passes. But human-in-the-loop remains the enterprise standard because 46% of knowledge workers report making mistakes based on AI hallucinations.</p><p>The opposite of &#8220;just ask GPT&#8221; isn&#8217;t slower, more complicated AI use. It&#8217;s AI use that actually delivers the productivity gains the marketing promises but casual usage fails to achieve.</p><div><hr></div><p><em>I&#8217;m Bob Matsuoka, writing about agentic coding and AI-powered development at <a href="https://hyperdev.substack.com/">HyperDev</a>. For more on multi-agent orchestration systems, read my analysis of what a <a href="https://hyperdev.matsuoka.com/p/what-does-a-pattern-master-actually">Pattern Master</a> does or my deep dive into the benefits of multi-agent <a href="http://hyperdev.matsuoka.com/p/orchestration-beats-raw-power">orchestration</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[When “Claude Code for Productivity” Meets Reality]]></title><description><![CDATA[A review of Anthropic's new Cowork]]></description><link>https://hyperdev.matsuoka.com/p/when-claude-code-for-productivity</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/when-claude-code-for-productivity</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Thu, 15 Jan 2026 20:07:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wzed!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wzed!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wzed!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!wzed!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!wzed!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!wzed!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wzed!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2023731,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/184691522?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wzed!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!wzed!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!wzed!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!wzed!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60e92686-cfcd-49b1-953e-b32da33b23a0_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><br>I&#8217;ve been running Claude.AI Desktop as a lightweight &#8220;AI OS&#8221; on my Mac for months. The connector ecosystem turned it into my command center&#8212;Linear integration for project management, Google Drive for document access, the whole MCP stack piping context wherever I need it. Works well. Mostly.</p><p>The crashes are what finally broke my patience. Long-running research tasks, complex context synthesis, anything pushing past an hour&#8212;Claude.AI Desktop would inevitably barf and lose everything. No graceful degradation. Just gone.</p><p>So when Anthropic <a href="https://www.anthropic.com/news/cowork">announced Cowork as &#8220;Claude Code for the rest of your work&#8221;</a>? That caught my attention. This came right on the heels of <a href="https://www.anthropic.com/news/claude-for-chrome">/chrome going to beta</a> for all paid users&#8212;the browser agent that lets Claude navigate websites, fill forms, and execute multi-step workflows. Two releases in quick succession that look like the first real push to close the gap between developer-focused Claude Code and everyone else.</p><p>Here&#8217;s where things get interesting: I&#8217;m on vacation this week, but I&#8217;m about to step into a new CTO role (announcement coming soon). I wanted to do proper research on my new company&#8212;reviewing their Github repos, digging through Confluence documentation, mapping out their JIRA workflow. Tasks I would have tackled with Claude Code before, but figured Cowork might handle just as well.</p><p>The verdict? Cowork is a solid step forward with one critical gap that&#8217;ll frustrate power users.</p><h2>What Works</h2><p>Cowork handles long-running tasks dramatically better than Claude.AI Desktop. The architecture borrowed from Claude Code makes an immediate difference.</p><p><a href="https://simonwillison.net/2026/Jan/12/claude-cowork/">Simon Willison&#8217;s analysis</a> revealed that Cowork spins up a full Linux virtual machine using Apple&#8217;s VZVirtualMachine framework. Your designated folder gets mounted into a containerized environment. This explains the stability&#8212;Claude isn&#8217;t wrestling with macOS filesystem quirks directly, and crashes in the VM don&#8217;t take down your whole session.</p><p>Like Claude Code, Cowork sets up to-do lists for complex tasks, breaks work into manageable chunks, and reports progress as it goes. I kicked off a documentation analysis task and walked away for two hours. Came back to find structured notes organized by topic, saved right where I asked for them on my local filesystem.</p><p><a href="https://venturebeat.com/technology/anthropic-launches-cowork-a-claude-desktop-agent-that-works-in-your-files-no">VentureBeat&#8217;s coverage</a> mentioned that Anthropic built Cowork in roughly a week and a half&#8212;Boris Cherny confirmed this timing on X. That recursive approach (building Cowork with Claude Code) shows in how the tool handles work. It thinks in files and folders, not conversation turns. Output lands where you can use it.</p><p>For straightforward productivity tasks&#8212;organizing a mess of screenshots into a spreadsheet, sorting a chaotic downloads folder, drafting reports from scattered notes&#8212;Cowork does the job without hand-holding.</p><h2>Where It Falls Short</h2><p>But here&#8217;s the thing: Cowork is no Claude Code.</p><p>My research project needed context that spanned multiple systems. Github code structure, Confluence documentation patterns, JIRA workflow history. Each piece informed the others. I expected to orchestrate this from Claude.AI&#8212;have it delegate tasks to Cowork, maybe kick off /chrome sessions to pull information from web interfaces, then synthesize everything back into my working context.</p><p>That coordination doesn&#8217;t exist yet.</p><p>What I found instead: each tool operates in isolation. <a href="https://www.theregister.com/2026/01/13/anthropic_previews_claude_cowork_for/">The Register&#8217;s coverage</a> captures the limitation&#8212;Cowork sessions don&#8217;t persist memory across logins, and there&#8217;s no cross-device sync. More critically for my use case, there&#8217;s no native handoff between Claude.AI conversation context and Cowork&#8217;s working memory.</p><p>I ended up building my own bridge. Created a folder that both Cowork and I could access, used artifacts as handoff files, manually copied context back and forth between sessions. Functional but clunky. Still faster than the alternative&#8212;I wouldn&#8217;t have attempted this research at all without Cowork (or Claude Code). The coordination overhead was real, but so was the output.</p><p><a href="https://techplanet.today/post/anthropic-launches-cowork-bringing-claude-codes-power-to-non-technical-users">One TechPlanet user&#8217;s early report</a> echoed this: &#8220;while Cowork can handle complex tasks, it sometimes lacks the nuanced understanding needed for context-specific decisions.&#8221;</p><p>Multi-session work with accumulating context? Still painful. Each Cowork session starts fresh, and you&#8217;re responsible for priming it with whatever prior work matters.</p><h2>The Integration Gap</h2><p>What I expected: Claude.AI as the orchestration layer. Feed it a complex research goal. Have it break the work down, delegate filesystem tasks to Cowork, dispatch browser automation to /chrome, then pull everything back together with its memory of our ongoing conversation.</p><p>What I got: Three capable tools that don&#8217;t talk to each other without significant manual intervention.</p><p>Anthropic will probably close this gap&#8212;the Connectors architecture for linking to third-party services already exists in Claude Desktop. <a href="https://www.axios.com/2026/01/12/ai-anthropic-claude-jobs">Axios notes</a> that Cowork can combine with Claude&#8217;s other features like the Gmail connector. But the coordination layer that would make these tools feel like one coherent system? Not there yet.</p><p>For developers comfortable with Claude Code, you already have workarounds. Shell scripts. MCP servers. Custom tooling. Cowork isn&#8217;t adding much if you&#8217;re already operating at that level.</p><p>For the productivity users Anthropic is targeting with the &#8220;not just developers&#8221; messaging? The isolation between tools will feel arbitrary. Why can&#8217;t I just tell Claude to &#8220;research this company using whatever tools you need and summarize what you find&#8221;?</p><h2>The Upside</h2><p>After a week of testing, I&#8217;ve settled into a workflow: Claude.AI handles memory and complex context management. It holds the ongoing conversation, maintains my research threads, keeps track of what we&#8217;ve already figured out.</p><p>Cowork is a capable executor for tasks that benefit from filesystem access and longer attention spans. The stability alone makes it worth using for anything that would have crashed Claude.AI Desktop before.</p><p>The gap is coordination. Right now, I&#8217;m the integration layer&#8212;shuffling context between tools, managing the handoffs, keeping track of what each system knows.</p><p>That&#8217;s manageable for someone who&#8217;s used to working this way. Less acceptable for the mainstream productivity users this launch targets.</p><h2>The Bigger Picture</h2><p>The pattern unfolding in software engineering is hitting productivity work now. Two sectors should be watching.</p><p>First: SaaS no-code solutions. Zapier, Make, all those 70% solutions that almost do what you need but never quite get there. I&#8217;ll use Cowork over any of them for complex automation, even with current limitations. If Anthropic ships cloud/desktop sync&#8212;and they&#8217;re clearly building toward it&#8212;these platforms will need to move significantly further up the stack or watch their core use cases evaporate. The friction of &#8220;almost works&#8221; loses to &#8220;actually works&#8221; every time.</p><p>Second: certain productivity roles. The pattern I wrote about <a href="https://hyperdev.substack.com/">Monday with pattern masters</a> applies here. Roles heavy on information gathering, document synthesis, and routine coordination are compressing fast. The roles expanding: strategic thinking (someone still has to decide <em>what</em> to build), pattern recognition and synthesis (connecting dots across domains), human service work (empathy doesn&#8217;t automate), and integrators who can scale operations across systems.</p><p>The transition won&#8217;t be uniform&#8212;smaller orgs will feel it first, regulated industries slower&#8212;but the directional pressure is obvious.</p><h2>The Reality of Research Preview</h2><p><a href="https://fortune.com/2026/01/13/anthropic-claude-cowork-ai-agent-file-managing-threaten-startups/">Fortune&#8217;s analysis</a> positions Cowork as a competitive threat to AI productivity and automation startups. Maybe eventually. Right now, it&#8217;s what Boris Cherny said it was: &#8220;early and raw, similar to what Claude Code felt like when it first launched.&#8221;</p><p>The pricing reinforces this. $100 to $200 per month for Claude Max, which you need to access Cowork at all. That&#8217;s enterprise money for a research preview that doesn&#8217;t yet integrate with the rest of Claude&#8217;s ecosystem.</p><p>I&#8217;ll finish my company research when I get home, probably back in Claude Code where multi-session context management works better. But I&#8217;ll keep testing Cowork for the standalone tasks where its stability advantage matters.</p><p>What I&#8217;m really waiting for: seamless coordination between Claude.AI&#8217;s conversation context, Cowork&#8217;s filesystem capabilities, and /chrome&#8217;s browser automation. When those three tools talk to each other natively, we&#8217;ll have something worth getting excited about.</p><p>Until then? Cowork is a solid research preview that shows where Anthropic is heading. Just don&#8217;t expect it to replace your existing workflows quite yet.</p><div><hr></div><p><em>I&#8217;m Bob Matsuoka, writing about agentic coding and AI-powered development at <a href="https://hyperdev.substack.com/">HyperDev</a>. For more on AI productivity tools, read my analysis of <a href="https://hyperdev.substack.com/">Claude Code&#8217;s evolution to agent orchestration</a> or my deep dive into the <a href="https://hyperdev.substack.com/p/dont-be-a-canut-be-a-pattern-master">future</a> of software engineering.</em></p>]]></content:encoded></item><item><title><![CDATA[I Was Wrong About AntiGravity]]></title><description><![CDATA[(But Not In The Way You Think)]]></description><link>https://hyperdev.matsuoka.com/p/i-was-wrong-about-antigravity</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/i-was-wrong-about-antigravity</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Mon, 01 Dec 2025 15:03:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!syc_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!syc_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!syc_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp 424w, https://substackcdn.com/image/fetch/$s_!syc_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp 848w, https://substackcdn.com/image/fetch/$s_!syc_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!syc_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!syc_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp" width="1024" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:25770,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/180065228?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!syc_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp 424w, https://substackcdn.com/image/fetch/$s_!syc_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp 848w, https://substackcdn.com/image/fetch/$s_!syc_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!syc_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2b7f76b-4a0a-4c49-9b84-160f71b9f207_1024x768.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I published a snarky article yesterday (Thanksgiving day) morning trashing AntiGravity and questioning Google&#8217;s scattered, unfocused strategic direction. I need to do a bit of a mea culpa.</p><p>Not because I was wrong about the coding capabilities. Not because Google suddenly has a coherent strategy. I stand by all of that.</p><p>I was wrong because I completely missed the real opportunity.</p><p><a href="https://antigravity.google/">AntiGravity</a> may end up being the best end-user browser testing tool we have.</p><h2>The Penny Dropped Mid-Afternoon</h2><p>Here&#8217;s what happened. I&#8217;d been grinding through my usual workflow&#8212;Claude Code for the heavy lifting, Augment Code for quick iterations&#8212;when I needed to verify some UI changes across a client project. The tedious kind of work. Click through forms, check responsive behavior, verify that the dropdown actually drops down.</p><p>Normally this means either scripting something in Playwright (time I don&#8217;t have), using Safari with AppleScript (painful), or just... clicking through things manually like it&#8217;s 2015.</p><p>On a whim, I pointed AntiGravity at my codebase and asked it to review my recent commits, understand what I&#8217;d changed, and test the affected UI components.</p><p>And then I watched something impressive happen.</p><p>A browser window appeared with a cool blue aura&#8212;Google&#8217;s visual indicator that the agent has taken control. It started navigating to pages I&#8217;d modified. Filling out forms. Scrolling through content. Moving between sections. All while the agent in the IDE was tracking everything: console logs, network requests, visual state changes.</p><p>Slow? Yes. Deliberate, even. But completely autonomous and remarkably thorough.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RmhD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RmhD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp 424w, https://substackcdn.com/image/fetch/$s_!RmhD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp 848w, https://substackcdn.com/image/fetch/$s_!RmhD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!RmhD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RmhD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp" width="1024" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:27134,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/180065228?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RmhD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp 424w, https://substackcdn.com/image/fetch/$s_!RmhD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp 848w, https://substackcdn.com/image/fetch/$s_!RmhD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!RmhD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c169276-aa90-4ff7-9cf5-cd62606ea3d9_1024x768.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What Makes This Different</h2><p>I know what you&#8217;re thinking. Playwright exists. Puppeteer exists. I&#8217;ve written my own MCP browser plugin that I was planning to finish &#8220;someday.&#8221; There are other browser MCP tools out there. Hell, you can cobble together Safari automation with AppleScript if you hate yourself enough.</p><p>But all of that misses the point.</p><p>The integration here runs deep. This isn&#8217;t just browser automation bolted onto a coding tool. It&#8217;s a single agent that can:</p><ol><li><p>Read your entire codebase</p></li><li><p>Understand your recent commits and what changed</p></li><li><p>Either read an existing test plan or <strong>build one</strong> based on what you&#8217;ve touched</p></li><li><p>Execute that test plan in an actual browser</p></li><li><p>Report results back with console logs, screenshots, and video recordings</p></li></ol><p>That last part matters. When something breaks, you get the actual console output. Not &#8220;test failed on line 47.&#8221; The real error messages from your real application.</p><p><a href="https://medium.com/@ihor.sasovets/my-experience-with-the-new-antigravity-ide-from-google-a1d9bbd2a301">Ihor Sasovets</a>, a former SET engineer, spotted this immediately: &#8220;As an ex-SET engineer, I know how much time you spend on selecting the right selector, adding necessary waits and so on. I believe that Antigravity can help you to automate a lot of the processes.&#8221;</p><p><a href="https://simonwillison.net/2025/Nov/18/google-antigravity/">Simon Willison noted</a> that it &#8220;plays a similar role to Playwright MCP, allowing the agent to directly test the web applications it is building.&#8221;</p><p>So I&#8217;m not the only one who noticed. But I might be the first to call it out as the <em>primary</em> use case rather than a side feature.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ypFh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ypFh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp 424w, https://substackcdn.com/image/fetch/$s_!ypFh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp 848w, https://substackcdn.com/image/fetch/$s_!ypFh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!ypFh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ypFh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp" width="1024" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:26798,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/180065228?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ypFh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp 424w, https://substackcdn.com/image/fetch/$s_!ypFh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp 848w, https://substackcdn.com/image/fetch/$s_!ypFh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!ypFh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5d0a4ed-3a36-4c9e-9fe6-fae2e813aafd_1024x768.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>A Workflow That Works</h2><p>Here&#8217;s the scenario that every engineer knows and every QA team hates:</p><p>You&#8217;ve done a few days of coding. Features are &#8220;done.&#8221; Time to hand it off to QA. But you haven&#8217;t really tested it yourself because&#8212;let&#8217;s be honest&#8212;browser testing is tedious as hell and you&#8217;ve got other things to do.</p><p>Now instead of building a test plan manually or throwing it over the wall with a vague &#8220;I changed some stuff in the checkout flow,&#8221; you can:</p><ol><li><p>Point AntiGravity at your branch</p></li><li><p>Ask it to review your commits from the past few days</p></li><li><p>Have it build a user-facing test plan based on what you actually changed</p></li><li><p>Say &#8220;now run it&#8221;</p></li></ol><p>The agent fires up a browser, takes over with that blue aura, and starts methodically working through test scenarios. Form submissions. Navigation flows. Error states. Responsive behavior.</p><p>When it&#8217;s done, you&#8217;ve got documentation of what was tested, screenshots of key states, and a clear record of any failures&#8212;complete with the technical context from your codebase that a human QA tester would have to ask you about.</p><h2>Google Didn&#8217;t Intend This</h2><p>Let me be clear: this is not what Google built AntiGravity for.</p><p>The <a href="https://developers.googleblog.com/en/build-with-google-antigravity-our-new-agentic-development-platform/">official announcement</a> positions it as an &#8220;agentic development platform&#8221; where agents &#8220;autonomously plan and execute complex, end-to-end software tasks.&#8221; Browser control is framed as verification&#8212;the agent writes code, then checks that it works.</p><p>Nowhere does Google say &#8220;hey, use this as your QA automation tool.&#8221;</p><p>But that&#8217;s often how the best use cases emerge. Slack was supposed to be a gaming company. Instagram started as a check-in app. Sometimes you build something and users find the actual value.</p><p>I&#8217;m predicting that browser testing will become AntiGravity&#8217;s killer app. Not because Google intended it, but because nothing else combines codebase understanding with browser control in quite this way.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FOAS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FOAS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp 424w, https://substackcdn.com/image/fetch/$s_!FOAS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp 848w, https://substackcdn.com/image/fetch/$s_!FOAS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!FOAS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FOAS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp" width="1024" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:25490,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/180065228?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FOAS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp 424w, https://substackcdn.com/image/fetch/$s_!FOAS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp 848w, https://substackcdn.com/image/fetch/$s_!FOAS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!FOAS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1900aa9-3a43-448c-a6f4-606806015974_1024x768.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The Token Reality Check</h2><p>Now the bad news.</p><p>One small feature testing session&#8212;maybe 20 minutes of browser interaction&#8212;ate through my entire free token allocation.</p><p>This won&#8217;t be cheap to run regularly.</p><p>The free tier is basically enough to see if the tool works for you. Any serious usage is going to require paid tokens, and based on my initial experience, the cost-per-test-session is going to be meaningful. We&#8217;re not talking Playwright-level costs here. We&#8217;re talking LLM inference costs for an agent that&#8217;s reasoning about your codebase and orchestrating browser actions simultaneously.</p><p>For individual developers doing occasional testing? Probably fine. For teams wanting to run comprehensive test suites? Budget accordingly.</p><h2>Where This Fits In My Stack</h2><p>I&#8217;m not dropping Claude Code. I&#8217;m not abandoning Augment Code. AntiGravity&#8217;s actual coding capabilities remain... let&#8217;s call them &#8220;developing.&#8221;</p><p>But I can see this becoming my third most-used tool, specifically for one narrow but persistent pain point: technical code review paired with user experience validation.</p><p>The integration between &#8220;I can read all your code&#8221; and &#8220;I can also control a browser&#8221; is something I haven&#8217;t seen anywhere else. That combination solves a specific problem I&#8217;ve been hacking around for months.</p><p>My half-finished MCP browser extension? Deleted. The janky AppleScript automation I cobbled together? Gone.</p><h2>The Caveats You Should Know</h2><p>A few things to keep in mind before you get too excited:</p><p><strong>It&#8217;s slow.</strong> Not &#8220;annoyingly slow&#8221; but definitely &#8220;watch it happen rather than fire and forget&#8221; slow. Each action requires reasoning, and reasoning takes time.</p><p><strong>Stability is inconsistent.</strong> <a href="https://devclass.com/2025/11/19/googles-antigravity-arrives-agentic-ai-development-but-frustrating-for-early-adopters/">DevClass reported</a> &#8220;model provider overload&#8221; errors and repeated agent terminations during their testing. I hit similar issues&#8212;not constantly, but often enough to notice.</p><p><strong>Security concerns are real.</strong> <a href="https://embracethered.com/blog/posts/2025/security-keeps-google-antigravity-grounded/">Johann Rehberger documented</a> multiple vulnerabilities including remote command execution and data exfiltration risks. The tool has broad system access by design. That cuts both ways.</p><p><strong>Chrome only.</strong> No Firefox. No Safari. No WebKit testing. If cross-browser validation matters to your workflow, you&#8217;ll still need traditional tools.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!obyM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!obyM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp 424w, https://substackcdn.com/image/fetch/$s_!obyM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp 848w, https://substackcdn.com/image/fetch/$s_!obyM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!obyM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!obyM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp" width="1024" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:26564,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/180065228?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!obyM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp 424w, https://substackcdn.com/image/fetch/$s_!obyM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp 848w, https://substackcdn.com/image/fetch/$s_!obyM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!obyM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c26b941-5fc5-4914-88b6-29e223a17ebd_1024x768.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Bottom Line</h2><p>I was wrong about AntiGravity. Not about the coding quality (still mediocre) or Google&#8217;s strategy (still scattered). I was wrong about where the value lives.</p><p>There&#8217;s nothing quite like this for integrating technical understanding of a codebase with the ability to carefully control a browser. The agent doesn&#8217;t just click buttons&#8212;it knows <em>why</em> it&#8217;s clicking buttons because it read the code that made them.</p><p>Google probably didn&#8217;t plan for this to be the headline feature. But I predict it will be.</p><p>Just budget for the tokens.</p><div><hr></div><p><em>I&#8217;m Bob Matsuoka, writing about agentic coding and AI-powered development at <a href="https://hyperdev.substack.com/">HyperDev</a>. For more on AI coding tool evaluation, read my analysis of <a href="https://hyperdev.substack.com/">The AI Coding Tools Market Correction</a> or my deep dive into <a href="https://hyperdev.substack.com/">Multi-Agent Orchestration in Practice</a>.</em></p><div><hr></div><p><strong>Hero Image Prompt:</strong> A browser window with a subtle glowing blue aura around its edges, showing a partially-filled web form. Code editor visible in the background, slightly out of focus. The browser dominates the foreground with a sense of autonomous control&#8212;no human cursor visible, form fields filling themselves. Cool blue and purple tones, technical but approachable aesthetic. 4:3 aspect ratio.</p>]]></content:encoded></item><item><title><![CDATA[OpenAI’s Codex-Max Solves Q1 2025’s Problem in Q4 2025]]></title><description><![CDATA[It is definitely an improvement, but not enough to make anyone want to switch from it's better competitors.]]></description><link>https://hyperdev.matsuoka.com/p/openais-codex-max-solves-q1-2025s</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/openais-codex-max-solves-q1-2025s</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Thu, 27 Nov 2025 15:00:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8ZYH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8ZYH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8ZYH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!8ZYH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!8ZYH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!8ZYH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8ZYH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2699753,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/179891296?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8ZYH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!8ZYH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!8ZYH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!8ZYH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fdb82f0-41b2-4eb1-b7f6-ab1a267ab787_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I spent the day putting GPT-5.1-Codex-Max through real-world testing on actual production features. Not demos, not toy projects - features for my AI Power Rankings site, tracked through proper tickets, evaluated by my multi-agent orchestration system.</p><p>The results? <em><a href="https://pypi.org/project/claude-mpm/">Claude MPM</a> gave it a <strong>B-</strong></em>. Not my assessment - an AI orchestration framework evaluating another AI tool based on delivered work quality.</p><p>That grade tells you everything about where Codex-Max stands: technically competent, meaningfully improved over the original Codex, and fundamentally too late to matter competitively.</p><h2>TL;DR</h2><ul><li><p>Tested Codex-Max on two production features for AI Power Rankings, tracked via mcp-ticketer with full receipts</p></li><li><p>Claude MPM evaluation: <strong>B-</strong> grade on delivered work quality</p></li><li><p>Significant improvements over original Codex - better UX, stronger coding capabilities</p></li><li><p>Critical gap: No local operations, no deployment automation, no QA integration </p></li><li><p>Augment Code&#8217;s single agent handles full lifecycle including deployment/QA that Codex-Max can&#8217;t touch</p></li><li><p><strong>Bottom line</strong>: Solving Q1 2025&#8217;s problem in Q4 2025 when the market has moved to complete workflow orchestration</p></li><li><p>Better than vibe coding, but that&#8217;s no longer the competitive bar</p></li></ul><h2>The testing setup: real features, real tracking</h2><p>I don&#8217;t do toy demos. When I evaluate tools, I use them on actual production work and document everything. For Codex-Max, I assigned two features on <a href="https://aipowerranking.com/">AI Power Rankings</a>:</p><ol><li><p>Feature enhancement for tool comparison views</p></li><li><p>Data integration improvements for ranking algorithms</p></li></ol><p>The methodology was straightforward: Codex-Max handled the full implementation, creating and managing its own tickets through <a href="https://github.com/bobmatnyc/mcp-ticketer">mcp-ticketer</a> - its MCP integration works fine. When it was done (or done-ish), I brought in Claude MPM to assess the results and fix issues, also using proper ticket tracking and updates. This isn&#8217;t me giving vibes-based opinions - it&#8217;s one AI system reviewing another&#8217;s delivered work based on measurable outcomes.</p><p>The receipts are public: <a href="https://github.com/bobmatnyc/ai-power-rankings/issues/52">GitHub Issue #52</a> shows exactly what was attempted, what succeeded, what failed, and how long everything took. You can see the actual code Codex-Max produced in the <a href="https://github.com/bobmatnyc/ai-power-rankings/tree/feature/original-issues-43-44-implementation">implementation branch</a>.</p><h2>What Claude MPM found</h2><p>The B- grade breaks down into specific strengths and weaknesses:</p><p><strong>What Codex-Max got right:</strong></p><ul><li><p>Clean, readable code generation</p></li><li><p>Reasonable architectural decisions for straightforward features</p></li><li><p>Significantly better UX than the original Codex</p></li><li><p>Multi-file editing that actually worked most of the time</p></li><li><p>GitHub integration that properly understood PR context</p></li></ul><p><strong>Where it fell short:</strong></p><ul><li><p>No ability to handle local deployment workflows</p></li><li><p>Zero QA automation capabilities</p></li><li><p>Cloud-only execution created friction for iterative testing</p></li><li><p>Context preservation degraded on longer tasks despite compaction claims</p></li><li><p>Required more hand-holding than expected for edge cases</p></li></ul><p>The specific example that crystallized the problem: When the feature needed deployment validation and QA checks, Codex-Max just... stopped. It generated the code, opened the PR, and that was it. My agents handle local ops deployment and QA automatically - Codex couldn&#8217;t touch any of that workflow.</p><h2>The timing problem: Q1 in Q4</h2><p>Here&#8217;s what makes this interesting: If I&#8217;d had Codex-Max five months ago, in Q2 2025, I would have been thrilled. The improvements over the original Codex are substantial. The UX polish is real. The coding quality bump matters.</p><p>But we&#8217;re not in Q2 2025. We&#8217;re in Q4 2025, and the market evolved faster than OpenAI shipped.</p><p>What would have been competitive in January 2025:</p><ul><li><p>Better code generation than GitHub Copilot</p></li><li><p>Multi-file editing with reasonable accuracy</p></li><li><p>Cloud execution for async workflows</p></li><li><p>GitHub integration for PR reviews</p></li></ul><p>What the market actually looks like in November 2025:</p><ul><li><p>Complete workflow orchestration from specification to deployment</p></li><li><p>Multi-agent systems handling specialized tasks in parallel</p></li><li><p>Local operations integration as table stakes</p></li><li><p>Full QA automation and testing frameworks</p></li><li><p>Context preservation across days-long development sessions</p></li></ul><p>Codex-Max improved a single-agent cloud execution model. The market moved to orchestrated multi-agent systems with full lifecycle coverage.</p><p>In AI development tools, nine months isn&#8217;t a product cycle. It&#8217;s a generation.</p><h2>What modern tools handle</h2><p>My daily driver is Claude MPM on top of Claude Code - that&#8217;s what handles my orchestration needs. But here&#8217;s what makes Codex-Max&#8217;s limitations so stark: Even Augment Code&#8217;s <strong>single agent</strong> handles everything Codex-Max can&#8217;t.</p><p>To be fair to Codex-Max: I didn&#8217;t spend as long building scaffolding for it as I would for Claude Code. I gave it an AGENT.md file (converted from my CLAUDE.md), but I didn&#8217;t invest the same level of context setup. That said, the comparison to Augment Code remains instructive - Augment doesn&#8217;t need extensive scaffolding because it builds a thorough semantic index of your entire codebase automatically. That&#8217;s where modern tools actually are.</p><p><strong>Deployment automation</strong>: Augment Code manages local deployment, runs validation checks, and handles rollback if needed. Codex-Max stops at code generation.</p><p><strong>QA integration</strong>: Augment Code triggers test suites, analyzes failures, and iterates on fixes. Codex-Max requires manual testing.</p><p><strong>Context acquisition</strong>: Augment Code builds semantic indexes automatically, understanding codebases without manual scaffolding. Codex-Max relies on explicit configuration and context seeding.</p><p><strong>Local operations</strong>: Augment Code executes locally with full filesystem and process access. Codex-Max lives in cloud sandboxes with limited local integration.</p><p>Modern tools handle the complete development lifecycle with minimal setup overhead. Augment Code does it with a single agent and automatic context acquisition. I do it with Claude MPM&#8217;s multi-agent orchestration and explicit context management. Both approaches work - they just represent where the market actually is.</p><p>The fact that a single modern agent handles what Codex-Max can&#8217;t shows this isn&#8217;t a fundamental AI limitation. It&#8217;s an architectural choice OpenAI made that the market already moved past.</p><h2>What Codex-Max delivers</h2><p>Credit where it&#8217;s due: OpenAI shipped meaningful improvements over the original Codex.</p><p><strong>The UX polish is real.</strong> The terminal interface works smoothly. The GitHub integration feels native rather than bolted-on. The multi-file editing produces sensible diffs. The cloud execution model eliminates local environment concerns for teams that want that abstraction.</p><p><strong>The coding quality improved.</strong> Comparing Codex-Max output to original Codex shows clear advancement. The code is cleaner, the architectural decisions are more sound, and the edge case handling is better. That 77.9% SWE-bench Verified score isn&#8217;t marketing fiction.</p><p><strong>The compaction technology works.</strong> Tasks do run longer than the original Codex&#8217;s hard limits. The 24+ hour sessions OpenAI advertises are real, though in practice I found context degradation kicked in well before that for complex features.</p><p>For teams that don&#8217;t have orchestration frameworks, don&#8217;t need deployment automation, and primarily want better code generation with nice GitHub integration, Codex-Max represents a solid upgrade. It&#8217;s a good tool.</p><p>It&#8217;s just a good tool for a problem space that evolved past it.</p><h2>Better than vibe coding&#8212;but that&#8217;s not the bar anymore</h2><p>Codex-Max beats casual &#8220;vibe coding&#8221; - developers prompting ChatGPT or Claude for code snippets and copying them over.</p><p>That&#8217;s not the competitive bar anymore.</p><p>The bar in Q4 2025 is:</p><ul><li><p><strong>Complete workflow automation</strong> from specification to deployment</p></li><li><p><strong>Multi-agent orchestration</strong> handling specialized tasks in parallel</p></li><li><p><strong>Full lifecycle coverage</strong> including ops, testing, and monitoring</p></li><li><p><strong>Context preservation</strong> across multi-day development sessions</p></li><li><p><strong>Local and cloud integration</strong> based on actual workflow needs</p></li></ul><p>Codex-Max cleared the &#8220;better than copy-paste from ChatGPT&#8221; bar. It didn&#8217;t clear the &#8220;competitive with actual orchestration frameworks&#8221; bar.</p><p>For hobbyists and individual developers doing straightforward features, Codex-Max might be an improvement over their current workflow. For teams doing serious development work with orchestration systems, it&#8217;s a step backward from where they already are.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZPWW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZPWW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ZPWW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ZPWW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ZPWW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZPWW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2484785,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/179891296?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZPWW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ZPWW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ZPWW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ZPWW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa62acae6-0b8c-4800-96de-4eeefa37d024_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The architectural problem: single-agent vs. orchestration</h2><p>Codex-Max improved a single-agent model. The market moved to orchestrated multi-agent systems.</p><p><strong>Single-agent limitations:</strong></p><ul><li><p>One context window (even with compaction)</p></li><li><p>One reasoning path</p></li><li><p>One set of tool integrations</p></li><li><p>Sequential execution only</p></li></ul><p><strong>Multi-agent advantages:</strong></p><ul><li><p>Specialized agents for different tasks (research, coding, testing, deployment)</p></li><li><p>Parallel execution across workstreams</p></li><li><p>Persistent shared memory across agents</p></li><li><p>Coordinated hand-offs at natural boundaries</p></li></ul><p>I can spin up Claude MPM with specialized agents for:</p><ul><li><p><strong>Specification agent</strong>: Analyzes requirements and creates detailed specs</p></li><li><p><strong>Architecture agent</strong>: Designs system structure and integration points</p></li><li><p><strong>Implementation agent</strong>: Writes code following architectural guidelines</p></li><li><p><strong>Testing agent</strong>: Creates test suites and validates functionality</p></li><li><p><strong>Deployment agent</strong>: Handles local ops, QA checks, and rollout</p></li><li><p><strong>Review agent</strong>: Evaluates overall work quality and assigns grades</p></li></ul><p>That&#8217;s not aspirational. That&#8217;s what evaluated Codex-Max and gave it a B-.</p><p>OpenAI optimized the wrong abstraction. They built a better single agent when the market needed orchestration infrastructure.</p><h2>Market context: the window closed</h2><p>The timing becomes even more painful when you look at the competitive landscape:</p><p><strong>Claude Code Max ($200/month)</strong>: 7-hour autonomous sessions, local-first execution, full MCP support for tool integration, sub-agent coordination</p><p><strong>Augment Code ($50-100/month)</strong>: Complete lifecycle automation, deployment integration, single-agent simplicity with full capability</p><p><strong>Cursor ($20-200/month)</strong>: Model-agnostic deep indexing, local execution, proven developer adoption</p><p><strong>GitHub Copilot ($10-39/month)</strong>: Ubiquitous IDE integration, massive installed base, continuous improvement</p><p>Codex-Max at $200/month (Pro tier) matches Claude Code Max&#8217;s price but not its capabilities. It matches the capabilities of tools costing 1/4 the price but lacks their features.</p><p>The positioning is stuck between market segments. Too expensive to be the &#8220;good enough&#8221; option. Not capable enough to be the &#8220;complete solution&#8221; option.</p><h2>What this means for OpenAI</h2><p>This isn&#8217;t just a product timing miss. It reveals a strategic challenge:</p><p>OpenAI treats AI coding tools as improved single agents. The market treats them as orchestration infrastructure for multi-agent workflows.</p><p>That&#8217;s a fundamental difference in how you approach product development:</p><p><strong>Single-agent optimization focuses on:</strong></p><ul><li><p>Better code generation quality</p></li><li><p>Longer context windows</p></li><li><p>Faster execution</p></li><li><p>Smoother UX</p></li></ul><p><strong>Orchestration infrastructure focuses on:</strong></p><ul><li><p>Agent coordination protocols</p></li><li><p>Shared memory systems</p></li><li><p>Tool integration frameworks</p></li><li><p>Workflow automation patterns</p></li></ul><p>OpenAI delivered the former. The market needs the latter.</p><p>The compaction technology is clever. The UX improvements are real. The coding quality gains matter. But they&#8217;re all optimizations of an architecture that became obsolete while OpenAI was building it.</p><h2>The larger pattern</h2><p>This isn&#8217;t unique to Codex-Max. I&#8217;m seeing the same pattern across the AI tools market:</p><p><strong>Companies that win</strong>: Ship fast, iterate based on actual usage, adapt to market evolution</p><p><strong>Companies that struggle</strong>: Build technically impressive solutions to problems that moved on</p><p>OpenAI&#8217;s challenges:</p><ul><li><p>Long development cycles</p></li><li><p>Feature announcements without product availability</p></li><li><p>Building for what the market was, not what it&#8217;s becoming</p></li></ul><p>The market&#8217;s evolution:</p><ul><li><p>Quarterly shifts in competitive dynamics</p></li><li><p>Rapid adoption of new paradigms</p></li><li><p>Ruthless abandonment of tools that don&#8217;t keep pace</p></li></ul><p>In fast-moving technology markets, timing isn&#8217;t just important - it&#8217;s definitional. A technically superior solution shipped nine months late loses to an adequate solution shipped on time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!za3A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!za3A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!za3A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!za3A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!za3A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!za3A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2610815,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/179891296?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!za3A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!za3A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!za3A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!za3A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf45704b-3621-475b-94b5-6a44a2825e97_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Bottom line</h2><p>OpenAI built a good product that arrived after the market moved on. Codex-Max would have been competitive in Q1 2025. It&#8217;s not competitive in Q4 2025.</p><p>The B- grade from Claude MPM captures this perfectly: Technically competent, meaningfully improved, fundamentally inadequate for current market needs.</p><p>For developers evaluating tools:</p><p><strong>Skip Codex-Max if</strong>: You need deployment automation, local operations integration, QA workflows, or multi-agent orchestration. Use Claude Code Max or Augment Code instead.</p><p><strong>Consider Codex-Max if</strong>: You want better code generation than Copilot, like cloud execution, primarily work with GitHub, and don&#8217;t need full lifecycle automation. At $20/month (Plus tier) it might make sense.</p><p>In AI development tools, market evolution outpaces product development cycles. Building the best version of yesterday&#8217;s architecture loses to shipping adequate versions of tomorrow&#8217;s architecture.</p><p>OpenAI solved Q1 2025&#8217;s problem in Q4 2025. That&#8217;s not fast enough.</p><div><hr></div><p><em>I&#8217;m Bob Matsuoka, building multi-agent orchestration systems and writing about practical AI development at <a href="https://hyperdev.substack.com/">HyperDev</a>. For more on AI coding tools in practice, read my analysis of <a href="https://claude.ai/mnt/project/Claude-Flow__A_Comprehensive_Guide_to_AI_Agent_Orchestration_for_Software_Development.md">Claude Code&#8217;s multi-agent capabilities</a> or my comparison of <a href="https://claude.ai/mnt/project/Multi-agent_AI_Orchestration_in_Practice__Real-world_Experiences_and_Documented_Results.md">orchestration frameworks in production</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[I Hate PowerPoint Even More]]></title><description><![CDATA[But Gamma&#8217;s Getting Interesting]]></description><link>https://hyperdev.matsuoka.com/p/i-hate-powerpoint-even-more</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/i-hate-powerpoint-even-more</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Thu, 13 Nov 2025 15:03:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dLdY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dLdY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dLdY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png 424w, https://substackcdn.com/image/fetch/$s_!dLdY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png 848w, https://substackcdn.com/image/fetch/$s_!dLdY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png 1272w, https://substackcdn.com/image/fetch/$s_!dLdY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dLdY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png" width="553" height="440.03562945368174" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:335,&quot;width&quot;:421,&quot;resizeWidth&quot;:553,&quot;bytes&quot;:143566,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/178672511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dLdY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png 424w, https://substackcdn.com/image/fetch/$s_!dLdY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png 848w, https://substackcdn.com/image/fetch/$s_!dLdY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png 1272w, https://substackcdn.com/image/fetch/$s_!dLdY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa07d9db-459a-4ca7-b60a-b195f500f123_421x335.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Yes, I still hate Powerpoint.</figcaption></figure></div><p>Back in June, I wrote about how PowerPoint kills creativity through forced context-switching. My solution? Stay in Claude.AI&#8217;s artifact system, generate React slideshows, dodge the whole presentation software problem.</p><p>Then I actually used Gamma. For real work. Fifty-plus presentations since June.</p><p>And it&#8217;s... complicated.</p><p>Here&#8217;s what happened: I needed client decks fast. The Claude.AI artifact approach works great for internal stuff, but clients expect actual presentation files they can edit. So I started having Claude.AI generate Gamma-optimized prompts from my writing, then feeding those into Gamma&#8217;s AI.</p><p>The workflow stuck because it actually works.</p><h2>The Workflow That Accidentally Solved My Problem</h2><p>My process now looks like this: Write the core content in Claude.AI (where I&#8217;m already thinking), ask Claude to &#8220;generate a Gamma-optimized prompt from this,&#8221; paste that into Gamma, wait about 30 seconds.</p><p>What comes out? Surprisingly good first drafts.</p><p>Gamma&#8217;s gotten noticeably better at data layouts. Early on, every deck looked identical&#8212;same card structures, same visual hierarchy, same boring templates. Now there&#8217;s actual variety. Charts that make sense. Diagrams that don&#8217;t look like they came from a 2010 PowerPoint template pack.</p><p>The image generation is genuinely fast. Much faster than DALL-E 3, which matters when you&#8217;re iterating on client deliverables with tight deadlines. Quality&#8217;s solid for presentation purposes&#8212;not fine art, but better than stock photos.</p><p>Speed became the killer feature. From prompt to reviewable deck in under a minute. For comparison, building the same deck manually in PowerPoint? Easily an hour. Even my Claude artifact approach took 15-20 minutes of tweaking.</p><p>Gamma also has a new agent which solves the biggest problem with decks &#8212; one way flow (the difficulty of changing content in slide format).  The agent is basically a format-aware LLM that can make prompt-driven changes ON THE FLY, respecting the structure of the deck.  It&#8217;s magic.  Try this in Powerpoint: &#8220;Let&#8217;s fix &#8220;We&#8221; vs &#8220;I&#8221;. I am the author of the proposal, and should be shown for any action in the proposal. &#8216;We&#8217; can be used to imply that implementing action is a team effort.&#8221;</p><h2>What Still Sucks</h2><p>Themes remain formulaic. You can spot a Gamma deck instantly. That &#8220;modern, clean, professional&#8221; aesthetic they&#8217;re known for? It&#8217;s also their limitation. Every deck feels like it came from the same design system because, well, it did.</p><p>Custom branding takes work. Not impossible, but friction exists. Clients with strict brand guidelines require manual adjustment of colors, fonts, layouts. The AI doesn&#8217;t learn your brand preferences across presentations.</p><p>Export compatibility has gotten better but still breaks occasionally. PowerPoint imports lose some formatting. Google Slides handles it reasonably well. PDF works perfectly, which is what most clients care about anyway.</p><p>The big context-switching problem from my original article? Still there. I&#8217;m still developing ideas in Claude.AI, then moving to Gamma to package them. Better packaging doesn&#8217;t solve the fundamental workflow break.</p><h2>The $68M Series B Changes Nothing (And Everything)</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H6HM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H6HM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png 424w, https://substackcdn.com/image/fetch/$s_!H6HM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png 848w, https://substackcdn.com/image/fetch/$s_!H6HM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png 1272w, https://substackcdn.com/image/fetch/$s_!H6HM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H6HM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png" width="698" height="516" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:516,&quot;width&quot;:698,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:76125,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/178672511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!H6HM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png 424w, https://substackcdn.com/image/fetch/$s_!H6HM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png 848w, https://substackcdn.com/image/fetch/$s_!H6HM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png 1272w, https://substackcdn.com/image/fetch/$s_!H6HM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F676a4206-5c7b-4b65-adcb-47bf754114e4_698x516.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Gamma just raised $68 million at a $2.1 billion valuation. Andreessen Horowitz led the round. The company hit $100 million ARR with only 50 employees and claims 70 million users.</p><p>Those numbers matter. Not because they make Gamma&#8217;s product better, but because they signal where the market&#8217;s going.</p><p>AI-powered presentation tools aren&#8217;t a feature anymore. They&#8217;re a category. The $2.5 billion subsegment of presentation software is growing at 25% annually. Traditional slide software (PowerPoint, Google Slides, Keynote) collectively represent $7.8 billion, but they&#8217;re legacy infrastructure now.</p><p>What&#8217;s interesting: Gamma reached profitability and stayed there for 15+ months before this raise. That&#8217;s rare in AI tools, where most companies burn through capital chasing growth. The economics actually work.</p><p>The funding goes toward addressing weaknesses&#8212;customer support infrastructure (Trustpilot shows a brutal 2.1/5 rating) and enterprise features. The $20 million secondary component gave early employees liquidity, which suggests the founders are playing the long game rather than rushing to exit.</p><h2>Multi-Model Orchestration Actually Matters</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gkWc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gkWc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png 424w, https://substackcdn.com/image/fetch/$s_!gkWc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png 848w, https://substackcdn.com/image/fetch/$s_!gkWc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png 1272w, https://substackcdn.com/image/fetch/$s_!gkWc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gkWc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png" width="595" height="458.289817232376" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:295,&quot;width&quot;:383,&quot;resizeWidth&quot;:595,&quot;bytes&quot;:99642,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/178672511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gkWc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png 424w, https://substackcdn.com/image/fetch/$s_!gkWc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png 848w, https://substackcdn.com/image/fetch/$s_!gkWc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png 1272w, https://substackcdn.com/image/fetch/$s_!gkWc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff35caa1a-8aca-4d08-ac98-6f7447c97b07_383x295.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here&#8217;s the technical piece worth understanding: Gamma doesn&#8217;t use a single AI model. They orchestrate across multiple models&#8212;primarily Claude Sonnet and Gemini Flash, with OpenAI tested regularly but not favored.</p><p>This matters because different models excel at different tasks. Claude Sonnet handles complex content generation and structural thinking. Gemini Flash provides cost-efficient image generation and quick iterations. The company runs hundreds of A/B tests to optimize model selection per task.</p><p>When they tested Claude 3 Haiku, it delivered 30% better user satisfaction and 20% higher free-to-paid conversion. That&#8217;s not incremental&#8212;that&#8217;s the difference between sustainable business and burning capital.</p><p>The architecture uses block-based HTML instead of traditional slides. More responsive, more web-native, more flexible than the slide metaphor PowerPoint established 40 years ago. This is what I meant in my original article about dodging the medium that kills flow&#8212;Gamma at least tries to escape the rigid slide structure.</p><h2>Competitive Reality: Nobody Else Gets Close</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v3Sn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v3Sn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png 424w, https://substackcdn.com/image/fetch/$s_!v3Sn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png 848w, https://substackcdn.com/image/fetch/$s_!v3Sn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png 1272w, https://substackcdn.com/image/fetch/$s_!v3Sn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v3Sn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png" width="1046" height="467" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:467,&quot;width&quot;:1046,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89864,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/178672511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!v3Sn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png 424w, https://substackcdn.com/image/fetch/$s_!v3Sn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png 848w, https://substackcdn.com/image/fetch/$s_!v3Sn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png 1272w, https://substackcdn.com/image/fetch/$s_!v3Sn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6702c544-1fae-43c1-a8c2-a628791669eb_1046x467.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The competitors</figcaption></figure></div><p>I&#8217;ve tested the alternatives. Beautiful.ai focuses on design automation with limited AI content generation. Pricing starts at $12/month but no free tier, positioning it as premium design-first. Their &#8220;Smart Slides&#8221; auto-adjust layouts nicely, but you&#8217;re still building content manually.</p><p>Tome raised $81 million and hit 10 million signups fast, but the product feels unfinished. $16-20/month gets you narrative-focused presentations with PDF-only export. The dark-mode-default aesthetic works for pitch decks but fails for client-facing business presentations. Limited to 400-character prompts, so complex decks require extensive manual work.</p><p>Canva offers Magic Design for Presentations as one feature among dozens. The $10/month pricing undercuts everyone, but presentations aren&#8217;t the focus. Export compatibility to PowerPoint breaks constantly. Format preservation? Forget it.</p><p>Microsoft Copilot costs $66-87/month minimum (Copilot plus Microsoft 365 E3/E5 licensing). Enterprise security and Microsoft Graph integration appeal to large organizations, but the economics are brutal for individuals or small teams. Plus, no transitions, videos, or tables in AI-generated slides initially. English-only at launch. Accuracy requires manual review.</p><p>Pitch positions as collaboration-first with basic AI (&#8221;Start with AI&#8221; limited to 400 characters). $20/month per user, $80/month for business tier. Excels at real-time collaboration and analytics, but the AI feels like an afterthought.</p><p>Gamma sits in the sweet spot: $8-15/month with genuinely useful free tier (400 one-time AI credits). Better AI content generation than anyone except Microsoft, but without enterprise complexity or costs. Multi-model orchestration surpasses all competitors except Microsoft, and Gamma&#8217;s web-native format differentiates from traditional slides.</p><h2>A Concerning Trust Problem</h2><p>Here&#8217;s what concerns me: Gamma&#8217;s Trustpilot rating of 2.1/5 across 39+ reviews represents a reputational risk for a B2B tool claiming 70 million users.</p><p>Common complaints? Customer support ignoring refund requests for weeks, AI-generated automated responses with no human follow-up, image quality described as &#8220;chaotic and glitchy&#8221; for professional use, promised premium features not delivered after payment.</p><p>The volume of negative reviews remains small relative to the claimed user base, suggesting either sampling bias toward extremely dissatisfied customers or concerning patterns in user experience that could block enterprise adoption.</p><p>For context: Product Hunt rates Gamma 4.6-4.9/5 across 170+ reviews. G2 shows 4.3/5. Microsoft Store rates 4.2-4.3/5. The polarization between professional users (who love it) and dissatisfied customers (who hate customer support) creates risk.</p><p>The Series B funding presumably addresses this&#8212;50 employees can&#8217;t support 70 million users effectively. Scaling customer support infrastructure takes capital and systems, both of which this round should provide.</p><h2>My Original Critique Stands (Mostly)</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0Jql!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Jql!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png 424w, https://substackcdn.com/image/fetch/$s_!0Jql!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png 848w, https://substackcdn.com/image/fetch/$s_!0Jql!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png 1272w, https://substackcdn.com/image/fetch/$s_!0Jql!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Jql!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png" width="505" height="508.7780548628429" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d187917f-1084-409d-8aa2-81dc014a96e0_401x404.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:404,&quot;width&quot;:401,&quot;resizeWidth&quot;:505,&quot;bytes&quot;:160723,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/178672511?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0Jql!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png 424w, https://substackcdn.com/image/fetch/$s_!0Jql!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png 848w, https://substackcdn.com/image/fetch/$s_!0Jql!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png 1272w, https://substackcdn.com/image/fetch/$s_!0Jql!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd187917f-1084-409d-8aa2-81dc014a96e0_401x404.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Go back to &#8220;I Hate PowerPoint.&#8221; My argument: any context switch from brainstorming to presenting breaks creative momentum. The medium forces you to chunk ideas into slide formats before the ideas are fully formed.</p><p>Gamma doesn&#8217;t solve this. You still develop ideas in one place (Claude.AI, docs, notes), then move to Gamma to package them. It&#8217;s a better publishing tool, not a thinking tool.</p><p>But&#8212;and this matters&#8212;the workflow I&#8217;ve developed minimizes the friction. Claude.AI generates the Gamma prompt from my raw thinking. Gamma builds the deck structure. I review and refine in Gamma rather than rebuilding from scratch.</p><p>That&#8217;s not elimination of context-switching. It&#8217;s reduction of friction within the switch.</p><p>The speed advantage matters more than I expected. When you can go from raw ideas to reviewable deck in under two minutes, the context switch feels less disruptive. Not zero, but manageable.</p><p>For client work specifically, Gamma solves a real problem: clients expect presentation files, not React component artifacts. The output needs to be editable by non-technical people using familiar tools. Gamma delivers that in a format that imports reasonably well into PowerPoint and Google Slides.</p><h2>What This Says About AI Presentation Tools</h2><p>The market validated my &#8220;I Hate PowerPoint&#8221; thesis in an unexpected way. The problem isn&#8217;t PowerPoint itself&#8212;it&#8217;s the forced chunking of ideas into presentation formats before ideas are fully developed.</p><p>AI tools like Gamma reduce the friction of that chunking. They don&#8217;t eliminate it.</p><p>The $68 million Series B at $2.1 billion valuation signals that investors believe AI-powered presentation generation is a durable category, not a temporary feature. The 25% CAGR growth projection for AI-specific presentation software through 2030 suggests the market expands rather than substitutes.</p><p>But here&#8217;s what keeps me skeptical: conversational AI interfaces could eliminate standalone presentation tools entirely. Anthropic&#8217;s Claude or OpenAI&#8217;s ChatGPT could embed presentation generation natively, competing with dedicated tools. Why leave your conversation to generate a deck when the conversation can generate the deck without context-switching?</p><p>Gamma&#8217;s current advantage&#8212;multi-model orchestration, prompt engineering culture, extensive A/B testing&#8212;represents a technical moat. But moats erode when platform companies decide to compete directly.</p><h2>Bottom Line</h2><p>I&#8217;ve created 50+ presentations in Gamma since June. It works. Fast, reasonably good output, improving steadily.</p><p>Does it solve the PowerPoint problem? No. It makes the problem more tolerable.</p><p>The workflow I&#8217;ve developed&#8212;Claude.AI for thinking, Claude-generated prompts for Gamma, Gamma for packaging&#8212;reduces friction without eliminating the fundamental context switch.</p><p>For client-facing work where deliverables need to be presentation files, Gamma beats the alternatives. For internal work or pure creative thinking, my Claude artifact approach still feels cleaner.</p><p>The $68 million raise and $2.1 billion valuation validate that AI presentation tools represent a real category with sustainable economics. Gamma&#8217;s capital efficiency (reaching this scale on $90 million total raised) and profitability distinguish it from cash-burning competitors.</p><p>But the ultimate solution to &#8220;I Hate PowerPoint&#8221; isn&#8217;t better presentation software. It&#8217;s eliminating the need to translate ideas into presentation formats at all. When that happens&#8212;when conversational AI can deliver the final format without leaving the conversation&#8212;tools like Gamma become legacy infrastructure.</p><p>For now? Gamma&#8217;s the best execution of a flawed category. Which means I&#8217;ll keep using it while hoping something better comes along.</p><div><hr></div><p><em>Related: <a href="https://hyperdev.matsuoka.com/p/i-hate-powerpoint">I Hate PowerPoint</a> - my original argument about why presentation software kills creative flow, and my<a href="https://open.substack.com/pub/hyperdev/p/ftt-i-still-hate-powerpoint-i-think?r=nff5&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=true"> follow up first talking about Gamma</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[Goose: An Open Source Take on Vibe Coding and Agentic Workflow Automation]]></title><description><![CDATA[How to get that 30% productivity improvement quickly]]></description><link>https://hyperdev.matsuoka.com/p/goose-an-open-source-take-on-vibe</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/goose-an-open-source-take-on-vibe</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Thu, 30 Oct 2025 14:05:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1KzP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1KzP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1KzP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!1KzP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!1KzP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!1KzP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1KzP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2670282,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/177559924?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1KzP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!1KzP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!1KzP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!1KzP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8c66a2d-bd2b-44ad-9881-0478334dc999_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The quickest gains in AI productivity don&#8217;t come from replacing senior developers doing complex architecture. They come from automating workflow tasks that slow everything else down&#8212;migrations, test generation, documentation updates. Tactical work that needs doing but doesn&#8217;t need deep thinking.</p><p>I&#8217;ve been using Warp for exactly this workflow automation. It&#8217;s been effective for my own day-to-day needs. But after my friend <a href="https://www.linkedin.com/in/cbunk/">Chris Bunk</a> recently introduced me to Goose&#8212;he&#8217;s another technical leader who&#8217;s practicing agentic development&#8212;I&#8217;m realizing it might be better suited for this specific use case. Not because Warp fails at workflow automation (it doesn&#8217;t), but because Goose was built specifically for it without the pressure to become a general-purpose platform.</p><p>Goose fits a particular niche&#8212;a framework purpose-built for workflow automation without the VC pressure to become everything to everyone.</p><p><a href="https://block.xyz/inside/block-open-source-introduces-codename-goose">Block released it in January 2025</a> with zero monetization strategy. No freemium tier. No enterprise upsell. No growth targets. Just &#8220;here&#8217;s a thing we built for workflow automation, maybe it&#8217;ll work for you too.&#8221;</p><h2>What vibe coding actually means</h2><p>When Andrej Karpathy <a href="https://x.com/karpathy/status/1886192184808149383">tweeted &#8220;vibe coding&#8221;</a> on February 2, 2025, he captured something real: the difference between building production systems and spinning up tactical solutions. Prototypes. Scripts. Tools that solve immediate problems. The kind of work where you want AI to handle execution while you focus on the actual problem.</p><p>Goose landed in this space naturally. Block&#8217;s engineers use it for 30-60 minute tasks&#8212;code migrations, generating tests, building applications from Figma designs. Not &#8220;let&#8217;s architect a new service&#8221; work. The &#8220;let&#8217;s just get this done&#8221; work that delivers immediate productivity gains. They&#8217;re handling infrastructure work, test coverage improvements, documentation updates. The stuff that needs doing but doesn&#8217;t need architectural thinking.</p><h2>Block&#8217;s open source bet</h2><p>Block released Goose with zero monetization strategy. No freemium funnel. No enterprise tier. No conversion targets. The architecture is straightforward: CLI interface + Rust-based desktop app, core execution engine that interprets requests and coordinates tasks, and MCP server extensions. You describe what you want&#8212;&#8221;migrate this component&#8221; or &#8220;increase test coverage above 80%&#8221;&#8212;and it handles execution.</p><p>The MCP integration provides connections to <a href="https://github.com/modelcontextprotocol/servers">hundreds of pre-built servers</a> for GitHub, Jira, Slack, Google Drive, databases, browsers. Not because Block needed that breadth, but because the community built it.</p><p><a href="https://sequoiacap.com/podcast/training-data-dhanji-prasanna/">Block CTO Dhanji Prasanna</a> positions it as strategic open source. The <a href="https://block.xyz/inside/block-open-source-introduces-codename-goose">Apache 2.0 license</a> means full permissiveness for enterprise customization, modification, whatever. No strings.</p><p>The timing mattered. <a href="https://modelcontextprotocol.io/">MCP</a> emerged as a potential industry standard, and Block collaborated with Anthropic on protocol development. When <a href="https://techcrunch.com/2025/03/26/openai-adopts-rival-anthropics-standard-for-connecting-ai-models-to-data/">OpenAI adopted MCP in March 2025</a> across ChatGPT and their Agents SDK, followed by <a href="https://learn.microsoft.com/en-us/microsoft-copilot-studio/agent-extend-action-mcp">Microsoft&#8217;s integration</a> through GitHub Copilot Studio and Azure AI, that early positioning paid off.</p><p>Financial backing comes from Block&#8217;s operating budget. No VC pressure to hit ARR milestones or monetize the user base. The open-source strategy also serves Block&#8217;s hiring needs&#8212;engineers care about working at companies that contribute meaningfully to open source. <a href="https://block.xyz/inside/introducing-the-goose-grant-program">Hacktoberfest 2025 participation</a>, grant programs for external developers, active Discord community.</p><p>The project <a href="https://github.com/block/goose">picked up significant traction</a>&#8212;over 20,000 GitHub stars in nine months. For context, that puts it in the top tier of AI coding tools by community engagement, though still behind established players like Continue (48K stars) or Cursor (25K). The adoption came through engineers finding something that works and telling other engineers about it, not through marketing campaigns.</p><h2>What it actually does</h2><p>For vibe coding and workflow automation, Goose delivers autonomous task execution with LLM flexibility. It interprets multi-step requests, generates code across files, executes commands to test implementations, captures and debugs errors, iterates until completion.</p><p>LLM support includes Claude (3.5 Sonnet/Haiku), all OpenAI models, Gemini, DeepSeek, local models via Ollama, 20+ providers through the Tetrate router. You&#8217;re not locked into any single vendor. For local development with privacy concerns, Ollama integration matters.</p><p>The MCP ecosystem bet matters more than current features. As <a href="https://techcrunch.com/2025/03/26/openai-adopts-rival-anthropics-standard-for-connecting-ai-models-to-data/">OpenAI</a>, <a href="https://learn.microsoft.com/en-us/microsoft-copilot-studio/agent-extend-action-mcp">Microsoft</a>, <a href="https://techcrunch.com/2025/04/09/google-says-itll-embrace-anthropics-standard-for-connecting-ai-models-to-data/">Google DeepMind</a>, Replit and Sourcegraph adopt MCP, the protocol becomes infrastructure. Community-built MCP servers for Stripe, Postgres, or internal systems work with minimal friction across Goose, OpenAI&#8217;s agents, any MCP-compatible tool.</p><h2>Goose vs Warp: Different models, different results</h2><p>Goose charges nothing for software. You pay LLM API costs&#8212;$100-300/month for heavy development usage. Compare that to <a href="https://www.warp.dev/">Warp</a>, which raised $73 million and prices at <a href="https://www.warp.dev/pricing">$15/month Pro, $40/month Turbo</a>, custom Enterprise.</p><p>The meaningful difference isn&#8217;t features&#8212;it&#8217;s architecture philosophy. Warp&#8217;s multi-threading runs multiple agents simultaneously with a management interface. <a href="https://www.warp.dev/blog/reimagining-coding-agentic-development-environment">A consulting firm using Warp&#8217;s multi-agent capabilities</a> documented substantial productivity improvements in their case study, though specific figures should be viewed as user-reported results rather than controlled benchmarks. Goose can run multiple instances in different terminal windows, but coordination is manual. Works fine for vibe coding where you&#8217;re spinning up quick tasks. Less useful for complex orchestration.</p><p>Warp&#8217;s $73 million war chest enables engineering velocity that community projects can&#8217;t match. They employ approximately <a href="https://leadiq.com/c/warp/6102fbe6b27cefd8636659ff">69 people</a> building features, refining UX, closing enterprise deals. Multi-threaded agent execution with orchestration UI, status tracking, completion notifications provides <a href="https://www.warp.dev/blog/reimagining-coding-agentic-development-environment">reported time savings</a> for heavy users according to their customer data. For complex orchestration where you&#8217;re managing five different workstreams simultaneously, this matters.</p><p><a href="https://www.tbench.ai/leaderboard">Terminal-Bench performance</a> ranks Warp #4 with 52% success rate. The product experience shows notable consumer-grade polish&#8212;the kind of attention to detail that reduces adoption friction substantially. Platform integration creates network effects through Warp Drive&#8217;s team knowledge base that stores runbooks, workflows, environment variables that agents automatically access.</p><p>Goose&#8217;s local-first architecture provides different advantages. It runs entirely on-machine by default with zero data transmission except user-chosen LLM API calls. No telemetry. No analytics. No cloud dependencies beyond optional MCP connections. For financial services, healthcare, government agencies, this enables deployment in air-gapped environments. Security teams can review source code line-by-line, modify for internal requirements, deploy in classified environments.</p><p>Cost transparency eliminates subscription fatigue: $0 software + ~$100-300/month in API calls. A 500-developer shop pays $90,000-240,000 annually for Warp Pro or Turbo. Goose costs $0 for software plus $120,000-300,000 in LLM expenses&#8212;potentially cheaper, though requiring internal IT support.</p><p>Both models work. Commercial tools deliver polish and multi-agent orchestration. Community tools deliver transparency and focused workflow automation. Different approaches for different workflow needs.</p><h2>Where productivity gains actually happen</h2><p>Test generation? Comprehensive test suites in 20 minutes instead of two days. Documentation updates? Feed Goose your codebase, let it generate accurate docs while you solve actual problems. Dependency migrations? The tedious-but-straightforward work that burns hours&#8212;Goose handles it autonomously.</p><p>Community response sits around 6.5/10 on enthusiasm&#8212;genuine interest without &#8220;this changes everything&#8221; hype. Engineers appreciate specific solved problems. One developer: &#8220;I created a custom CLI command... I don&#8217;t know Go that well... Goose did it all for me in ~30 minutes.&#8221; Another: &#8220;My sister had been asking me for months to help her build a Google Docs extension but I kept putting it off. Today, we built one in just 30 minutes with Goose.&#8221;</p><p>Adoption patterns show 70% real usage versus 30% curiosity. External validation includes <a href="https://www.databricks.com/dataaisummit/session/meet-goose-open-source-ai-agent">Databricks featuring Goose at their Data + AI Summit 2025</a>, hundreds of community-built MCP extensions.</p><h2>So what does this tell us?</h2><p>Goose validates targeted application for workflow automation with clear use cases. Block&#8217;s engineers using it weekly for specific infrastructure tasks, migrations, and test coverage work prove the model works&#8212;they&#8217;re automating tactical work that slows everything else down, not trying to replace core product development with AI.</p><p>What Goose shows is what tools look like when commercial pressure doesn&#8217;t force them to promise everything. Warp needs to justify $73 million in funding with subscription revenue and enterprise deals. Every product decision gets filtered through monetization strategy. Goose has none of that pressure. Block builds what their engineers need. The community builds what the community wants.</p><p>For developers choosing tools, understand what you&#8217;re optimizing for. Workflow automation where AI delivers real gains? Goose excels&#8212;local-first, cost transparent, focused on the tasks that deliver value. Complex orchestration requiring parallel agent coordination? Warp&#8217;s multi-threading provides documented productivity improvements.</p><p>Most teams end up using both for different workflow contexts. Workflow automation is where AI coding productivity gains actually happen&#8212;and focused tools built without commercial pressure often deliver that value better than platforms trying to solve every problem.</p>]]></content:encoded></item><item><title><![CDATA[Claude.AI Gets a Tool Facelift]]></title><description><![CDATA[The Editor Gets Better]]></description><link>https://hyperdev.matsuoka.com/p/claudeai-gets-a-tool-facelift</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/claudeai-gets-a-tool-facelift</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Sat, 13 Sep 2025 14:10:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!a-9Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a-9Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a-9Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png 424w, https://substackcdn.com/image/fetch/$s_!a-9Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png 848w, https://substackcdn.com/image/fetch/$s_!a-9Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png 1272w, https://substackcdn.com/image/fetch/$s_!a-9Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a-9Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png" width="1432" height="1540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1540,&quot;width&quot;:1432,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:258537,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/173388411?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!a-9Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png 424w, https://substackcdn.com/image/fetch/$s_!a-9Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png 848w, https://substackcdn.com/image/fetch/$s_!a-9Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png 1272w, https://substackcdn.com/image/fetch/$s_!a-9Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01984ebd-49c9-4285-9a14-086db18f7cac_1432x1540.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The Claude.AI editor drove me nuts for months. Not the kind of "minor annoyance" nuts&#8212;the "throw my laptop out the window" variety.</p><p>You'd think a company building AI assistants could figure out document editing. Wrong. The editor would lose track of changes, ignore edit requests, or just... forget what we were working on mid-conversation. Classic case of brilliant AI trapped in amateur tooling.</p><p>That changed this week. Quietly, without fanfare, Claude.AI shipped what looks like a complete editor overhaul. Tool calls now bundle into threads. The interface feels snappier. Most importantly? It actually remembers what we were doing (so far so good). It also doesn't 're-type' the entire artifact to show the change, it only updates the specific section you changed. So feels snappier. I still think we need direct editing (hello GPT Canvas!).</p><h2>What Was Broken (And Why It Mattered)</h2><p>The old Claude.AI editor followed what I call the "nuclear option" approach: send everything to the LLM every single time. Want to fix a typo? Upload the entire document. Need to adjust one paragraph? Here's 50 pages of context the AI doesn't need.</p><p>This created two massive problems:</p><p><strong>Direct editing was impossible.</strong> You couldn't just change a sentence&#8212;you had to describe the change and hope Claude interpreted your request correctly. Like dictating edits to someone who might not speak your language. This is still broken, IMO, but better.</p><p><strong>Context bleeding everywhere.</strong> The AI would see every word of your document on every edit, creating bizarre behaviors where it would "fix" things you didn't ask it to touch. Change a title? Suddenly it's rewriting your conclusion.</p><p>Worse, the editor kept losing track of incremental changes. I'd request three small edits, and Claude would make two of them, ignore the third, then act like everything was fine. When you pointed out the missing change, it would either claim it already made it or suggest starting over.</p><p>Professional writing workflows don't work this way. You need precise control, reliable execution, surgical changes. The old editor felt like performing surgery with a sledgehammer.</p><h2>The Threading Revolution</h2><p>The new system bundles tool calls into conversation threads instead of treating each edit as an isolated event. Sounds simple. Changes everything.</p><p>Now when I request multiple document changes, they flow together as a coherent conversation rather than disconnected commands. The AI maintains context about what we're working on, remembers the sequence of changes, builds on previous edits rather than treating each one as starting from scratch.</p><p>Example: Yesterday I asked Claude to:</p><ol><li><p>Restructure the introduction</p></li><li><p>Add more specific examples in section three</p></li><li><p>Tighten the conclusion</p></li></ol><p>Under the old system, this would have been three separate "send the entire document" operations. The AI might have forgotten the introduction changes by the time it reached the conclusion. Or applied contradictory formatting across sections.</p><p>The new threading approach handled all three requests as parts of a single editing session. Context carried forward. Changes built on each other. No weird inconsistencies or forgotten requests.</p><h2>Visual Features That Actually Help</h2><p>The interface updates aren't just cosmetic. The new visualization features make the editing workflow more transparent&#8212;you can see what Claude is thinking about, which sections it's focusing on, how changes connect to each other.</p><p>This matters because AI editing requires trust. When the system ignores a request or makes unexpected changes, you need to understand why. The old editor was a black box. Make a request, cross your fingers, hope for the best.</p><p>The updated interface shows you what's happening. Not full transparency&#8212;it's still an AI making decisions&#8212;but enough visibility to build confidence in the process.</p><h2>What Still Needs Work</h2><p>The editor improvements are significant, but this isn't a complete transformation. Some fundamental limitations remain:</p><p><strong>The "send everything" model persists.</strong> Threading makes it smarter, but Claude still processes entire documents rather than making targeted edits. This creates latency and cost issues for larger documents.</p><p><strong>Complex formatting gets messy.</strong> Rich text, nested lists, image placements&#8212;anything beyond basic text structure can confuse the AI. It's better at understanding what you want but still struggles with precise formatting control.</p><p><strong>Version control is nonexistent.</strong> No branching, no revision history, no way to compare document states. If Claude makes changes you don't like, your only option is asking it to undo them or starting over.</p><h2>The Bigger Picture</h2><p>These editor improvements signal something important about AI tool development. The companies succeeding long-term aren't just building better models&#8212;they're building better interfaces for working with those models.</p><p>Claude's AI capabilities have been strong for months. What held back adoption was the frustrating experience of actually using those capabilities. Fix the interface, and suddenly the AI becomes more valuable.</p><p>This pattern repeats across AI tools. GitHub Copilot's success isn't just about code generation&#8212;it's about seamless IDE integration. Cursor works because it handles the editing workflow thoughtfully, not just the AI suggestions.</p><p>The Claude.AI editor still isn't perfect. But it's finally usable in professional workflows. That's the threshold that matters&#8212;not perfect AI, but good enough AI wrapped in tools that actually work.</p><h2>Should You Try It?</h2><p>If you've avoided Claude.AI's editor because of past frustrations, it's worth another look. The threading system alone makes document collaboration significantly more reliable.</p><p>For professional writing workflows, it's particularly valuable for:</p><ul><li><p><strong>Draft restructuring</strong> - The AI maintains better context across large changes</p></li><li><p><strong>Content iteration</strong> - Multiple rounds of edits build coherently rather than conflicting</p></li><li><p><strong>Collaborative editing</strong> - When working with AI on complex documents that need many revisions</p></li></ul><p>The improved editor doesn't change Claude's core AI capabilities, but it makes them accessible in ways that weren't possible before. Sometimes the interface matters more than the intelligence behind it.</p><p>Good timing too. As AI writing tools proliferate, the ones that survive will be those that respect how humans actually work&#8212;not the ones that force us to adapt to their limitations.</p><p>The new Claude.AI editor feels like a step in the right direction. About time.</p>]]></content:encoded></item><item><title><![CDATA[Augment Code's Auggie: When Focused Single-Process Beats Multi-Agent]]></title><description><![CDATA[An Impressive Move Into CLI]]></description><link>https://hyperdev.matsuoka.com/p/augment-codes-auggie-when-focused</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/augment-codes-auggie-when-focused</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Thu, 04 Sep 2025 17:00:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!24Dl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!24Dl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!24Dl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!24Dl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!24Dl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!24Dl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!24Dl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3340753,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/172650217?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!24Dl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!24Dl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!24Dl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!24Dl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6581aa22-e34c-493a-a1fe-0fb1dbb217dc_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s no secret that I've been <a href="https://hyperdev.matsuoka.com/p/agentic-coding-tools-landscape-capabilities">a fan of Augment Code since March</a>. When I'm not using Claude Code, they're my go-to backup&#8212;consistently getting better and notably faster over the past few months. Their advanced context management and code indexing are impressive achievements. So when they announced Auggie, their new CLI tool, I was intrigued.</p><p>I've written before about the limitations of working inside VS Code. CLI-based models for agentic coding just work better for me. So on a train ride up to San Francisco today, I decided to give Auggie a real test on a problem that had been bothering me for days.</p><h2>The Problem That Wouldn't Die</h2><p>My Claude MPM framework has this 3D graph visualization feature&#8212;an AST-based file explorer using D3.js to render code relationships. Claude Code couldn't crack it across multiple sessions. The complexity of coordinating D3.js rendering with file system analysis kept leading us in circles.</p><p>Within 45 minutes on that train ride, Auggie and I had it working.</p><h2>What Makes Auggie Different</h2><p>Let me be clear upfront: Auggie doesn't support sub-processes or sub-agents like Claude Code does. It's a single-process tool, full stop. No spawning specialized agents for different tasks, no parallel exploration of multiple solution paths.</p><p>But here's what struck me: sometimes you don't need an army. Sometimes you need one really good soldier who understands the terrain.</p><p>Auggie's Context Engine automatically indexed my entire MPM codebase&#8212;all the clues I'd left in various files, the CLAUDE.md instructions, the interconnected module relationships. I fired it up and Auggie just... understood. The tool said at one point, "Now I can see the pattern," when working through the D3.js integration. Pretty cool.</p><p>This contextual superiority <a href="https://hyperdev.matsuoka.com/p/the-agentic-coding-landscape-tools">aligns with what I've seen in my broader tool comparisons</a>. Augment Code consistently excels at whole-codebase understanding.</p><h2>The Claude Code Influence (In a Good Way)</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4rAP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4rAP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!4rAP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!4rAP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!4rAP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4rAP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3916285,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/172650217?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4rAP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!4rAP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!4rAP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!4rAP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50dcfb4c-a490-4702-a21d-66c89b3a2699_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Augment Code clearly studied Claude Code's interface, and I mean that as sincere flattery. The terminal UI looks remarkably similar&#8212;so much so that muscle memory transfers immediately. They've even implemented slash commands that Claude Code users will recognize:</p><ul><li><p><code>/model</code> for switching between models mid-session</p></li><li><p><code>/task</code> for opening the task manager</p></li><li><p><code>/github-workflow</code> for CI/CD integration</p></li><li><p>Custom commands via <code>auggie command &lt;n&gt;</code></p></li></ul><p>The three operating modes feel natural:</p><ul><li><p><strong>Interactive mode</strong>: Full terminal UI with streaming responses</p></li><li><p><strong>Print mode</strong>: <code>auggie --print "instruction"</code> for single commands</p></li><li><p><strong>Quiet mode</strong>: Returns only final output, perfect for piping</p></li></ul><h2>Where It Shines</h2><p><strong>Speed and responsiveness.</strong> This thing is fast. Noticeably faster than Claude Code on similar tasks, and much smoother than Codex CLI or Gemini CLI. Response streaming feels instantaneous. They&#8217;re using the same models, but CC add&#8217;s processing overhead in it&#8217;s hugely complex client which Auggie avoids.</p><p><strong>Context understanding.</strong> The automatic codebase indexing is remarkable. I didn't have to explain my project structure or manually include files. It discovered the relationships between modules, understood my documentation patterns, and applied that knowledge to solve the D3.js problem.</p><p><strong>Focus.</strong> Without sub-agent capabilities, Auggie forces you to think differently. Instead of orchestrating multiple agents, you're having a focused conversation with one highly capable assistant. For the Three.js debugging session, this constraint actually helped&#8212;we stayed on target instead of exploring tangential paths.</p><p><strong>Input validation against project context.</strong> Here's something unexpected: I accidentally pasted a prompt from a different project during one session, and Auggie caught it immediately. "That doesn't seem related to your current codebase," it said, asking for clarification. Claude Code would typically just run with it, trying to solve whatever you throw at it regardless of relevance. This kind of sanity checking shows Auggie isn't just indexing your code&#8212;it's actually understanding your project's boundaries and purpose.</p><h2>The Early-Stage Reality</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G0o4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G0o4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!G0o4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!G0o4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!G0o4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G0o4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3901367,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/172650217?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!G0o4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!G0o4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!G0o4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!G0o4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1771406a-3147-4328-be07-9bd6e3a5d5f1_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Let's talk about what's missing, because these limitations matter.</p><p><strong>No image support.</strong> You can't paste screenshots or diagrams into Auggie. For visual debugging or UI work, this is a real problem. I couldn't show it what the broken D3.js rendering looked like.</p><p><strong>Large text blocks fail.</strong> Pasting substantial code snippets or logs often breaks the UI. The input handling isn't as robust yet. I had to work around this by referencing files rather than pasting content directly.</p><p><strong>No sub-agents means no delegation.</strong> While focused single-process work has advantages, complex projects that benefit from parallel exploration hit a wall. Claude Code can spawn specialized agents for testing while another handles implementation. Auggie can't.</p><p><strong>Diff visualization is rough.</strong> Multiple users cite this as a dealbreaker, and I understand why. The diff rendering is primitive compared to Claude Code's mature implementation. You're often accepting changes on faith rather than clear visual confirmation.</p><h2>The Remote Agent Question</h2><p>Augment offers <a href="https://hyperdev.matsuoka.com/p/why-augment-code-is-betting-beyond">Remote Agents as a cloud-based feature</a>&#8212;up to 10 parallel agents working 24/7 on your codebase. But these aren't integrated with Auggie CLI yet. They're accessible through VS Code, with CLI integration "on the roadmap."</p><p>This feels like a missed opportunity. If Auggie could trigger Remote Agents from the CLI, even without native sub-process support, it would address the parallel processing limitation.</p><h2>The Verdict: Right Tool, Right Job</h2><p>After that train ride success, I'll continue using Auggie for specific types of problems. When I need focused, deep work on a complex technical issue&#8212;especially one requiring comprehensive codebase understanding&#8212;Auggie excels.</p><p>For single-problem debugging sessions where context matters more than parallelization, Auggie often outperforms Claude Code. The D3.js issue that stumped multiple Claude MPM sessions fell to Auggie's superior context grasp in under an hour.</p><p>But Claude MPM remains superior for orchestrating complex, multi-faceted development where you want specialized agents handling QA, documentation, and implementation simultaneously. Different tools for different jobs.</p><h2>Should You Try It?</h2><p>If you're hitting context limitations with Claude Code, absolutely. The $50/month developer tier gets you about 600 messages&#8212;expensive for individual developers, but the Context Engine might justify the cost if you work with large codebases.</p><p>If you need multi-agent orchestration, stick with Claude Code or wait for Auggie's Remote Agent CLI integration (and frankly I suspect Augment Code will be adding multi-agent support in the relatively near future) </p><p>If you're frustrated with token management and context windows, Auggie's automatic indexing feels like magic.</p><h2>Bottom Line</h2><p>Auggie CLI is an impressive early effort that gets some fundamental things very right. The Context Engine's automatic codebase understanding is genuinely superior to anything else I've used. The single-process limitation forces focused problem-solving that can be surprisingly effective.</p><p>But it's still early days. The missing image support, text input limitations, and primitive diff visualization create real friction. The lack of sub-agent support isn't just a feature gap&#8212;it's a philosophical difference that limits certain workflows.</p><p>I'm keeping my Augment Code subscription. For focused, context-heavy debugging sessions, Auggie has already proven its worth. That D3.js problem would probably still be unsolved without it.</p><p>I&#8217;m not wondering whether Auggie can replace Claude Code&#8212;it can't, and that's not the goal. The question is whether its superior context understanding justifies adding this tool to your arsenal.</p><p>For me, solving that persistent D3.js issue in 45 minutes on a train answered that question.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5fey!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5fey!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!5fey!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!5fey!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!5fey!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5fey!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3420007,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/172650217?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5fey!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!5fey!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!5fey!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!5fey!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367a4dbe-efda-4b04-99f3-5d2560a98306_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p><em>Have you tried Auggie CLI? I'm curious how others are working around the sub-agent limitation. Hit reply and let me know if you've found creative solutions.</em></p><p><strong>Related Reading:</strong></p><ul><li><p><a href="https://hyperdev.matsuoka.com/p/how-i-trained-augment-code-to-run">How I Trained Augment to Run Git and GitHub</a> - Teaching AI proper Git workflows</p></li><li><p><a href="https://hyperdev.matsuoka.com/p/why-augment-code-is-betting-beyond">Why Augment Code Is Betting Beyond the IDE</a> - Deep dive on Remote Agents and the future direction</p></li></ul>]]></content:encoded></item><item><title><![CDATA[I tried Google Opal so you don't have to ]]></title><description><![CDATA[(or maybe you want to?)]]></description><link>https://hyperdev.matsuoka.com/p/i-tried-google-opal-so-you-dont-have</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/i-tried-google-opal-so-you-dont-have</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Fri, 01 Aug 2025 14:03:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C7I4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C7I4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C7I4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!C7I4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!C7I4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!C7I4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C7I4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2821957,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/169536673?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C7I4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!C7I4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!C7I4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!C7I4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb77c1b3-8ad3-4299-bdcc-bf12a1c628b7_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When Google announced Opal, their new vibe coder entry, I had to try it. The space currently has Bolt, Lovable, Replit, and V0. Lovable leads the pack with Bolt gaining ground thanks to its Figma partnership. V0 does interesting work with API-driven vibe coding and design system integration.</p><p>So what's Opal's angle?</p><p>I'm not sure, actually. It looks more like a no-code tool than a proper coder. Maybe that's the point&#8212;point-and-click coding. I gave it a detailed prompt to build a travel intelligence platform requiring vector-based semantic search, database integration for knowledge storage, real-time data collection from multiple APIs, and export functionality including PDF generation. The system needed to handle user profiles, routing optimization, and offline capabilities.</p><p>Opal created a basic visual workflow with input nodes for "destination" and output nodes displaying text suggestions. No database schema, no API integrations, no file export capabilities. When I asked it to use form controls instead of text prompts for user input, it ignored the request entirely.</p><h2>What Opal actually builds</h2><p>Google's Opal creates visual workflow diagrams rather than actual code files. Users describe their app in natural language, and Opal creates a node-based flowchart showing inputs, AI model calls, and outputs.</p><p>You never see traditional code in JavaScript, Python, or React. You can edit prompts within each node, but the underlying execution stays hidden. This positions Opal closer to automation tools like Zapier than to legitimate code generation platforms.</p><p>The workflow consists of input nodes for data entry, processing nodes for AI transformations, and output nodes for displaying results. Unlike competitors that produce downloadable, deployable code, Opal apps remain locked within Google's ecosystem with no export capabilities.</p><p>Here's what struck me: this misses recent advances in deployable-code workflows that the market has embraced. Every serious vibe coder now gives you actual code you can deploy, modify, and own.</p><h2>The competitive landscape Google entered</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!edbJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!edbJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!edbJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!edbJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!edbJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!edbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2441377,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/169536673?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!edbJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!edbJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!edbJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!edbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F021763f1-cd3f-4c62-98ad-3cc1060763b7_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>According to reports from tech publications tracking the space, <a href="https://tech.eu/2024/10/07/lovable-raises-7-5m-for-gpt-engineer/">Lovable raised $7.5M in Series A funding</a> and their GitHub repository shows substantial community adoption. They generate production-ready React/TypeScript code with full GitHub integration. Their "Select to Edit" feature lets you directly manipulate components, and Supabase integration provides authentication, databases, and edge functions.</p><p>Bolt formed a strategic partnership with Figma, allowing users to transform Figma designs into production apps with one click. This integration, powered by Anima, strengthens the design-to-development workflow without requiring acquisition costs.</p><p>V0 by Vercel has carved out a niche as a UI specialist, releasing its "v0-1.0-md" model via API for premium subscribers at $20-30/month. They generate actual React components with proper TypeScript definitions.</p><p>Replit Agent offers browser-based development across 50+ languages, leveraging bounty service data where users describe projects in natural language. Their $20/month Core plan includes deployment infrastructure.</p><p>Notice the pattern? They all produce <strong>actual code</strong>. Files you can download, modify, deploy, and scale.</p><h2>What developers actually said about Opal</h2><p>One Medium author built an AI calisthenics assistant in 10 minutes, praising the "frictionless sharing" but acknowledging limitations for complex applications.</p><p>A Hacker News user encountered what they described as "possibly the ugliest error I have ever seen" when attempting to build a complex community gathering app. While this represents one user's experience, it illustrates the challenges Opal faces when handling multi-faceted requirements beyond simple, linear workflows.</p><p>Developer blog posts consistently describe it as "Canva, but for mini-apps." That's misaligned with what many developers prioritize in production tools.</p><p>The pattern in early feedback suggests Opal serves as a tool for rapid prototyping and idea validation rather than serious development. Success stories focus on content creation tools, productivity apps, and educational helpers&#8212;all front-end focused applications without backend complexity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ayih!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ayih!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Ayih!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Ayih!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Ayih!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ayih!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2409315,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/169536673?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ayih!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Ayih!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Ayih!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Ayih!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48eb0949-4d78-44c9-8c44-5cf20243c5af_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Technical gaps that matter</h2><p>The technical comparison reveals fundamental problems. Opal offers no API generation, database integration, server-side logic, or authentication systems. Compare this to Lovable's native Supabase integration, Bolt's Node.js server support, or Replit's multi-language API capabilities.</p><p>Opal apps remain trapped on Google's servers with link-based sharing only. No custom domains. No GitHub integration. No export options.</p><p>This isn't just a feature gap&#8212;it suggests a different understanding of developer priorities. Developers need more than visual automation&#8212;they need control, scalability, and code portability.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z3Hw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z3Hw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!z3Hw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!z3Hw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!z3Hw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z3Hw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1661864,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/169536673?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!z3Hw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!z3Hw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!z3Hw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!z3Hw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f91e57-8b3b-441f-8860-2c57ec089306_1024x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>My assessment: Wrong market positioning</h2><p>Google Opal misses advances that define the current vibe coding movement. We're not looking for visual workflow builders. We want tools that enhance our development capabilities while maintaining code quality and control.</p><p>Industry reports estimate the low-code/no-code market at various sizes, but the value in vibe coding specifically comes from tools that generate real, deployable code. Opal's visual workflow approach exists in automation tools and adds limited value beyond integrating Google's AI models into a flowchart interface.</p><p>For complete beginners and hobbyists, Opal might find a niche. It competes more with traditional no-code tools than development platforms. But without backend capabilities, code export, or production scalability, it suggests a different understanding of where this market has moved.</p><p>It's Google, so don't count them out entirely. But personally, I found it underwhelming on key developer criteria. If you want a flexible no/low-code tool for simple workflows, this might work for you. If you want to generate actual code you can deploy and scale, stick with the established players.</p><p>The industry has moved beyond visual builders toward real code generation. Opal misses this shift into a problem we've already solved better elsewhere</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e3Td!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e3Td!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png 424w, https://substackcdn.com/image/fetch/$s_!e3Td!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png 848w, https://substackcdn.com/image/fetch/$s_!e3Td!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png 1272w, https://substackcdn.com/image/fetch/$s_!e3Td!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e3Td!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png" width="1039" height="602" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62dded59-16db-4792-a9de-316ee5135236_1039x602.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:602,&quot;width&quot;:1039,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83549,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/169536673?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!e3Td!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png 424w, https://substackcdn.com/image/fetch/$s_!e3Td!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png 848w, https://substackcdn.com/image/fetch/$s_!e3Td!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png 1272w, https://substackcdn.com/image/fetch/$s_!e3Td!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62dded59-16db-4792-a9de-316ee5135236_1039x602.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Opal UX.  With a random input box I couldn&#8217;t figure out how to delete&#8230;</figcaption></figure></div><p>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!InVW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!InVW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png 424w, https://substackcdn.com/image/fetch/$s_!InVW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png 848w, https://substackcdn.com/image/fetch/$s_!InVW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png 1272w, https://substackcdn.com/image/fetch/$s_!InVW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!InVW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png" width="534" height="1013" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1013,&quot;width&quot;:534,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129941,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/169536673?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!InVW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png 424w, https://substackcdn.com/image/fetch/$s_!InVW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png 848w, https://substackcdn.com/image/fetch/$s_!InVW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png 1272w, https://substackcdn.com/image/fetch/$s_!InVW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aa36cbd-9e7f-4379-8188-7c51942774e7_534x1013.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Someone Will Find A Use For This Kind Of App (it took over 20 minutes to collect this information.  Not optimal)</figcaption></figure></div><h2>Related Reading</h2><p><a href="https://hyperdev.matsuoka.com/p/google-jules-first-look-not-ready">Google Jules First Look: Not Ready for Prime Time</a> - my hands-on review of Google's autonomous coding agent</p>]]></content:encoded></item><item><title><![CDATA[Warp Code - When Your Terminal Gets Ambitious]]></title><description><![CDATA[Testing Warp's new AI coding assistant on a real TypeScript project]]></description><link>https://hyperdev.matsuoka.com/p/warp-code-when-your-terminal-gets</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/warp-code-when-your-terminal-gets</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Fri, 27 Jun 2025 14:02:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a6182b59-90dc-4082-b8fb-c0ff62cdc3c9_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>The Setup</h2><p>I've been using Warp as my primary terminal for some time now. It's a good addition to anyone's desktop&#8212;fast, modern, with features that improve daily workflow (no more looking up command parameters - ever!). So when they announced Warp Code, their AI coding assistant, I was curious but also cautious. Terminal companies expanding into AI development tools? We've seen this story before.</p><p>But here's the thing: they got some basics right immediately.</p><h2>What Works</h2><p><strong>The LLM access is solid.</strong> Claude Sonnet 4 and GPT-4o as options&#8212;no proprietary models, no compromises. You can switch between models per conversation, though I found myself sticking with Claude for most coding tasks. When I'm debugging TypeScript compilation errors or wrestling with Chrome extension manifests, I want reliable reasoning. Warp Code delivers that.</p><p><strong>The integration feels natural within Warp's existing environment.</strong> Unlike bolt-on AI features that feel foreign, this builds on Warp's command suggestions and workflow integration. When you're deep in a debugging session, asking the AI doesn't break your flow.</p><p><strong>It handles straightforward coding questions competently.</strong> During my testing session building a Chrome extension, Warp Code correctly explained manifest syntax requirements and suggested proper TypeScript configurations. For standard debugging workflows&#8212;understanding error messages, suggesting configuration fixes&#8212;it performs as expected.</p><p>The pricing sits at $20/month with an annual discount for basic access. There's also a $200/month tier for heavier usage, though most developers won't need it for occasional AI assistance.</p><h2>The Fundamental Problem</h2><p>Here's where things get interesting&#8212;and problematic.</p><p><strong>Modality confusion is real.</strong> You're coding in an IDE or editor, but the AI assistant lives in your terminal. This creates constant context switching that breaks flow. When Warp Code suggests file changes, I still need to manually navigate to my editor, find the file, and implement the changes. It's functional, but it's not fluid.</p><p><strong>The terminal isn't built for code review.</strong> Warp Code can generate solutions and debug problems, but reviewing complex outputs feels cramped in a terminal interface. Compare this to Zed, which embeds rich data viewers&#8212;interactive trees, formatted JSON, side-by-side diffs&#8212;directly in the editing environment. Warp Code shows you text. That's it.</p><p><strong>Context handling has limits.</strong> The AI remembers our conversation within a session, but start a new terminal window and you're starting fresh. For ongoing development work, this means repeatedly re-establishing project context.</p><h2>The Bigger Question</h2><p>Testing Warp Code surfaced something I've been thinking about across all these AI coding tools: <em><strong>What differentiates them when they're all using the same frontier models?</strong></em></p><p>Claude Sonnet, GPT-4o, the emerging reasoning models&#8212;the core AI capabilities are increasingly similar. The prompting strategies are converging. The basic workflows (chat, generate, iterate) are nearly identical.</p><p><strong>The real differentiators are becoming infrastructure:</strong></p><ul><li><p>Tree-sitter parsers for code understanding</p></li><li><p>Semantic indexing for large codebases</p></li><li><p>Build system integration</p></li><li><p>Context management across sessions</p></li><li><p>UI/UX for complex data review</p></li></ul><p>But here's the question that keeps surfacing: <em><strong>Where is coding actually heading?</strong></em></p><p>If AI can handle more routine coding tasks autonomously, the primary interface might shift from "place where I write code" to "place where I direct and review code." That's a fundamentally different tool category.</p><p>Warp Code feels like it's positioning for this transition. Rather than trying to replace your IDE, it's building the command-and-control interface for AI-driven development. Issue commands, review outputs, iterate on requirements&#8212;all from the terminal where you're already orchestrating builds, deployments, and system interactions.</p><h2>Bottom Line Assessment</h2><p><strong>Should you try Warp Code?</strong> If you're already using Warp and occasionally need AI assistance with coding questions, yes. The AI integration is competent, the model access is high-quality, and it enhances rather than disrupts existing terminal workflows.</p><p><strong>Will it replace your primary coding setup?</strong> No. The modality gaps are too significant for complex development work. You'll still do your actual coding elsewhere.</p><p><strong>Is it positioned correctly for the future?</strong> That's the interesting question. As coding becomes more agent-driven, the terminal might indeed become the primary control interface. Warp Code feels like an early experiment in that direction.</p><p><em><strong>The real test isn't whether Warp Code works today&#8212;it does, for what it attempts. The test is whether their architectural assumptions about the future of coding interfaces prove correct.</strong></em></p><div><hr></div><p><em>Warp Code is available now with Claude Sonnet 4 and GPT-4o integration. $20/month with annual discount for basic usage; $200/month tier for expanded access.</em></p>]]></content:encoded></item><item><title><![CDATA[Zen Coder: Decent Execution, Overengineered Experience]]></title><description><![CDATA[But doesn't add much to an increasingly crowded field.]]></description><link>https://hyperdev.matsuoka.com/p/zen-coder-decent-execution-overengineered</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/zen-coder-decent-execution-overengineered</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Thu, 26 Jun 2025 19:02:17 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/48dc35c4-e7f1-4323-9924-3950cc31d2f3_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My friend Ophir passed on link to Zen Coder a couple weeks ago, and I&#8217;ve seen their active marketing frequently since then, so I was curious what the fuss was all about.  I spent the morning using it to do a task that had been on my to-do for awhile:  refactor my AI Code Review project&#8212;breaking down massive 1000+ line files into manageable modules. My take on Zen Coder? It works fine, but it's solving problems I didn't know I had while creating new ones I definitely don't want.</p><p><a href="https://github.com/bobmatnyc/ai-code-review/commit/0854b560f4591fbe0dd7770a4c8c27d93979538b">The full refactoring work</a> is available on GitHub if you want to see what was accomplished.</p><h2><strong>What Works</strong></h2><p>The core functionality delivered. When I asked it to systematically break down large TypeScript files into logical units, Zen Coder handled it competently. It read my project's INSTRUCTIONS.md files correctly, generated clean code that followed established patterns, and maintained proper imports throughout the refactoring.</p><p>The "Repo Grokking" feature genuinely understands codebases. Unlike tools that work file-by-file, it demonstrated comprehensive awareness of my project structure. Made sensible decisions about module separation. Kept architectural consistency across multiple files.</p><p>One feature genuinely impressed me: the session summarizer. At the end of our work, it provided this kind of clear overview:</p><p><em>"We have successfully fixed the test failures in the codebase after merging the refactor/prepare-codebase branch into main. Fixed ModelInfoUtils.ts... Fixed OutputHandler.test.ts... Fixed ReviewExecutor.ts... Ran the full test suite... Committed and pushed changes..."</em></p><p>That's genuinely useful documentation&#8212;the kind developers want but rarely take time to write themselves. It understood scope, tracked what was fixed, presented it clearly.</p><h2><strong>The Complexity Problem</strong></h2><p>Here's where Zen Coder loses me: it's built around "multiple specialized agents" that supposedly handle different aspects of development. Coding Agent, Unit Test Agent, custom workflow agents.</p><p>But during my entire refactoring session, I never understood when I'd want a different agent or why switching would help. The system never explained the benefits or suggested optimal contexts for agent switching.</p><p>I used the default interaction for everything. It worked fine. The promised "agent orchestration" felt like marketing, not meaningful functionality.</p><h2><strong>UX Issues That Add Up</strong></h2><p>Several design decisions created unnecessary friction:</p><p><strong>Terminal confusion</strong>: When Zen Coder launched commands requiring my input, it just waited. No indication it needed my response. I spent several minutes wondering if it was processing before realizing I needed to hit enter. Basic UX oversight.</p><p>Even worse, it had the annoying habit of executing commands in a terminal, then immediately closing that terminal and reverting to the previous one. So I couldn't see what happened in the terminal session. Want to check if that command worked? Good luck&#8212;the evidence just disappeared.</p><p><strong>Permission redundancy</strong>: Despite approving changes through Zen Coder's tools, it kept asking permission to run those same tools. The "step limit" feature pauses after certain steps, which felt redundant when it's already asking for individual command approval.</p><p><strong>Missing system instructions</strong>: Despite its repository analysis capabilities, Zen Coder repeatedly asked for help understanding my repo in new sessions. It offers manual instruction input, but there's no automatic way to read existing instruction files (INSTRUCTIONS.md, .cursorrules) that most developers maintain. If it can read my entire codebase, why can't it discover my documented conventions?</p><p><strong>Plugin-based sessions</strong>: The UX reminded me of Zed's approach&#8212;session history with exposed artifacts&#8212;but felt clunkier because it's running as a plugin rather than native integration.</p><h2><strong>Market Reality Check</strong></h2><p>The research confirms my experience. InfoWorld's review characterized Zen Coder as "wet behind the ears," noting its innovations "aren't ipso facto better" than competitors generating correct code immediately.</p><p>Technical limitations include:</p><ul><li><p>Repository analysis takes significant time with apparent full reprocessing on refresh</p></li><li><p>Agent repair capabilities limited to simple bugs versus complex whole-repo fixes</p></li><li><p>Error-corrected inference pipeline doesn't demonstrably outperform models that generate correct code initially</p></li></ul><h2><strong>Team Features Nobody Asked For</strong></h2><p>Zen Coder's major differentiator is team collaboration&#8212;creating and sharing "Zen Agents" across organizations. The platform emphasizes workflow standardization and institutional knowledge transfer.</p><p>This sounds compelling in theory but reflects a fundamental misunderstanding of how developers work. We want tools that help us code better, faster, with fewer errors. We don't want to manage agent libraries or orchestrate workflow handoffs.</p><p>The pricing model&#8212;550 "Premium LLM Calls" per user per 24 hours at $19-39/month&#8212;adds complexity without clear value over straightforward subscriptions.</p><h2><strong>Different Tools for Different Jobs</strong></h2><p>Against established alternatives, Zen Coder's value proposition is unclear:</p><p><strong>Regular Claude</strong> delivers the same underlying capabilities with less ceremony. Claude's coding assistance is excellent without agent orchestration overhead.</p><p><strong>Cursor</strong> offers superior user experience, more intuitive interface, competitive pricing at $20/month. The IDE experience is simply better.</p><p><strong>GitHub Copilot</strong> provides universal familiarity, seamless integration, enterprise trust through Microsoft backing. Does what most developers need without complexity.</p><p><strong>Windsurf</strong> delivers more polished implementation, cleaner interface, competitive features at lower cost.</p><p><strong>Augment Code</strong> operates in similar fashion to Zen Coder&#8212;remote agents, multi-step operations&#8212;but with a far more streamlined interface within VS Code. Where Zen Coder's agent orchestration felt like marketing theater, Augment's remote agents delivered practical value. I'll cover this in detail in a separate review, but the contrast is telling: similar underlying concepts, dramatically different execution quality.</p><p>Zen Coder excels at repository understanding and offers team collaboration features. But these advantages don't overcome the UX friction and implementation gaps.</p><h2><strong>Bottom Line</strong></h2><p>Zen Coder isn't broken&#8212;it's overcomplicated. The core technology works, agents produce quality code, repository understanding is genuinely useful. But it wraps these capabilities in unnecessary complexity that creates more problems than it solves.</p><p>The platform feels designed by people who think about AI development theoretically rather than practically. Real developers want tools that get out of their way, not platforms requiring them to think about agent orchestration and workflow management.</p><p>For teams satisfied with existing AI coding tools, there's no compelling reason to switch. The promised collaboration benefits don't materialize for most development workflows, and technical execution lags behind more polished alternatives.</p><p>If you're looking for AI coding assistance, stick with proven options. They deliver the same core benefits with less friction and more predictable experiences.</p><p>Zen Coder represents the kind of overengineered solution that happens when startups feel compelled to differentiate in crowded markets. Sometimes the simpler tool really is the better tool.</p><div><hr></div><p><em>Based on hands-on testing with TypeScript refactoring and comprehensive market research. Your experience may vary.</em></p>]]></content:encoded></item><item><title><![CDATA[I Still Hate PowerPoint. I Think I'm Going to Love Gamma]]></title><description><![CDATA[Yes, this is a review.]]></description><link>https://hyperdev.matsuoka.com/p/ftt-i-still-hate-powerpoint-i-think</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/ftt-i-still-hate-powerpoint-i-think</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Fri, 13 Jun 2025 14:02:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hMna!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Eating Crow (Sort Of)</h2><p>On Friday, I published a piece about why I hate PowerPoint and demonstrated how Claude AI can quickly turn outlines into functional slideshows. I stand by that approach during the development phase&#8212;when you're iterating on structure, having an interactive model that responds to prompts beats wrestling with slide templates every time.</p><p>But I'm eating a little crow today after actually trying Gamma.</p><p>Turns out, purpose-built AI designed around turning ideas into presentations might actually be how most people solve their presentation problems going forward. Who knew?</p><h2>The Gamma Reality Check</h2><p>I took the demo slideshow I'd created for one of my clients&#8212;the same one I'd used to demonstrate the Claude approach&#8212;and literally copy-pasted the text outline into Gamma without any modifications. That's it. No formatting, no style guidance, no design direction.</p><p>Gamma picked out the style, illustrations, and format entirely by itself. In literally no time, with zero effort on my part beyond the paste operation, it turned that raw outline into a genuinely stunning presentation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hMna!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hMna!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png 424w, https://substackcdn.com/image/fetch/$s_!hMna!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png 848w, https://substackcdn.com/image/fetch/$s_!hMna!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png 1272w, https://substackcdn.com/image/fetch/$s_!hMna!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hMna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png" width="1456" height="551" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:551,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1475168,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/165453652?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hMna!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png 424w, https://substackcdn.com/image/fetch/$s_!hMna!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png 848w, https://substackcdn.com/image/fetch/$s_!hMna!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png 1272w, https://substackcdn.com/image/fetch/$s_!hMna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b828071-d8f4-41ef-b7ed-b920b34ecb8f_2378x900.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://ai-first-engineering-tra-q3616p3.gamma.site/">Here's the actual result</a></p><p>Were I to give that presentation again, I'd likely use this version. The visual design, the flow, the polish&#8212;it's exactly what you'd want for a client-facing deck without the usual hours of formatting hell. Pretty impressive considering it had nothing to work with but plain text bullets.</p><h2>The Refined Workflow</h2><p>Does this mean always use Gamma? Not quite. Here's what I think the optimal workflow actually looks like:</p><p><strong>Phase 1: Structural Development</strong> Use Claude (or similar) for rapid iteration on content and structure. The back-and-forth of refining bullets, reordering sections, and testing different angles works best when you can prompt your way through changes instantly.</p><p><strong>Phase 2: Final Polish</strong> Once your structure is solid, tools like Gamma shine. Copy-paste your refined outline&#8212;no formatting required&#8212;and let it handle everything: visual design, illustrations, layout, typography. The fact that it made intelligent design decisions from nothing but raw text bullets is genuinely impressive.</p><p>The limitation remains: Gamma isn't as interactive for mid-stream edits. If you want to rearrange bullets or restructure sections, you're better off going back to the prompt-driven approach, then re-generating the polished version.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f3Jv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f3Jv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png 424w, https://substackcdn.com/image/fetch/$s_!f3Jv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png 848w, https://substackcdn.com/image/fetch/$s_!f3Jv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png 1272w, https://substackcdn.com/image/fetch/$s_!f3Jv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f3Jv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png" width="1456" height="769" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:769,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2080969,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/165453652?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!f3Jv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png 424w, https://substackcdn.com/image/fetch/$s_!f3Jv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png 848w, https://substackcdn.com/image/fetch/$s_!f3Jv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png 1272w, https://substackcdn.com/image/fetch/$s_!f3Jv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23a92fea-413f-4a4c-ab27-e249add48c7c_2404x1270.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>Another Gamma slide.  Folks, I just pasted in the text content.  That&#8217;s it.  </p></div><h2>What This Really Means</h2><p>This experience reinforces something bigger: AI prompting over traditional tooling is clearly where UX is heading.</p><p>Instead of:</p><ul><li><p>Opening PowerPoint</p></li><li><p>Choosing a template</p></li><li><p>Fighting with slide layouts</p></li><li><p>Manually formatting elements</p></li><li><p>Spending hours on visual consistency</p></li></ul><p>We get:</p><ul><li><p>Copy-paste your outline</p></li><li><p>Let AI make all design decisions</p></li><li><p>Get a polished result instantly</p></li><li><p>Focus purely on content quality</p></li></ul><p>The fact that Gamma produced a client-ready presentation from nothing but raw text bullets&#8212;no style guidance, no formatting hints, no design direction&#8212;demonstrates how far this approach has already come.</p><p>Gamma represents the first wave of this shift, and while I don't know if it's the best solution, it's pretty impressive. More importantly, it validates the fundamental premise: when AI can understand intent and execute design decisions, the traditional software interaction model starts looking absurd.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lrYi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lrYi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png 424w, https://substackcdn.com/image/fetch/$s_!lrYi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png 848w, https://substackcdn.com/image/fetch/$s_!lrYi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png 1272w, https://substackcdn.com/image/fetch/$s_!lrYi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lrYi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png" width="1456" height="705" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:705,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:671555,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/165453652?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lrYi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png 424w, https://substackcdn.com/image/fetch/$s_!lrYi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png 848w, https://substackcdn.com/image/fetch/$s_!lrYi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png 1272w, https://substackcdn.com/image/fetch/$s_!lrYi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd651a2a4-4594-47e1-9dec-3ec3f6b80525_2368x1146.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>Yes, Claude&#8217;s slideshow generator could build simple graphs.  But nothing like this.</p></div><h2>The Honest Assessment</h2><p>My Friday point about Claude for slideshow development? Still valid for the messy, iterative work of getting your ideas straight. But Gamma has shown me that the final presentation layer is ripe for this kind of AI-first approach.</p><p>The real insight isn't that one tool beats another&#8212;it's that we're seeing the emergence of a genuinely better workflow. Prompt-driven content development feeding into AI-powered design execution.</p><p>That's not just an incremental improvement over PowerPoint. That's a completely different category of solution.</p><h2>Bottom Line</h2><p>I still hate PowerPoint. But I'm starting to love what comes after it.</p><p>The future of presentations isn't about better slide software&#8212;it's about describing what you want and having AI figure out how to make it compelling. Gamma gets us closer to that reality than anything I've used before.</p><p>Now I just need to figure out how to expense a Gamma subscription as "competitive research."</p>]]></content:encoded></item><item><title><![CDATA[Zed Gets the AI Editor Right]]></title><description><![CDATA[Could This Be The Tool That Weans Me Off Of Claude Code?]]></description><link>https://hyperdev.matsuoka.com/p/zed-gets-the-ai-editor-right</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/zed-gets-the-ai-editor-right</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Wed, 04 Jun 2025 19:10:23 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/438c3ed9-b080-43d3-b839-f97dd6cce236_1947x1029.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Sometimes timing is a funny thing in tech. I just finished reviewing <a href="https://factories.ai/">Factories.ai</a>, which perfectly exemplifies what happens when you build tool-based experiences for AI workflows: clunky interfaces, fragmented interactions, the kind of UX that makes you wonder if anyone actually used the thing before shipping it.</p><p>Then along comes <a href="https://zed.dev/">Zed</a>.</p><p>I'll be honest: I wasn't familiar with this editor before diving in. But after spending serious time with it on a real testing framework conversion, I'm convinced they've cracked something fundamental about AI-first development environments. They didn't start with an editor and add AI&#8212;they started with the AI session and built an editor around it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D1hP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D1hP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png 424w, https://substackcdn.com/image/fetch/$s_!D1hP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png 848w, https://substackcdn.com/image/fetch/$s_!D1hP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png 1272w, https://substackcdn.com/image/fetch/$s_!D1hP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D1hP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png" width="1456" height="872" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:872,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:368444,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/165205123?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!D1hP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png 424w, https://substackcdn.com/image/fetch/$s_!D1hP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png 848w, https://substackcdn.com/image/fetch/$s_!D1hP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png 1272w, https://substackcdn.com/image/fetch/$s_!D1hP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66dc5cc1-8bb0-49c2-82e1-46c42f8061dd_1563x936.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p> Unlike Zed's web-based editor, this very responsive and fast, made-up desktop editor allows complete window flexibility.</p></div><h2>What Zed Actually Is</h2><p>Zed positions itself as a task-focused, minimalist editor built around three configurable pane areas. You get an editor window (which you can dismiss entirely if you're doing pure AI work), a context-aware navigation pane that intelligently toggles between file trees, code outlines, and git status, and here's the key: a dedicated AI session view where the real work happens.</p><p>The interface feels deliberately uncluttered. After years of VS Code's extension sprawl and notification chaos, Zed's clean lines are refreshing. But don't mistake minimalism for lack of power.</p><h2>The AI Experience: Claude-Quality Results</h2><p>Zed offers multiple model choices, but I worked primarily with <a href="https://www.anthropic.com/claude">Claude Sonnet</a>. The responses felt identical to <a href="https://www.anthropic.com/news/claude-engineer">Claude Code</a>, matching the quality I've seen using Claude Code in <a href="https://code.visualstudio.com/">VS Code</a>. Same reasoning patterns, same ability to understand complex instructions.</p><p>I put this to the test with a real workflow. I fed Zed my Claude.md reference file (the one I've customized with project instructions, file references, and development workflows) and asked it to handle a testing framework conversion. Not only did it parse and follow the instructions correctly, but it seamlessly worked with the <a href="https://docs.github.com/en/rest">GitHub API</a> to create issues, managed <a href="https://git-scm.com/">Git</a> branching, and maintained context across a complex, multi-step process.</p><p>It did make one mistake initially, forgot to work in a feature branch, but Zed recovered smoothly by re-scoping all changes to the proper branch structure. A small miss, but handled well.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Njnq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Njnq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png 424w, https://substackcdn.com/image/fetch/$s_!Njnq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png 848w, https://substackcdn.com/image/fetch/$s_!Njnq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png 1272w, https://substackcdn.com/image/fetch/$s_!Njnq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Njnq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png" width="633" height="289" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92769465-817e-449c-bc29-69033b98a4f8_633x289.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:289,&quot;width&quot;:633,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:40642,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/165205123?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Njnq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png 424w, https://substackcdn.com/image/fetch/$s_!Njnq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png 848w, https://substackcdn.com/image/fetch/$s_!Njnq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png 1272w, https://substackcdn.com/image/fetch/$s_!Njnq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92769465-817e-449c-bc29-69033b98a4f8_633x289.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>Nice recovery, Zed.</p></div><p>What impressed me most: when I asked Zed to commit changes, it automatically re-reviewed the project instructions I'd provided earlier. This is context management that <a href="https://www.anthropic.com/claude">Claude</a> often misses&#8212;maintaining awareness of core project requirements across long sessions. The fact that Zed preserves and actively references foundational instructions shows sophisticated session state management.</p><p>Even more impressive: Zed took my workflow instructions seriously and kept working on CI/CD test requirements until they actually passed. Unlike Claude, which tends to give up when tests fail repeatedly, Zed persisted until it got them working. Good thing too&#8212;I'd been skipping those failing tests for weeks. Zed basically forced me to clean up technical debt I'd been avoiding.</p><p>In terms of raw AI capability, this is Claude Code territory. But the interface makes all the difference.</p><h2>The Streaming Session Revolution</h2><p>Here's where Zed fundamentally changes the game. Unlike static diffs, Zed streams each micro-change as a real-time breadcrumb trail. You're not just watching aggregate results&#8212;you're seeing the AI's thought process unfold sequentially.</p><p>Each edit appears granularly: "Updating function signature," followed by the actual change, then "Adding error handling," with its corresponding code. Unlike traditional editor-based changes where you can't trace which request triggered which modification, Zed's session view maintains perfect lineage.</p><p>But here's the killer feature: full terminal session capture. When Zed runs tests, builds, or any command-line operation, you see the entire terminal history embedded in the session. Each interactive run becomes a timestamped moment you can scroll back to and review.</p><p>This is profound. You're not just getting code changes&#8212;you're getting the complete development context. Test failures, build outputs, deployment logs, all integrated into a coherent narrative of what the AI actually did.</p><p>If I were <a href="https://www.anthropic.com/">Anthropic</a>, I'd be looking at this interface as a superior paradigm to plain terminal interactions. The session view provides visibility that transforms AI coding from blind trust to informed collaboration.</p><p>One fix needed: scroll position jumps when reviewing past edits.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yFSH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yFSH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png 424w, https://substackcdn.com/image/fetch/$s_!yFSH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png 848w, https://substackcdn.com/image/fetch/$s_!yFSH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png 1272w, https://substackcdn.com/image/fetch/$s_!yFSH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yFSH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png" width="1090" height="856" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:856,&quot;width&quot;:1090,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:188216,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/165205123?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yFSH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png 424w, https://substackcdn.com/image/fetch/$s_!yFSH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png 848w, https://substackcdn.com/image/fetch/$s_!yFSH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png 1272w, https://substackcdn.com/image/fetch/$s_!yFSH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92e647ec-fd3e-4f4e-b38d-b29b8a9be006_1090x856.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p> Streaming diff snippets.</p></div><h2>Architecture Enabling AI Innovation</h2><p>What makes this possible is that Zed didn't start with an existing editor and bolt on AI features. They built everything from scratch in Rust with AI workflows as a first-class consideration.</p><p>The team completely rewrote their approach from <a href="https://github.com/atom/atom">Atom's</a> JavaScript/Electron foundation. <a href="https://zed.dev/team">Nathan Sobo's</a> team implemented what they call a <a href="https://zed.dev/blog/zed-ai">"custom streaming diff protocol that works with Zed's CRDT-based buffers to deliver edits as soon as they're streamed from the model."</a> You see the model's output token by token, which creates the granular change tracking I described above.</p><p>Their <a href="https://github.com/zed-industries/zed/tree/main/crates/gpui">GPUI framework</a> treats the entire interface like a video game, rendering everything on the GPU. This isn't just for performance&#8212;it enables the seamless integration of terminal sessions, code changes, and AI interactions into a single, coherent stream.</p><p>By owning the full stack from <a href="https://tree-sitter.github.io/">Tree-sitter</a> parsing to GPUI rendering, they could architect tight integration between their "fast native terminal" and "language-aware task runner and AI capabilities." This is why terminal sessions appear seamlessly in the AI session view rather than feeling like separate tools awkwardly connected.</p><p>The contrast with Atom is striking. Where Atom used "an array of lines, a JavaScript array of strings" for the buffer, Zed uses <a href="https://zed.dev/blog/we-have-to-start-over">"a multi-thread-friendly snapshot-able copy-on-write B-tree that indexes everything you can imagine."</a> This architectural foundation enables the real-time collaboration and streaming AI features that define Zed's experience.</p><h2>Performance and Polish</h2><p>Zed's <a href="https://www.rust-lang.org/">Rust</a> foundation delivers on its performance promises. The editor is genuinely fast&#8212;no spinning wheels, no stuttered typing, no lag switching between files. Coming from <a href="https://www.electronjs.org/">Electron</a>-based tools, the responsiveness feels almost shocking.</p><p>I found myself closing the traditional editor pane entirely, working in a two-screen setup with git/tree view on the left and the AI session on the right. And here's the concerning part: I might prefer this UX to VS Code with Claude Code integration.</p><p>Also lots of little niceties:  when you &#8220;copy relative path&#8221; in the file browser, it automatically adds it to context.  Another is that it can allow changes and modifications to the stream and handle them automatically, integrate them into their workflow while then resuming the tasks they were working on before.</p><p>One UX improvement I'd love: show the current git branch consistently, regardless of whether you're in code view or git view. Small detail, but it matters for workflow awareness.</p><p>That said, I'm convinced enough that I'm already planning to use Zed for several upcoming projects.</p><h2>Pricing Reality Check</h2><p><a href="https://zed.dev/pricing">Zed's pricing</a> is refreshingly straightforward: $20/month for 500 prompts, then usage-based billing beyond that (at the time of writing). For context, I converted roughly 50% of the testing framework for a substantial codebase (47,000+ lines of TypeScript) using 150 prompts.</p><p>If you're doing heavy AI-first development&#8212;100% prompt-driven like I was testing&#8212;you'd probably exhaust the 500 prompts within a week. But for mixed human/AI workflows, this pricing feels sustainable and affordable.</p><p>I suspect they'll adjust pricing upward or offer higher-tier prompt packages as adoption grows. The current model feels designed to attract users rather than maximize revenue.</p><h2>Bottom Line Assessment</h2><p>Zed has earned a spot among my favorite new development tools. It might be superior to <a href="https://www.augmentcode.com/">Augment</a>, and it's definitely a better AI coding experience than traditional editor-based approaches.</p><p>The streaming session view alone justifies trying Zed. Watching AI development unfold with full context&#8212;code changes, terminal outputs, git operations&#8212;provides insight into AI reasoning that other tools simply can't match.</p><p>Is it perfect? No. The scroll behavior needs fixing, pricing will likely increase, and you're locked into their ecosystem rather than enhancing your existing workflow.</p><p>But they've solved a fundamental UX problem that most AI coding tools ignore: how do you make AI development visible, trackable, and collaborative rather than mysterious and opaque?</p><h2>What This Means for AI Development Tools</h2><p>Zed proves that AI coding tools need rethinking from the ground up, not just bolting AI features onto existing editors. The session-based paradigm offers advantages that traditional editor-based or terminal-based approaches can't match.</p><p>More importantly, it demonstrates that UX innovation matters as much as AI capability. <a href="https://www.anthropic.com/claude">Claude's</a> reasoning power paired with Zed's interface creates a development experience that's genuinely superior to either component alone.</p><p>For developers frustrated with existing AI coding workflows, <a href="https://zed.dev/">Zed</a> deserves serious evaluation. For established players in this space, it should be a wake-up call about the importance of interface design in AI-first development environments.</p><p>Zed doesn't just add AI&#8212;it rethinks what working with it should feel like.</p>]]></content:encoded></item><item><title><![CDATA[Factory AI CodeDroid: Promising Concept, Premature Execution]]></title><description><![CDATA[A Tool I Really Wanted To Like]]></description><link>https://hyperdev.matsuoka.com/p/factory-ai-codedroid-promising-concept</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/factory-ai-codedroid-promising-concept</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Wed, 04 Jun 2025 19:01:08 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/13ac1c38-f7e7-41ae-ab6c-340a9b275e73_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I went into Factory AI rooting for it&#8212;because the premise, frankly, is what the next era of agentic coding should look like.</p><p>Multiple specialized agents handling different aspects of development. A local MCP bridge connecting to your actual environment (something I use extensively in my own AI workflows). The promise of truly autonomous coding&#8212;not just assistance, but "set it and forget it" development where you hand off a task and come back to finished work.</p><p>After spending time with CodeDroid on a real bug fix for my AI code review tool, here's what I found: great architectural vision, flawed execution, and a product that isn't ready for serious development work.</p><h2>What Factory AI Gets Right</h2><p>The specialized agents concept makes sense. Instead of one monolithic AI trying to handle everything from coding to testing to documentation, Factory breaks this into distinct Droids: CodeDroid for implementation, Review Droid for pull requests, QA Droid for testing, and others for specific workflow stages.</p><p>The local MCP bridge approach clicked with how I already work. Having an agent that can actually interact with your local environment&#8212;run builds, execute commands, understand your project structure&#8212;feels like the natural evolution beyond browser-based coding assistants.</p><p>Most importantly, CodeDroid actually solved the specific bugs I reported. It understood my workflow for creating GitHub issues, worked properly in a feature branch, and delivered fixes for the problems I described. That's table stakes, but worth noting when so many AI tools struggle with basic task completion.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m11K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m11K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png 424w, https://substackcdn.com/image/fetch/$s_!m11K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png 848w, https://substackcdn.com/image/fetch/$s_!m11K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png 1272w, https://substackcdn.com/image/fetch/$s_!m11K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m11K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png" width="793" height="528" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:528,&quot;width&quot;:793,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:59274,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/165135173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!m11K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png 424w, https://substackcdn.com/image/fetch/$s_!m11K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png 848w, https://substackcdn.com/image/fetch/$s_!m11K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png 1272w, https://substackcdn.com/image/fetch/$s_!m11K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F067b930c-c95a-4ed4-afeb-b5361428bb6b_793x528.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>The CodeDroid Session UI</p></div><h2>The Fundamental Architecture Problem</h2><p>Here's where things get interesting, and not in a good way.</p><p>Factory markets itself as autonomous, but requiring users to manually switch between agent "modes" isn't autonomous behavior. A proper multi-agent system should have an orchestrator agent that takes your task, understands the full workflow, and delegates appropriately. It should hand off to documentation agents when specs need updating, QA agents when testing is required, research agents when context gathering is needed&#8212;and just return results.</p><p>Right now, it's more like an app switcher for different AI roles than a true autonomous system. You pick your agent like you're picking a tool from a menu&#8212;not assigning a task and letting the system run with it.</p><p>When I asked CodeDroid to handle my bug fix, it never automatically transitioned to testing phases or involved other agents. I got code changes but no validation that the broader system still worked. For something positioning itself as enterprise-grade autonomous development, this feels like a fundamental architectural oversight.</p><h2>Speed That Kills Productivity</h2><p>The performance issues are brutal. Compared to Cursor's sub-30-second turnarounds or Claude Code's near-instant drafts, Factory's response times feel stuck in staging. We're not talking about marginally slower&#8212;this was painfully, productivity-killingly slow.</p><p>The bigger problem is feedback. Factory's UX assumes you'll start a task and walk away, but even if that's the intended workflow, you need meaningful progress indicators. Instead, you get minimal feedback during long operations, making it impossible to tell if the system is working or stuck.</p><p>This might be token conservation at play&#8212;enterprise pricing models often encourage batched operations over interactive responsiveness. But when tools like Claude Code deliver near-real-time responses with superior quality, the value proposition breaks down.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aFDK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aFDK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png 424w, https://substackcdn.com/image/fetch/$s_!aFDK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png 848w, https://substackcdn.com/image/fetch/$s_!aFDK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png 1272w, https://substackcdn.com/image/fetch/$s_!aFDK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aFDK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png" width="587" height="176" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:176,&quot;width&quot;:587,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:17209,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/165135173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aFDK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png 424w, https://substackcdn.com/image/fetch/$s_!aFDK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png 848w, https://substackcdn.com/image/fetch/$s_!aFDK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png 1272w, https://substackcdn.com/image/fetch/$s_!aFDK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d930317-9e59-4d22-8082-0e2f3bac985c_587x176.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="pullquote"><p>I asked this question frequently.</p></div><h2>UX Contradictions</h2><p>The interface reveals more complexity than it should. If autonomy is the goal, the system shouldn't be asking me to watch a context panel like a flight dashboard. But that's exactly what Factory does&#8212;three separate windows (session, context, history) compete for attention when the promise is hands-off operation.</p><p>Basic usability issues compound the problem. The history window proved useless&#8212;I could never parse what tasks were actually running. Multiple times, dialog boxes for accepting changes were hidden behind other columns, leaving me confused about why the system appeared stuck.</p><p>When CodeDroid needed permissions for non-trivial operations, it required manual approval or would halt progress. Again, this contradicts the autonomous positioning. Either work in a feature branch where it can do everything safely, or build proper permission models that don't require babysitting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-ayK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-ayK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png 424w, https://substackcdn.com/image/fetch/$s_!-ayK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png 848w, https://substackcdn.com/image/fetch/$s_!-ayK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png 1272w, https://substackcdn.com/image/fetch/$s_!-ayK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-ayK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png" width="1456" height="842" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:842,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:182019,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/165135173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-ayK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png 424w, https://substackcdn.com/image/fetch/$s_!-ayK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png 848w, https://substackcdn.com/image/fetch/$s_!-ayK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png 1272w, https://substackcdn.com/image/fetch/$s_!-ayK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94565ea6-02b0-47be-9508-e3d6e38585bb_1510x873.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>Factory AI&#8217;s Column-Based UX (Session and context columns shown.  The useless history column not shown.  Note the &#8220;Accept&#8221; button.  It&#8217;s sometimes behind the context column, making you wonder why things have paused&#8230;)</p></div><h2>Execution Gaps That Undermine Trust</h2><p>CodeDroid fixed the specific issues I reported, which is good. But it didn't catch other TypeScript compilation errors and linting issues that already existed in the codebase. To be clear&#8212;it didn't cause these problems, but it didn't identify them either. More problematically, it claimed successful builds and mentioned fixing these problems, but when I tried to actually compile and run the code, things failed.</p><p>I'm not sure how it tested its changes if the build was broken. Maybe that's QA Droid's job, but without automatic handoff between agents, these gaps become visible and concerning.</p><p>The system also failed silently on GitHub API integration. I have a specific workflow where my AI tools create issues using environment variables, but CodeDroid couldn't execute this despite acknowledging the limitation only after attempting the work. For enterprise-grade tooling, upfront capability assessment should be standard.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RcI5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RcI5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png 424w, https://substackcdn.com/image/fetch/$s_!RcI5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png 848w, https://substackcdn.com/image/fetch/$s_!RcI5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png 1272w, https://substackcdn.com/image/fetch/$s_!RcI5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RcI5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png" width="1456" height="947" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:947,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:386942,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/165135173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RcI5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png 424w, https://substackcdn.com/image/fetch/$s_!RcI5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png 848w, https://substackcdn.com/image/fetch/$s_!RcI5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png 1272w, https://substackcdn.com/image/fetch/$s_!RcI5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea887aed-3d12-4479-b803-6067af87cfe9_1508x981.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>3 Column Interface with a code editor.</p></div><h2>Quality Doesn't Match the Claims</h2><p>Despite reportedly using Sonnet models, the output quality felt inferior to what I get from Claude Code or Augment Code. This might be prompt engineering, context management, or architectural overhead, but the results matter more than the underlying model choice.</p><p>When you're positioning as premium enterprise tooling with autonomous capabilities, the bar is high. Traditional "assisted" tools like Cursor feel more autonomous in practice because they maintain momentum, provide clear feedback, and deliver reliable results.</p><h2>The Trust Problem</h2><p>Autonomous coding only works if you trust the outcomes. And trust, in this space, isn't earned by marketing&#8212;it's earned by builds that run and issues that don't come back two days later.</p><p>When CodeDroid claims it fixed linting errors but leaves broken builds, when it reports successful testing without actually running tests, when it silently fails on API integrations&#8212;that erodes confidence rapidly. The fundamental promise is that you can hand off work and trust the results. But if you still need to verify everything manually, validate builds, and debug what actually happened, the tool hasn't delivered on its core value proposition.</p><h2>How I'd Fix This</h2><p>Look at what actually works in autonomous AI development. Codex Web gives you a clean dashboard view of progress with real-time updates. Jules keeps the interface minimal because the AI does the heavy lifting. Devin doesn't even have a traditional interface&#8212;you communicate via chat and it shows you results.</p><p>Factory has this backwards. They're exposing complexity that should be hidden while failing to provide the essential feedback you actually need.</p><p>If I were Factory, here's what I'd build: A dashboard that shows clear progress indicators and task delegation in real-time. Full autonomous operation within feature branches&#8212;no permission requests for basic operations. Automatic orchestration between agents without manual mode switching. And actual integration with workflow tools&#8212;not just API calls that silently fail, but native JIRA, GitHub Issues, and Linear integration that works reliably.</p><p>The current three-column interface feels like they're trying to show off their technical sophistication rather than solving user problems. That's not enterprise software&#8212;that's demo software.</p><h2>Where This Goes From Here</h2><p>Factory AI has raised significant funding ($20M+) and secured enterprise customers, suggesting the market believes in the vision. The multi-agent architecture, local environment integration, and autonomous positioning represent thoughtful approaches to where agentic coding should evolve.</p><p>But execution matters. Speed issues make the tool unusable for iterative development. UX contradictions undermine the autonomous claims. Quality gaps break trust when you most need reliability.</p><p>I see potential here, and hopefully they'll get there. The concept is sound, and some foundational pieces work. Until Factory closes its execution gap, it's not ready for prime time. The ideas are there. The trust isn't.</p><p>For teams evaluating agentic coding tools, stick with Cursor, Claude Code, or Augment Code until Factory addresses these fundamental execution problems. The promise of true autonomous development is compelling, but promise isn't product.</p><p><em>Tested on Factory AI CodeDroid beta with a TypeScript/Node.js project. Your experience may vary, especially as they iterate on performance and UX issues.</em></p>]]></content:encoded></item><item><title><![CDATA[Why Voice-to-Text Finally Makes Sense for Developers]]></title><description><![CDATA[(Yet Another) Game Changer]]></description><link>https://hyperdev.matsuoka.com/p/why-voice-to-text-finally-makes-sense</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/why-voice-to-text-finally-makes-sense</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Tue, 03 Jun 2025 14:02:16 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/bff809a1-4613-4e3d-a9ed-a81c61de9166_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I know, I know. Another "game changer" article. We've been drowning in them lately, and frankly, most aren't. But stick with me on this one&#8212;because I think we might actually be witnessing something fundamental shift in how we interact with our tools.</p><p>My friend Ophir introduced me to <a href="https://superwhisper.com/">SuperWhisper</a> a few weeks back. It's not breaking news&#8212;many of you probably already use it or something similar. But after integrating it into my daily workflow, I'm starting to see something bigger happening here. Something that connects to what we've been exploring with agentic coding tools and the broader shift toward more natural human-computer interaction.</p><h2>What SuperWhisper Gets Right</h2><p>SuperWhisper is an AI-powered voice-to-text tool that runs locally on macOS. At its core, it's elegantly simple: hit a hotkey, speak, release, and your words appear wherever your cursor was. But the execution is what matters.</p><p><strong>Accuracy that consistently delivers.</strong> I'm a fast typer&#8212;always have been. Never felt constrained by typing speed for either coding or writing. But SuperWhisper's transcription accuracy genuinely impresses. It handles technical terminology with precision, understands contextual nuances, and filters background noise effectively. More importantly, it maintains reliability when I switch between casual explanation and technical specifics mid-sentence.</p><p><strong>Zero-friction activation.</strong> Control key brings up the interface, Control key closes it and processes. That's the complete interaction. No context switching, no separate applications, no workflow disruption. It integrates seamlessly into whatever you're already doing.</p><p><strong>Local processing with robust privacy.</strong> Everything runs on-device using Whisper models. No cloud dependencies, no data transmission, no latency from API calls. Your thoughts remain precisely that&#8212;yours.</p><h2>Where This Gets Interesting</h2><p>Here's what I've noticed after a few weeks of use: I'm not just replacing typing&#8212;I'm changing how I think through problems.</p><p>Considering the practical implications, this technology represents more than efficiency gains&#8212;it fundamentally changes how we approach problem-solving. When I'm working through complex architectural decisions, I find myself speaking through the challenges while examining the code. The verbal exploration forces greater clarity than scattered written notes ever could. For longer documentation, the difference becomes even more pronounced&#8212;instead of starting and stopping to craft sentences mentally before typing, I maintain natural conversational flow that ultimately produces more accessible technical content.</p><h2>The Bigger Picture: Prompting Over Tooling</h2><p>This shift in how I think also signals something broader happening in the dev world. As AI assistants become better at understanding natural language requirements and generating structured output from conversational input, the friction between human intent and machine capability continues to decrease.</p><p>Think about it: we've already established that AI can handle complex coding tasks when given clear specifications. Tools like <a href="https://cursor.sh/">Cursor</a>, <a href="https://codeium.com/">Codeium</a>, and others are getting remarkably good at understanding intent and generating functional code. The bottleneck isn't AI capability&#8212;it's our ability to communicate what we want effectively.</p><p>Typing, for all its efficiency, is still fundamentally constrained. We think faster than we type, and we speak more naturally than we write. When you can verbally describe a problem, provide context, and iterate on solutions through conversation rather than careful text crafting, the entire dynamic changes.</p><h2>In Practice: What This Looks Like</h2><p>I've been experimenting with voice-driven workflows across different scenarios:</p><p><strong>Code documentation.</strong> Instead of dreading comment blocks and README files, I speak through the explanation while looking at the code. The natural flow of verbal explanation often catches edge cases and assumptions I'd skip in written docs.</p><p><strong>Issue tracking.</strong> Creating GitHub issues or Jira tickets by speaking through the problem, reproduction steps, and acceptance criteria. The conversational format makes these artifacts more useful for both AI assistants and human collaborators.</p><p><strong>Code review discussions.</strong> When leaving feedback on pull requests, speaking the comment and then editing produces more constructive, clearer feedback than starting from a blank text box.</p><p><strong>Architectural thinking.</strong> This one surprised me. When working through system design decisions, speaking through trade-offs and implications helps identify weaknesses in my reasoning that pure thought or written analysis might miss.</p><p><strong>AI prompt crafting.</strong> Here's a benefit I didn't anticipate: voice dictation fundamentally improves how I interact with AI tools. When typing prompts, there's always the temptation to be concise&#8212;your fingers get tired, you want to get to the point quickly. But with AI, detailed prompts consistently produce better results. SuperWhisper excels at cleaning up your speech stream, removing the "ums" and "ahs" while preserving your actual intent. What you're left with is precisely what you meant to say, as detailed as necessary. Since I'm not constrained by typing fatigue, I can provide all the context, examples, and nuance that lead to superior AI output. More detailed instructions mean better prompts, which mean better AI collaboration.</p><h2>Limitations Worth Noting</h2><p>SuperWhisper isn't perfect, and voice-to-text isn't universally better than typing.</p><p><strong>Privacy considerations you might not expect.</strong> Here's something I discovered the hard way: while dictating this very article, I had another video meeting window open in the background that I'd forgotten to mute (there was nobody else on the call, I was just waiting for someone to show up. But still...). When I switched back to that window, SuperWhisper had helpfully transcribed the entire conversation for me. This isn't a flaw in the product&#8212;it's a reminder that frictionless tools demand heightened awareness. If it's audible, it's capturable.</p><p>The accuracy, while impressive, isn't 100%. Technical terms, proper nouns, and code-specific language still require cleanup. You'll find yourself developing verbal habits to work around transcription quirks&#8212;spelling out variable names, using "dot" instead of periods for method calls, that sort of thing.</p><p>Environmental constraints matter more than with typing. Background noise, other people talking, video calls&#8212;all potential disruptions. And there's still something to be said for the muscle memory and direct brain-to-keyboard connection that experienced developers have cultivated.</p><h2>Should You Try It?</h2><p>Simple answer: Yes.</p><p>SuperWhisper offers a free tier with 15 minutes of Pro features, then basic functionality forever. The Pro subscription starts at $8.49/month or $84.99/year for unlimited use and access to larger AI models. Even if you only use it for documentation and longer explanatory text, it'll pay for itself in reduced friction.</p><p>But the real value isn't just productivity&#8212;it's the shift in how you approach problem-solving and communication. When the barrier between thought and text disappears, you start thinking differently about how to structure explanations, document decisions, and collaborate with both human and AI partners.</p><h2>The End of Typing?</h2><p>Are we looking at the eventual obsolescence of typing for developers? Probably not completely. Code structure, symbol manipulation, and certain kinds of precise editing will likely remain keyboard-centric for the foreseeable future.</p><p>But for the growing portion of development work that involves explanation, documentation, specification, and high-level problem-solving? Voice is starting to make a compelling case. Especially as AI assistants become better at understanding natural language requirements and generating structured output from conversational input.</p><p>Voice isn't replacing typing&#8212;it's expanding what we mean by "input." And as AI systems grow more capable of parsing our intent, that expansion becomes a shift in workflow, not just modality. The real game changer isn't dictation. It's the frictionless path from thought to structured output.</p><div><hr></div><p><em><a href="https://superwhisper.com/">SuperWhisper</a> offers a generous free tier that includes core voice-to-text functionality across all applications, meeting recording and transcription, unlimited access to smaller AI models, custom prompt control, and email support&#8212;providing substantial value for everyday use without any monthly cost. For users requiring advanced capabilities, the Pro tier ($8.49/month, $84.99/year, or $249.99 lifetime) unlocks the full feature set including your own AI API key integration, unlimited access to both cloud and local AI models, automatic translation from any language to English, audio and video file transcription, and priority support. The annual plan includes two free months, while the lifetime option offers the best long-term value. Students can access additional discounts, and all paid plans include a 30-day no-questions-asked refund policy, making it risk-free to explore SuperWhisper's full capabilities.</em></p>]]></content:encoded></item><item><title><![CDATA[Google Jules First Look: Not Ready for Prime Time]]></title><description><![CDATA[Save yourself some frustration.]]></description><link>https://hyperdev.matsuoka.com/p/google-jules-first-look-not-ready</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/google-jules-first-look-not-ready</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Thu, 22 May 2025 22:07:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DI5_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When <a href="https://blog.google/technology/google-labs/jules/">Google announced Jules at I/O 2025</a>, my reaction was split between genuine interest and a familiar sense of d&#233;j&#224; vu. On one hand, a PR-based autonomous coding agent from Google sounds promising. On the other hand&#8212;another one?</p><p>Google already has <a href="https://blog.google/technology/developers/google-ai-developer-updates-io-2025/">Firebase Studio</a>, which feels like v0 but somehow worse. Now they're entering the autonomous agent space with Jules, positioning it as a competitor to tools like <a href="https://venturebeat.com/ai/googles-jules-aims-to-out-code-codex-in-battle-for-the-ai-developer-stack/">OpenAI's Codex</a>. Given Google's resources and engineering talent, I expected this to be a more polished entry into the market.</p><p>I was wrong.</p><h2>What Jules Promises</h2><p>Jules is designed as a PR-based autonomous agent that can read your codebase, understand issues, and implement fixes directly through GitHub pull requests. <a href="https://itbrief.asia/story/google-launches-jules-globally-an-ai-coding-agent-for-github">Powered by Gemini 2.5 Pro</a>, it operates asynchronously in secure Google Cloud VMs, promising to handle everything from bug fixes to feature development. The concept is solid&#8212;point it at a problem, let it analyze your code, and watch it create a targeted solution.</p><p>The integration approach makes sense too. Rather than trying to replace your development environment, Jules works within the GitHub ecosystem you're already using. It's meant to be the autonomous contributor that never sleeps, handling routine fixes and feature implementations while you focus on architecture and strategy.</p><h2>The Reality: Day One Disappointment</h2><p>My first attempt was straightforward: fix a chatbox on a homepage that wasn't making requests to the OpenAI assistants API. Simple debugging task, clear scope, exactly the kind of work an autonomous agent should handle well.</p><p>Jules immediately hit heavy traffic issues. <a href="https://www.inspire2rise.com/google-jules-ai-beta-challenges-copilot.html">I wasn't alone in this experience&#8212;multiple users reported access problems due to overwhelming demand</a>. The developer community echoed similar frustrations, with widespread reports of "System is experiencing heavy traffic" messages lasting for hours. One user described giving Jules "a big task" in the morning, then waiting "several hours" with only traffic warnings.</p><p>The system couldn't handle basic load, throwing "unexpected error" messages before I could even get started. When it finally responded, the conversation was more frustrating than helpful.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DI5_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DI5_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png 424w, https://substackcdn.com/image/fetch/$s_!DI5_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png 848w, https://substackcdn.com/image/fetch/$s_!DI5_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png 1272w, https://substackcdn.com/image/fetch/$s_!DI5_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DI5_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png" width="1320" height="828" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:828,&quot;width&quot;:1320,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:104875,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/164196097?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DI5_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png 424w, https://substackcdn.com/image/fetch/$s_!DI5_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png 848w, https://substackcdn.com/image/fetch/$s_!DI5_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png 1272w, https://substackcdn.com/image/fetch/$s_!DI5_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09b747e1-c129-4188-bb3c-5a5bf3235400_1320x828.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>this was basically every other response&#8230;and yes, they ate up the 5 whole credits Google gave me for beta testing this&#8230;</p></div><p>I asked if it could read GitHub issues directly. The response was telling: "I am an AI assistant and I do not have the capability to access external websites, including GitHub. Therefore, I cannot directly read GitHub issues."</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8bPO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8bPO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png 424w, https://substackcdn.com/image/fetch/$s_!8bPO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png 848w, https://substackcdn.com/image/fetch/$s_!8bPO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png 1272w, https://substackcdn.com/image/fetch/$s_!8bPO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8bPO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png" width="978" height="366" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:366,&quot;width&quot;:978,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:71492,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/164196097?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8bPO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png 424w, https://substackcdn.com/image/fetch/$s_!8bPO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png 848w, https://substackcdn.com/image/fetch/$s_!8bPO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png 1272w, https://substackcdn.com/image/fetch/$s_!8bPO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F643dca6f-10ee-45c7-b197-036efcce87e5_978x366.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>But..but&#8230; *it works by pulling code from Github!*</p></div><p>This fundamental limitation became a common complaint among early users. Multiple developers described giving Jules "pretty explicit instructions" about their codebase, only to have it "do what it wanted and failed," wasting one of their precious 5 daily credits on something they specifically told it not to do.</p><h2>Missing the Mark on Basic Functionality</h2><p>The limitations became more apparent as I continued testing. Jules asked if I wanted to enable notifications for when "a plan is ready or code is ready for review." This suggests it does eventually produce work, but the path to get there involves significant manual intervention.</p><p>The developer community revealed the broader scope of these issues. Users reported mixed results on code quality, with one comparison showing Jules writing 2,512 lines versus Codex's 77 lines for the same task. While more code isn't necessarily worse, users debated whether Jules was "overcomplicated with code duplication and unnecessary boilerplate."</p><p>Others hit timeout issues. "Jules was unable to complete the task in time" became a common complaint, with the tool failing to finish work within its allocated timeframe. The 5-tasks-per-day limit meant these failures burned through users' daily quota quickly.</p><p><a href="https://venturebeat.com/ai/googles-jules-aims-to-out-code-codex-in-battle-for-the-ai-developer-stack/">Compare this to Codex Web</a>, which reads your full codebase, understands context, and operates with minimal friction. Jules feels like it's solving the wrong problem&#8212;asking developers to become intermediaries in their own automation workflow.</p><h2>What Google Got Wrong</h2><p>Reflecting on this experience, the most concerning aspect isn't the expected growing pains of a beta release. <a href="https://jules.google/docs/faq/">Google's own FAQ acknowledges that task failures are common, citing "broken setup scripts or vague prompts" as typical causes</a>. These operational issues are fixable with time and resources.</p><p>Rather, it's the fundamental design decisions that suggest Jules wasn't built by people who actually use autonomous coding tools regularly. If you're building a GitHub-integrated coding agent, direct repository access should be table stakes. Requiring developers to manually copy issue content defeats the entire purpose of automation&#8212;it's like building a self-driving car that needs someone to read the road signs out loud.</p><p>Google has the engineering resources to solve these problems. They have access to vast amounts of code and sophisticated language models. Yet Jules feels rushed to market, more concerned with matching competitor announcements than delivering genuine value.</p><h2>The Broader Picture</h2><p>This release highlights a concerning pattern in how big tech companies approach AI tooling. There's pressure to ship something, anything, to show they're not falling behind. But shipping broken tools that frustrate developers doesn't advance the field&#8212;it sets it back.</p><p><a href="https://blog.google/technology/developers/google-ai-developer-updates-io-2025/">Firebase Studio suffered from similar issues</a>. Instead of building something genuinely better than v0, Google shipped something that felt inferior. Now they're repeating the pattern with autonomous coding agents.</p><p>The autonomous coding space is heating up rapidly, with <a href="https://www.theregister.com/2025/05/21/google_crowns_jules_to_be/">multiple players announcing similar tools within days of each other</a>. Microsoft revealed its own background coding agent in GitHub Copilot at Build, and the community is already comparing capabilities. But this rush to market seems to prioritize announcements over user experience.</p><p>The developer feedback reveals this tension clearly. While some users found success with simple tasks, describing 5-minute fixes that "worked perfectly," others struggled with server slowness, task timeouts, and the tool ignoring explicit instructions. The 5-task daily limit means every failure hurts, burning through your quota with nothing to show for it.</p><h2>Should You Try Jules?</h2><p>Not yet. Save yourself the frustration.</p><p><a href="https://www.infoq.com/news/2024/12/google-jules-agent/">Jules might evolve into something useful as Google addresses these fundamental limitations</a>. The company has the resources and talent to fix what's broken. Some developers acknowledge it's "experimental/alpha" and expect improvements, noting that Google released it free specifically to gather feedback.</p><p>But the infrastructure problems combined with basic design flaws suggest Google underestimated both demand and the core requirements for autonomous coding agents. I'll revisit Jules when it can handle basic tasks without requiring manual workarounds and when the servers can actually stay online under load.</p><p>Until then, there are better autonomous coding tools available that actually work as advertised. The autonomous coding space is moving fast, with real innovation happening from smaller, more focused teams. Google's entry feels like they're playing catch-up rather than leading, and it shows in the execution.</p>]]></content:encoded></item><item><title><![CDATA[The Agentic Coding Landscape: Part 2a - Tool Comparison]]></title><description><![CDATA[Deeper Technical Comparison of Agentic Tools]]></description><link>https://hyperdev.matsuoka.com/p/the-agentic-coding-landscape-tools</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/the-agentic-coding-landscape-tools</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Tue, 20 May 2025 18:13:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/396d843e-ec00-40f5-a0db-31ee5eaa7500_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>(note: this is part of a 5-part series, part 1 is <a href="https://hyperdev.substack.com/p/agentic-coding-tools-landscape-capabilities">here</a>,  part 2 <a href="https://hyperdev.substack.com/p/agentic-coding-emerging-tools">here</a>,  part 2a <a href="https://hyperdev.matsuoka.com/p/the-agentic-coding-landscape-tools">here</a>, part 3 <a href="https://open.substack.com/pub/hyperdev/p/the-agentic-coding-landscape-part?r=nff5&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=false">here</a>, and part 4 <a href="https://hyperdev.matsuoka.com/p/the-agentic-coding-landscape-part-e39">here</a>.)</em></p><p>The agentic coding tools we've discussed all share the common goal of automating programming tasks, but they differ widely in their technical approaches and capabilities. In this section, we compare several major tools along key dimensions: the level of autonomy they offer, language and framework support, codebase navigation intelligence, CI/CD and DevOps integration, debugging abilities, and IDE compatibility. This side-by-side comparison highlights each tool's strengths and trade-offs.</p><p>Tools Compared: We'll consider GitHub Copilot, Cursor (AI Code Editor), Augment Code (enterprise-focused agent), Claude (Anthropic's assistant, in a coding context), and WindSurf (an audit-focused AI coding IDE). These represent a mix of individual-oriented and enterprise-oriented solutions at the forefront of AI coding assistance.</p><h2>Autonomy Level</h2><p><strong>GitHub Copilot</strong>: Low. Copilot is primarily a suggestion-based tool &#8211; it completes code as you type, but it won't make changes on its own or decide to tackle tasks without being prompted. (There is an experimental "Copilot Labs" or GPT-4 powered chat that can execute simple tasks when explicitly asked, but it's very limited in autonomy.) Essentially, the developer is in the driver's seat for every change; Copilot is an intelligent autocomplete.</p><p><strong>Cursor</strong>: High. Cursor was designed from the ground up for full task automation. In agent mode, Cursor can create new files, modify existing ones, and run code end-to-end with minimal human input. It will ask for confirmation for certain actions only if configured to do so, but otherwise it can take a prompt like "Build a simple web app that does X" and attempt to handle everything necessary (planning, coding, running) largely on its own.</p><p><strong>Augment Code:</strong> High. Augment (geared toward enterprise) can handle multi-step projects with very little oversight. It's built to take on complex tasks end-to-end &#8211; for example, generating code, documentation, and tests for a new feature across a large codebase. Augment's agents are tuned for large-scale changes and can operate mostly autonomously once given a goal.</p><p><strong>Claude</strong> <strong>Code</strong> (Anthropic): Moderate. Claude has some autonomy in that it can take a high-level request and produce a multi-step solution (and with its large context window it can work with a lot of code at once). However, Claude tends to be cautious and usually acts in a responsive role &#8211; it waits for the user to prompt each action. It doesn't, for instance, automatically refactor code unless asked. So while it can generate and suggest significant changes, it typically won't self-trigger major actions without user instruction.</p><p><strong>WindSurf</strong>: High (with guardrails). WindSurf can operate autonomously on coding tasks (it can write code, modify it, run analyses, etc. without constant prompts), but it's usually configured with strict guardrails in enterprise settings. For example, WindSurf might perform multi-step code modifications but require human approval at certain checkpoints or log every action for audit. It's capable of autonomy similar to Cursor/Augment, but in practice it's often run in a semi-autonomous mode due to its focus on compliance.</p><h2>Language &amp; Framework Support</h2><p><strong>GitHub Copilot</strong>: Broad. Copilot supports dozens of programming languages &#8211; basically anything popular on GitHub, from Python to Go to Ruby to C. It has no specific framework specialization; it will try to auto-complete code in any context. Its quality is highest for well-represented languages (JavaScript/TypeScript, Python, Java, etc.) and common frameworks, simply because the underlying models (GPT-3/GPT-4) have seen a lot of such code.</p><p><strong>Cursor</strong>: Broad. Cursor uses powerful base models like GPT-4 and GPT-3.5, so it's capable in many languages (Python, JS/TS, Java, C#, Go, you name it). It's not limited to a certain framework or language. Users have applied Cursor to everything from building web apps to doing data science scripts. Essentially, if the language is supported by the model, Cursor can work with it.</p><p><strong>Augment Code</strong>: Broad (enterprise-focused). Augment is designed for large, professional codebases, so it focuses on the languages commonly used in enterprise environments: e.g. Java, C#, Python, C++, JavaScript/TypeScript. It also has knowledge of enterprise frameworks (like Spring Boot for Java, .NET frameworks, etc.). It shines in projects with complex architectures (microservices, distributed systems) where multiple languages/configs might be involved.</p><p><strong>Claude Code</strong>: Broad. Claude, as a general LLM-based assistant, can handle essentially any programming language you throw at it. It's particularly good when you need reasoning about code or algorithms (e.g. explaining what a piece of code does, or writing an algorithm from scratch) &#8211; tasks where its large language understanding is useful. It doesn't have hard limitations on languages, though if you gave it something very obscure or domain-specific, it might not perform as well without fine-tuning.</p><p><strong>WindSurf</strong>: Broad. WindSurf was designed not to be tied to one tech stack. It's used in enterprise environments where you might find a mix of front-end (JavaScript/TypeScript), back-end (Java, Python, C#), and config languages (YAML, JSON) all in one repository. Its strength is maintaining context across all these &#8211; it can work on a front-end file and a back-end file and understand the connections. Essentially, WindSurf can support any language that its underlying models and tools know, and its value comes from managing them together in a coherent way.</p><h2>Codebase Navigation &amp; Understanding</h2><p><strong>GitHub Copilot</strong>: Basic project awareness. Copilot itself doesn't have true project-wide understanding. It mainly looks at the current file and perhaps a bit of surrounding context or related files open in the editor. Copilot Chat (the chat interface in VS Code) can follow your instructions to open specific files and can maintain some context across them if you explicitly bring them into the conversation. But it won't proactively scan your whole repository or know the overall structure unless you navigate it.</p><p><strong>Cursor</strong>: Strong. Cursor indexes the entire project workspace you have open. It will automatically retrieve relevant files when you ask a question or when a change in one file might affect another. For example, if you ask it to change a function that's called across multiple files, Cursor's agent will find all those references and potentially update them too. It's very good at "knowing" where things are in your project without you explicitly pointing it to each file.</p><p><strong>Augment Code:</strong> Very Strong. Augment is built for huge monorepos and enterprise codebases. It uses advanced retrieval techniques (like vector databases for embeddings) to pull in relevant context from anywhere in the codebase. You can ask Augment a question about any part of the code, and it can find the answer even if it's buried in a different module or repository. If you request a change (say, renaming a function that's used in dozens of places), Augment can systematically update every occurrence across the entire codebase. This kind of holistic codebase reasoning is one of Augment's key selling points.</p><p><strong>Claude Code</strong>: Strong in understanding, but not proactive. Claude's latest versions have a context window up to 100k tokens, which means in theory you could feed an entire repository (or very large portions of it) into Claude for analysis. It excels at summarizing code and understanding relationships when directed to do so. However, Claude doesn't on its own traverse the codebase; a user or wrapper tool needs to provide it with the relevant files. In practice, this means Claude can be used to read and explain or modify large code sections if prompted, but it doesn't have a built-in mechanism to crawl your project like Cursor or Augment do.</p><p><strong>WindSurf</strong>: Strong contextual memory. WindSurf maintains a persistent conversational history of the entire project state as you work with it. It's aware of the project structure and tracks changes across all files. Essentially, it builds up an internal knowledge base of your codebase. Users have noted that WindSurf feels like it "knows" the codebase intimately &#8211; you can ask, "Where is the X functionality implemented?" and it will recall the file and even the code snippet from prior interactions. This is aided by WindSurf's emphasis on logging and memory: every interaction with the code is logged and can be referenced later, which acts like an extensive memory.</p><h2>CI/CD &amp; DevOps Integration</h2><p><strong>GitHub Copilot</strong>: Minimal. Copilot by itself doesn't integrate with continuous integration or deployment pipelines out-of-the-box. It won't, for example, automatically react to a failing build on GitHub and submit a fix. It's focused on the coding part within the editor. (GitHub is experimenting with things like Pull Request assistants that use AI, but those are separate from Copilot's core functionality.) For DevOps tasks like writing a deployment script, you'd have to prompt Copilot and it will help write the code, but it won't independently run or verify it.</p><p><strong>Cursor</strong>: Moderate. Cursor's agent can execute shell commands as part of its operation (especially in its built-in IDE environment). This means you can have it run tests or builds as part of its workflow. For instance, you could instruct Cursor to "run the test suite and fix any failures," and it will attempt to do so &#8211; which is essentially a CI-like behavior happening locally. However, Cursor doesn't directly integrate with external CI/CD systems like Jenkins or GitHub Actions. It's more about automating those steps on your own machine. A power user could script Cursor to imitate a CI pipeline (run tests, fix, commit, etc.), but that's user-driven.</p><p><strong>Augment Code:</strong> High integration. Augment, being enterprise-focused, is designed to slot into the development lifecycle which includes issue trackers and CI systems. It offers integrations with tools like Jira (for linking tasks or user stories to what the AI is doing) and can hook into CI pipelines. For example, Augment can be configured to automatically attempt a task when a new ticket is created, then open a Pull Request with its changes. It can also monitor CI results &#8211; if tests fail on the PR it opened, it can try to fix them. Augment's ability to commit code and open PRs by itself means it's already operating in the DevOps cycle (AI writes code, opens PR, CI runs tests on the PR, etc.). Enterprises can set it up so that Augment-triggered actions correspond to their normal development workflow, just with an AI doing some of the work.</p><p><strong>Claude Code:</strong> Moderate. Claude isn't a full devops agent on its own, but it can be used in parts of that process. For instance, using Claude through an API, one could build a tool that has Claude propose code changes, then those changes go through the normal CI. Claude itself won't automatically deploy or run tests unless instructed. One concrete use is code review: Claude (via services like Claude's Slack or GitHub integration) can review a pull request and provide feedback or even code suggestions. This is part of CI/CD (the review step). But it's not known for automatically initiating deployments or interacting with CI servers without a wrapper. Think of Claude as a very smart assistant that an engineer can involve in CI/CD tasks, rather than an agent that plugs into the pipeline by itself.</p><p><strong>WindSurf</strong>: High (audit-focused integration). WindSurf's design makes it suitable to integrate at key points in a CI/CD pipeline, especially for governance and quality checks. For example, a company could mandate that all AI-generated code changes go through WindSurf for logging and approval before being merged &#8211; effectively inserting WindSurf as a gate in the CI process. Because WindSurf logs every change and can enforce certain policies (like "if code is changed, ensure there are corresponding tests" or "flag any secrets in the code"), it can be part of an automated quality assurance step. It's less about WindSurf deploying code (it's an IDE, not a deployment tool) and more about it ensuring that whatever code the AI writes meets the organization's standards before CI/CD continues. In summary, WindSurf can be part of CI/CD in the sense that it provides the audit and compliance layer in an automated pipeline.</p><h2>Debugging &amp; Error Handling</h2><p><strong>GitHub Copilot</strong>: Reactive (on-demand). Copilot will happily suggest fixes if you prompt it with an error message or a failing test, but it won't proactively run your code or catch errors on its own. The developer needs to notice a bug and then ask Copilot (or write a comment) to get help. It's essentially an assistant for debugging, not an autonomous debugger. (For example, you might see an exception, then type a comment // why is this error happening? and Copilot might explain and suggest a fix.)</p><p><strong>Cursor</strong>: Proactive debugging. In agent mode, Cursor can take the initiative to run code/tests and then react to the results. If an error occurs, Cursor will detect it and can immediately suggest or implement a fix in the next iteration. In practice, Cursor debugs by trial-and-error: it runs your code, sees the stack trace, decides what change might fix it, makes that change, and runs again. This loop continues until things work or it gets stuck. This means Cursor is quite good at automatically resolving straightforward bugs (especially regressions it introduced itself).</p><p><strong>Augment Code</strong>: Comprehensive debugging. Augment can analyze complex stack traces or failure logs across a large system to pinpoint issues. Because it integrates with monitoring and logging tools (in enterprise setups), it could even be fed production error data to analyze. If Augment makes a change, it ensures tests pass by running them, and if not, it will try to fix the issue. It can also generate new tests if needed to cover a scenario. Essentially, Augment treats debugging as an integral part of its autonomous workflow &#8211; any time it writes code, it's verifying that code works and handling the errors if not. It's like having a full QA engineer and developer in one: find the bug, fix the bug, write a test for it, all done by the AI.</p><p><strong>Claude Code</strong>: Analytical debugging. Claude excels at reasoning about problems when given information. If you provide Claude with an error message or a description of a bug, it will produce a thoughtful analysis and often a correct fix or at least a useful hint. It's like having a very experienced engineer you can consult: you still have to feed it the error and code, but once you do, its suggestion might even outshine what simpler agents do. However, Claude won't run your code to get those errors &#8211; you or a tool need to do that. It's not an automated debugger, but an excellent debugging consultant.</p><p><strong>WindSurf</strong>: Mixed (interactive debugging). WindSurf itself can run code (since it has a built-in execution environment for analysis), but more importantly it logs everything and can reason about the state of the codebase over time. If an error pops up after some AI changes, WindSurf's logs help trace back what was changed. WindSurf's agent can then suggest a fix or revert a change. It also often enforces that any error must be resolved (it might not allow a commit if tests fail, depending on how it's configured). In essence, WindSurf's approach to errors is to catch them through thorough logging and require resolution &#8211; it's less freewheeling than Cursor (which just keeps trying), instead favoring a careful audit: "an error occurred here, these lines changed, let's analyze that." The debugging suggestions it provides are methodical, and because it's typically used in critical environments, it might stop and flag human attention if something truly unexpected happens.</p><h2>IDE/Platform Integration</h2><p><strong>GitHub Copilot</strong>: Extensive integration. Copilot is available as an extension in all major editors: VS Code, Visual Studio, JetBrains IDEs (IntelliJ, PyCharm, etc.), Neovim, and more. It's basically everywhere developers already work. This ubiquity is one of Copilot's biggest strengths &#8211; you don't need to adopt a new tool or IDE; Copilot comes to you in the environment you're comfortable with. It also integrates with GitHub's interface for suggestions in PRs and such. In short, it's very easy to adopt because it likely supports whatever you're using.</p><p><strong>Cursor</strong>: Self-contained IDE. Cursor is its own application &#8211; an AI-enhanced IDE based on the VS Code interface. So to use Cursor, you download their editor (available on Windows, macOS, Linux). For VS Code users it feels familiar (since it's a fork of VS Code), but it's not a plugin you can drop into, say, your existing IntelliJ. You have to use Cursor's editor to get the full experience. While Cursor's editor is quite user-friendly and continually improving, some developers prefer not to switch from their established environment. (Notably, Cursor's approach means it can tightly integrate the AI features rather than being constrained by another editor's extension API.)</p><p><strong>Augment Code</strong>: Editor plugins (VS Code and more). Augment provides a VS Code extension and has support for JetBrains IDEs in preview. This means you can use Augment inside VS Code, which is very common in enterprise teams. It also has a web dashboard for things like analytics and oversight (for managers or leads to see what the AI has done). Augment's integration isn't as ubiquitous as Copilot's (for example, there's no Neovim plugin advertised and no direct integration into every possible editor), but covering VS Code (and Codespaces) captures a large portion of developers. The strategy is to meet enterprises where they are, which is often VS Code and GitHub.</p><p><strong>Claude Code</strong>: Multiple interfaces, less IDE-specific. Claude is primarily accessed via a chat interface (Anthropic's web app) or an API. It doesn't have an official dedicated IDE plugin (though the community has built unofficial plugins to use Claude in VS Code, etc.). Many users interact with Claude through chat &#8211; they paste code or ask for snippets, then copy the results back into their editor. This is starting to change as third-party tools integrate Claude (for example, there are browser extensions or VS Code extensions that let you use Claude with an API key). But compared to Copilot or Cursor, Claude isn't as seamlessly integrated into coding environments by default. It's more editor-agnostic: you can use it wherever via API, but it might not feel as "built-in" unless you do some setup.</p><p><strong>WindSurf</strong>: Dedicated IDE application. WindSurf comes with its own custom integrated development environment/workspace app. It's somewhat akin to Cursor's approach in that you use WindSurf's tool as your coding interface. This IDE is tailored for code audit and collaborative AI workflows &#8211; it might look and feel a bit different from VS Code (though it reportedly mirrors many common IDE features to reduce the learning curve). There isn't a plugin to use WindSurf's AI in another IDE; the value of WindSurf is really in its whole platform (the way it tracks and manages AI interactions). Large organizations might use WindSurf as a standalone secure coding environment for their developers when working with AI assistance, rather than each developer using their own editors.</p><h2>Summary of Comparison</h2><p>In essence, GitHub Copilot sits at one end of the spectrum as a low-autonomy, highly-integrated assistant &#8211; it's very easy to use in any editor, but it relies on the developer to drive every change. On the other end, Cursor, Augment, and WindSurf represent high-autonomy solutions: they actively execute and manage coding tasks. Within these, Cursor is geared more toward individual power users and small teams (giving a lot of autonomy on local projects), Augment is aimed at complex enterprise codebases (providing end-to-end automation with enterprise integrations), and WindSurf focuses on governed enterprise use (high autonomy but with compliance and oversight built-in). Claude falls somewhere in the middle &#8211; it offers powerful reasoning and can handle large context, and through its API it can be integrated in various ways, but it is not as action-oriented on its own; it often needs to be paired with some platform or scripting to actually execute changes it suggests.</p><p>This comparison can help clarify which tool might fit a given scenario. For example, a freelance developer working on small projects might prefer Cursor for its strong autonomy and local control, allowing rapid prototyping without infrastructure overhead. In contrast, a large financial institution might lean toward WindSurf or Augment to harness AI assistance while maintaining strict oversight, security, and integration with their existing dev workflows. GitHub Copilot remains a great general aid for any developer who just wants smarter code completion within their familiar tools, whereas something like Claude could be an excellent "thinking partner" for complex algorithmic challenges or code review feedback.</p><p>As the field advances, we can expect these distinctions to blur &#8211; each of these tools is rapidly evolving and adding features. Copilot, for instance, may add more autonomous capabilities, and tools like Cursor are working on broader integrations. But currently, each has carved out its niche. Developers and teams can choose based on their priorities: convenience and integration (Copilot), maximal automation (Cursor/Augment), trustworthy oversight (WindSurf), or deep reasoning (Claude). By understanding these differences, one can make an informed choice or even combine these tools to cover all bases in software development going into 2025.</p>]]></content:encoded></item><item><title><![CDATA[Enter Codex Web]]></title><description><![CDATA[OpenAI's Latest Attempt at Agentic Coding]]></description><link>https://hyperdev.matsuoka.com/p/enter-codex-web</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/enter-codex-web</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Tue, 20 May 2025 13:15:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9d9489aa-98cd-4bdf-ab69-568fe4a29df4_1536x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>OpenAI quietly rolled out Codex Web last week, gradually enabling it for pro and teams users. I spotted the new "Codex" option under my ChatGPT menu today and decided to put it through its paces on my personal website <a href="https://matsuoka.com/">matsuoka.com</a> (more on that project later). After several hours of testing, I've got some thoughts on what works, what doesn't, and where this fits in the increasingly crowded AI coding space.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7cWm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7cWm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png 424w, https://substackcdn.com/image/fetch/$s_!7cWm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png 848w, https://substackcdn.com/image/fetch/$s_!7cWm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png 1272w, https://substackcdn.com/image/fetch/$s_!7cWm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7cWm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png" width="232" height="136" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:136,&quot;width&quot;:232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:11667,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/163979821?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7cWm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png 424w, https://substackcdn.com/image/fetch/$s_!7cWm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png 848w, https://substackcdn.com/image/fetch/$s_!7cWm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png 1272w, https://substackcdn.com/image/fetch/$s_!7cWm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e5c7cff-b6ed-46e3-9922-7b1540c7a60b_232x136.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h2>Yet Another "Codex"</h2><p>First, let's address the confusion. "Codex" now refers to at least three different products from OpenAI:</p><ol><li><p>The original Codex model powering GitHub Copilot</p></li><li><p>A CLI-based coding tool I <a href="https://hyperdev.matsuoka.com/p/enter-codex-cli">wrote about previously</a></p></li><li><p>This new web-based autonomous coder</p></li></ol><p>The naming overlap is getting ridiculous, but I'll focus on OpenAI's new offering here. Worth noting that while Codex CLI is open source and lets you pick your own model, Codex Web uses whatever model OpenAI provides (likely o3), giving you less flexibility but more integration.</p><h2>What Sets Codex Web Apart</h2><p>Unlike IDE plugins (Copilot, Codeium), editor extensions (Cursor's Augment), or CLI tools (Claude Code), Codex Web seems to be a standalone web application focused on autonomous coding. The closest comparisons would be Cognition Labs' Devin or SweepAI - tools designed to autonomously implement entire features or fixes.</p><p>Setup requires:</p><ul><li><p>Device 2FA authentication</p></li><li><p>GitHub repository access (granted per repo)</p></li><li><p>Manual entry of environment variables and CI/CD scripts</p></li></ul><p>Once connected, Codex scans your codebase and suggests tasks it can perform, from explaining code structure to fixing bugs it identifies.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v3Kg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v3Kg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png 424w, https://substackcdn.com/image/fetch/$s_!v3Kg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png 848w, https://substackcdn.com/image/fetch/$s_!v3Kg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png 1272w, https://substackcdn.com/image/fetch/$s_!v3Kg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v3Kg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png" width="1456" height="1322" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1322,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:295773,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/163979821?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!v3Kg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png 424w, https://substackcdn.com/image/fetch/$s_!v3Kg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png 848w, https://substackcdn.com/image/fetch/$s_!v3Kg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png 1272w, https://substackcdn.com/image/fetch/$s_!v3Kg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2893397a-5dd5-4ab6-9e67-8be389b4c00e_1754x1592.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The Surprising Part: It Actually Found Real Bugs</h2><p>Scanning my personal website repo, Codex Web immediately identified several legitimate issues, including:</p><ul><li><p>A stray terminal string at the end of <code>build.js</code></p></li><li><p>A <code>useToast</code> implementation attaching state listeners on every render</p></li><li><p>An import referencing a non-existent file (<code>simple-mock-translations</code> vs. the correct <code>mock-translations.ts</code>)</p></li></ul><p>These weren't just linting issues but actual functional bugs that would impact performance or break builds. I was genuinely impressed by this discovery capability.</p><h2>The Execution Model: Both Powerful and Problematic</h2><p>When Codex tackles a task, it spins up a virtual environment to actually execute your code. This approach has profound implications:</p><p><strong>The Good:</strong></p><ul><li><p>It can verify changes work before committing them</p></li><li><p>Execution reveals runtime issues static analysis might miss</p></li><li><p>No worrying about breaking your local environment</p></li></ul><p><strong>The Bad:</strong></p><ul><li><p>No explicit workflow configuration or instruction support</p></li><li><p>Each task is its own separate thread, which means checkpointing is more complex. This is an intentional design choice as checkpointing is directly tied to git branches. Long term, this actually may be more natural -- but then that choice should be made clearer.</p></li><li><p>Environment setup overhead for each major operation</p></li></ul><p><strong>The Ugly:</strong></p><ul><li><p>No built-in preview option</p></li><li><p>Build cycles are excruciatingly long and may be completely unworkable for large codebases</p></li></ul><p>Modern web development relies on hot module reloading and incremental builds that take milliseconds. Codex's sandbox approach turns this into minutes. The productivity gains from autonomy are partially offset by this execution overhead.</p><h2>The GitHub Disconnect</h2><p>Perhaps most puzzling was Codex's inability to access GitHub issues despite having repository access. When I referenced issue #44, it responded:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AT9y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AT9y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png 424w, https://substackcdn.com/image/fetch/$s_!AT9y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png 848w, https://substackcdn.com/image/fetch/$s_!AT9y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png 1272w, https://substackcdn.com/image/fetch/$s_!AT9y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AT9y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png" width="1456" height="193" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:193,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42355,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/163979821?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AT9y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png 424w, https://substackcdn.com/image/fetch/$s_!AT9y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png 848w, https://substackcdn.com/image/fetch/$s_!AT9y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png 1272w, https://substackcdn.com/image/fetch/$s_!AT9y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cb8094a-ddb6-4d5c-8eb9-45682f47cf39_1602x212.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>I ended up copying and pasting the issue text manually. This reveals OpenAI's approach: Codex Web can only access what's explicitly enabled, even when it technically has the permissions. This feels like working with oven mitts on.</p><h2>Where Codex Web Excels and Falls Short</h2><p>After testing various scenarios, here's my assessment:</p><p><strong>Strengths:</strong></p><ul><li><p>Code understanding and bug identification is genuinely impressive</p></li><li><p>Autonomous implementation of fixes works well</p></li><li><p>Clean interface with minimal setup friction</p></li></ul><p><strong>Weaknesses:</strong></p><ul><li><p>Build process is painfully inefficient</p></li><li><p>Limited workflow integration (issues, CI/CD)</p></li><li><p>No ability to leverage CLI tools or custom scripts</p></li><li><p>Context is limited to your code, not research or external docs</p></li></ul><h2>The Bigger Picture: Three Competing Visions</h2><p>The AI coding landscape is splitting into three distinct approaches:</p><ol><li><p><strong>Full IDEs</strong> (either on Web or as VS style desktop replacements) - Bolt, v0, Cursor, Loveable, Windsurf</p></li><li><p><strong>CLI/Plugin Agents</strong> (Augment, Cline, Claude Code) that enhance your existing tools</p></li><li><p><strong>PR-style agents</strong> (Codex Web, Devin) that autonomously create pull requests</p></li></ol><p>OpenAI seems to be testing different approaches to AI coding - providing models for Microsoft's GitHub Copilot while building their own autonomous agent with Codex Web. But the current implementation feels caught between worlds - not seamless enough for daily coding, yet not fully autonomous enough to handle end-to-end workflows.</p><h2>The Verdict: Promising but Not There Yet</h2><p>Codex Web feels like a tech demo of what's possible rather than a refined developer tool. Its bug identification capabilities are impressive, and the execution model has potential, but the performance limitations and workflow gaps make it impractical as a primary development tool.</p><p>I'll keep it in my arsenal for occasional code review and maintenance tasks, but it won't replace my existing workflow anytime soon. For now, it's most valuable as a glimpse into an autonomous coding future that's still several iterations away from practical reality.</p><p>The most interesting question is whether OpenAI will address these limitations or if they're fundamental to their approach. The sandbox model provides safety and verification but creates friction that undermines the productivity promise of AI coding.</p><p>For developers already comfortable with their tools, Codex Web isn't compelling enough to switch - yet. But this space is moving incredibly fast, and I wouldn't be surprised if these limitations are addressed sooner than we expect.</p><div><hr></div><p><em>What's your experience with Codex Web or other AI coding tools? I'd love to hear from others who've tried it in different contexts.</em></p>]]></content:encoded></item><item><title><![CDATA[The Agentic Coding Landscape: Part 4 - Future Trends, Integrations, and Impact]]></title><description><![CDATA[(Expanded 2025 Edition)]]></description><link>https://hyperdev.matsuoka.com/p/the-agentic-coding-landscape-part-e39</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/the-agentic-coding-landscape-part-e39</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Tue, 29 Apr 2025 03:39:20 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/634b3afd-6491-45d1-93dd-cc32699b9190_1394x517.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>(note: this is part of a 5-part series, part 1 is <a href="https://hyperdev.substack.com/p/agentic-coding-tools-landscape-capabilities">here</a>,  part 2 <a href="https://hyperdev.substack.com/p/agentic-coding-emerging-tools">here</a>,  part 2a <a href="https://hyperdev.matsuoka.com/p/the-agentic-coding-landscape-tools">here</a>, part 3 <a href="https://open.substack.com/pub/hyperdev/p/the-agentic-coding-landscape-part?r=nff5&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=false">here</a>, and part 4 <a href="https://hyperdev.matsuoka.com/p/the-agentic-coding-landscape-part-e39">here</a>.)</em></p><p>Looking ahead to 2025 and beyond, agentic coding tools (AI systems that can autonomously generate, modify, and execute code) are poised to further transform how software is developed. Several key trends are emerging:</p><p><strong>Multi-Agent Collaboration and AI-Only Teams:</strong> One evolution on the horizon is multiple specialized AI agents collaborating with each other (and with humans) to tackle different aspects of development. Instead of a single monolithic AI doing everything, we might have a <em>team</em> of AI agents each with a role &#8211; for example, a &#8220;front-end developer&#8221; agent, a &#8220;backend&#8221; agent, a &#8220;QA tester&#8221; agent, and a &#8220;project manager&#8221; agent that coordinates tasks. This concept is already being tested in research and products. Cognition&#8217;s <strong>Devin AI</strong> introduced a &#8220;MultiDevin&#8221; mode where one manager agent delegates tasks to up to 10 worker agents, effectively acting like an AI scrum team (<a href="https://docs.devin.ai/release-notes#let-devin-create-devins-with-multidevin#:~:text=Let%20Devin%20create%20Devins%20with,MultiDevin">Release Notes - Devin Docs</a>). AI experts like Andrew Ng have noted that a multi-agent approach mirrors how human teams break down complex projects into subtasks for different roles, often yielding better results than a single agent handling everything (<a href="https://www.linkedin.com/posts/andrewyng_ai-agents-with-lowno-code-hallucinations-activity-7186771840034340864-14ug#:~:text=Multi,I%27d%20like%20to%20offer%20a">AI Agents With Low/No Code, Hallucinations Create Security Holes, and more | Andrew Ng | 135 comments</a>). We could even imagine an AI stand-up meeting: agents discussing progress and handing off tasks to each other.</p><p>The implications of multi-agent systems are significant. In the not-too-distant future, an entire small software project might be executed by a set of AI agents with minimal human involvement &#8211; humans would just provide high-level goals and oversight. Agents coordinating with agents could drastically increase the scope of automation. For instance, a company could spin up an all-AI development team overnight to build a prototype, then have human engineers review and refine it the next day. This flips the paradigm to continuous development at blazing speed, with humans curating and guiding rather than writing every line.</p><p>Of course, multi-agent orchestration brings challenges too. The agents need to share context and avoid stepping on each other&#8217;s toes. One agent&#8217;s mistake could mislead another. Ensuring they all follow a unified goal and debugging an &#8220;AI team&#8217;s&#8221; decision-making are active research questions. Structured approaches are emerging to manage this complexity &#8211; for example, an AI project manager agent that maintains a global view to keep all the agents aligned. If done right, multi-agent collaboration could unlock tremendous productivity; if done poorly, it could lead to chaotic outcomes. Early tests are promising though: frameworks like OpenAI&#8217;s <strong>AutoGen</strong> and research projects like <strong>ChatDev</strong> have shown that multiple agents working together can solve problems more effectively than one agent alone (<a href="https://www.linkedin.com/posts/andrewyng_ai-agents-with-lowno-code-hallucinations-activity-7186771840034340864-14ug#:~:text=few%20reasons%3A%20,us%20decompose%20a%20task">AI Agents With Low/No Code, Hallucinations Create Security Holes, and more | Andrew Ng | 135 comments</a>).</p><p><strong>Deeper Integration with DevOps and Production Systems:</strong> Agentic coding tools will increasingly integrate across the entire software development lifecycle, including DevOps pipelines and live production systems. We&#8217;re already seeing early signs of this:</p><ul><li><p><strong>CI/CD Autonomation:</strong> Continuous Integration services (like GitHub Actions) are starting to experiment with AI agents that automatically fix build failures or optimize pipelines. For example, if a CI test fails at 2 AM, an AI agent could detect the failure and open a pull request with a potential fix before the team wakes up. Microsoft recently teased an &#8220;Agent Mode&#8221; for GitHub Copilot that can autonomously iterate on code and address errors in a CI pipeline (<a href="https://indianexpress.com/article/technology/artificial-intelligence/github-copilot-introduces-agent-mode-teases-its-first-autonomous-agent-9822630/#:~:text=GitHub%20Copilot%20introduces%20Agent%20Mode%2C,recognise%20errors%2C%20and%20fix%20them">GitHub Copilot introduces Agent Mode, teases its first autonomous ...</a>) </p></li><li><p><strong>Automated Deployment &amp; Ops:</strong> Future AI agents might handle deployments and monitor applications in production. If an issue arises (say a spike in error rates or a performance dip), the AI could automatically roll back the deployment or even live-patch the running system. Imagine an agent noticing a memory leak in a microservice: it generates a fix, hot-patches the service, and writes a report of what it did &#8211; all without human intervention. This scenario extends the role of Site Reliability Engineering (SRE) to AI. We could see an &#8220;AI ops team&#8221; where one agent detects an anomaly, another diagnoses the cause, a third applies a fix, and a fourth communicates the update to humans.</p></li><li><p><strong>Continuous Optimization:</strong> Beyond reacting to problems, AI agents in production could continuously refactor code and tune systems for better performance. For instance, an agent might periodically refactor code for efficiency or adjust cloud infrastructure (like scaling servers or tweaking database indexes) based on usage patterns. Early hints of this are in industry chatter &#8211; experts predict AI agents will soon handle tasks like &#8220;monitoring load balancers and fixing CI/CD pipelines autonomously,&#8221; reducing a lot of DevOps toil (Agentic Coding Tools: Capabilities, Pricing, and Effectiveness (Expanded 2025 Edition) - Part 4.docx) (Agentic Coding Tools: Capabilities, Pricing, and Effectiveness (Expanded 2025 Edition) - Part 4.docx).</p></li><li><p><strong>DevSecOps and Compliance:</strong> Security and compliance checks can be enhanced by AI. Agents could scan new code for vulnerabilities or insecure patterns (like an automated security reviewer), and even fix them before merge. They could enforce compliance rules &#8211; for example, ensuring dependencies meet licensing requirements or that code handling user data conforms to GDPR guidelines &#8211; all as part of the pipeline.</p></li></ul><p>As these tools integrate with DevOps, developers may shift into more of a supervisory role for the pipeline. The future might involve developers specifying high-level objectives (&#8220;deploy this service with 99.99% uptime and minimal cost&#8221;), and the AI pipeline figuring out how to achieve it by adjusting configs, running tests, optimizing code, etc. OpenAI&#8217;s recent release of <strong>Codex CLI</strong> (an AI coding agent that runs locally in the terminal) hints at this agentic ops capability &#8211; it introduced distinct &#8220;approval modes&#8221; that let developers decide how autonomously the agent can act (from just suggesting changes to fully executing commands) (<a href="https://help.openai.com/en/articles/11096431-openai-codex-cli-getting-started#:~:text=Overview">OpenAI Codex CLI &#8211; Getting Started | OpenAI Help Center</a>). In fact, Codex CLI can not only write and edit code but also run shell commands to test it, all within a sandbox on your machine. This kind of tool shows how an AI agent can operate the same interfaces a developer would &#8211; be it a CLI, a cloud dashboard, or a web UI &#8211; effectively acting as a virtual DevOps engineer. (OpenAI calls Codex CLI a &#8220;lightweight coding agent&#8221; that can read, write, and execute code on your behalf.</p><h2><strong>Advances in AI Models and Capabilities</strong></h2><p>The underlying AI models are rapidly improving, which directly expands what agentic tools can do:</p><p><strong>Smarter, More Accurate Agents</strong></p><p>New large models (like the successors to GPT-4 or Anthropic&#8217;s Claude 2) are reducing coding errors and better understanding intent. The percentage of tasks these agents can complete end-to-end is rising. For example, Cognition&#8217;s Devin AI in early 2024 could autonomously resolve about 14% of coding issues in a benchmark test (<a href="https://venturebeat.com/ai/cognition-emerges-from-stealth-to-launch-ai-software-engineer-devin/#:~:text=In%20the%20SWE,file%20had%20to%20be%20fixed">Cognition emerges from stealth to launch AI engineer Devin | VentureBeat</a>). In comparison, other AI models at the time could only solve 2&#8211;5% (with GPT-4 around 1.7%) . This gap is illustrated in the chart below &#8211; Devin significantly outperformed Claude 2, an open-source LLaMA model, and even GPT-4 in that test:</p><p>(<a href="https://chatgpt.com/c/68092d6e-a99c-800c-87f0-2ab6d9e35190">image</a>) <em>Autonomous issue resolution rates in SWE-Bench (open-source coding challenges) &#8211; Devin far outpaced other AI models (<a href="https://venturebeat.com/ai/cognition-emerges-from-stealth-to-launch-ai-software-engineer-devin/#:~:text=In%20the%20SWE,file%20had%20to%20be%20fixed">Cognition emerges from stealth to launch AI engineer Devin | VentureBeat</a>).</em></p><p>As models improve, those success rates will climb higher. It&#8217;s plausible that within a couple of model generations, AI agents might handle 50% or more of routine coding tasks without human help. In other words, many tasks that still require a person in the loop today could soon be within the AI&#8217;s solo capability. The &#8220;edge of capability&#8221; is constantly moving outward &#8211; one security researcher described it as the point where you don&#8217;t realize the agent is out of its depth until it fails, and that edge keeps getting pushed further with each improvement (Agentic Coding Tools: Capabilities, Pricing, and Effectiveness (Expanded 2025 Edition) - Part 4.docx) (Agentic Coding Tools: Capabilities, Pricing, and Effectiveness (Expanded 2025 Edition) - Part 4.docx). Soon, AI might reliably handle all well-understood programming tasks, leaving only truly novel or complex architectural challenges to human engineers.</p><h4><strong>Larger Context Windows</strong></h4><p>Models like Anthropic&#8217;s Claude now support extremely large context windows (100k tokens, and future models may handle millions). This means an agent can &#8220;load&#8221; an entire codebase, plus related documentation and requirements, into context at once. The AI can have a holistic understanding of a software project. For developers, this is like having an assistant who has read your project&#8217;s every line of code and design doc. It enables questions like &#8220;If we implement feature X, what parts of the system will be affected?&#8221; to be answered in detail by the AI. Essentially, it brings us closer to an AI that can act like a software architect, considering system-wide implications of changes.</p><h4><strong>Multimodal Understanding</strong></h4><p>Future coding agents will incorporate more than just text. We already see hints: OpenAI&#8217;s Codex CLI can accept screenshots or diagrams as input to inform its coding We might soon have agents that take in design mockups (e.g. a drawn wireframe) and produce the corresponding UI code, or agents that watch a video of a user interacting with an app and then identify and fix the UX issues. By understanding not just code, but images, UI layouts, or even audio, an AI developer could bridge the gap between design and implementation. For example, a designer could sketch an app interface, and an AI agent would generate the React/Vue code for it. Or an AI could observe that users are clicking a certain button repeatedly and deduce there&#8217;s a UX pain point, then suggest a code change. Multimodal agents could tighten the feedback loop in development by linking user experience directly to code changes (Agentic Coding Tools: Capabilities, Pricing, and Effectiveness (Expanded 2025 Edition) - Part 4.docx) (Agentic Coding Tools: Capabilities, Pricing, and Effectiveness (Expanded 2025 Edition) - Part 4.docx).</p><h4><strong>Better Natural Language Understanding</strong></h4><p>As models get better at understanding nuance, we can give higher-level instructions. Instead of painstakingly specifying how to implement something, we might simply tell the AI, &#8220;Make this module more secure,&#8221; or &#8220;I need this service to handle 10&#215; the current load.&#8221; The agent would then figure out a plan: e.g. add encryption here, more input validation there, or introduce caching and more efficient algorithms to scale. Communication with AI will become more like talking to a very competent senior developer &#8211; you focus on <em>what</em> you want, they figure out <em>how</em> to do it. This opens the door for people who aren&#8217;t expert programmers (product managers, domain experts, etc.) to directly guide development via natural language &#8211; albeit with oversight to ensure the AI&#8217;s approach is sound.</p><h4><strong>Long-Term Learning and Memory</strong></h4><p>Today&#8217;s agents have limited memory of past sessions. But we can expect agents to develop longer-term memory of a project&#8217;s history. For instance, an AI coding assistant that remembers decisions made weeks or months ago: &#8220;We tried approach A for this feature last quarter and it didn&#8217;t work well, so let&#8217;s not repeat that mistake.&#8221; With techniques like fine-tuning on project-specific interactions or new memory architectures, an AI could become a persistent team member that grows alongside the project (Agentic Coding Tools: Capabilities, Pricing, and Effectiveness (Expanded 2025 Edition) - Part 4.docx). This kind of continuity would make the agent more useful over time, as it accumulates context and lessons just like a human team member would.</p><h2><strong>Impact on Software Engineering Practices</strong></h2><p>The rise of these autonomous coding tools will likely reshape software engineering practices and team dynamics:</p><ul><li><p><strong>Shift to Specification and Review:</strong> If AI handles more of the coding, human developers may spend more time on writing precise specifications, test cases, and doing code reviews. We could see a development process that is &#8220;spec-first.&#8221; In an ideal workflow, developers write thorough design docs and tests up front (as is encouraged by methodologies like TDD), then the AI implements the code to satisfy those specs and tests. Humans would then review the AI&#8217;s code diffs and the test results, focusing on whether the intent was correctly realized. In essence, developers move up a level of abstraction: describing the &#8220;what&#8221; and validating the &#8220;what,&#8221; with the AI handling the &#8220;how.&#8221; This is like Test-Driven Development on steroids, with the AI filling in the implementation details.</p></li><li><p><strong>Continuous Development (AI Pair Programming 2.0):</strong> We already have continuous integration and deployment (CI/CD); soon we might have <strong>continuous implementation</strong>. Codebases could be in a state of constant incremental improvement by AI agents. Some have called this the era of <em>self-healing code</em> or <em>self-optimizing systems</em>. The AI could continuously refactor and improve the codebase in the background, never stopping unless told to. Engineers would supervise this ongoing evolution, setting high-level objectives and constraints (&#8220;don&#8217;t break backward compatibility,&#8221; &#8220;optimize for latency under 100ms,&#8221; etc.). The result might be software that&#8217;s always getting a little better each day, without formal &#8220;sprints&#8221; for refactoring &#8211; the AI is always refactoring in micro doses.</p></li><li><p><strong>New Tools and Ecosystems:</strong> We will likely see more specialized agentic tools tailored to particular domains. For example, an agent specialized in database schema migrations, or one for mobile app development, or one for writing unit tests. Major development platforms are also integrating these capabilities natively. Microsoft has hinted at deeper AI features coming to Visual Studio and Azure DevOps. GitLab is adding AI-assisted code reviews and pipeline management. The ecosystem will evolve such that coding without AI feels like working with one hand tied behind your back (Agentic Coding Tools: Capabilities, Pricing, and Effectiveness (Expanded 2025 Edition) - Part 4.docx). We may also see marketplaces or repositories for AI agent &#8220;skills&#8221; or plugins &#8211; e.g. an agent plugin that knows how to optimize SQL queries, which you can add to your coding agent&#8217;s repertoire.</p></li><li><p><strong>Human&#8211;AI Collaboration Norms:</strong> The role of &#8220;AI pair programmer&#8221; could become formalized. We might have teams where each human developer is paired with an AI agent that knows their codebase and preferences. Daily stand-ups might include AI agents reporting on what they accomplished last night. (This is not as far-fetched as it sounds &#8211; some tools already auto-generate daily summaries of code changes; extending that to a spoken report via an AI persona is conceivable.) Culturally, teams will need to treat AI agents as part of the team. There are even reports of open-source projects listing AI contributions in their changelogs or acknowledging AI assistants as contributors. Questions like &#8220;Who is responsible for an AI&#8217;s code contribution?&#8221; and &#8220;Do we credit the AI?&#8221; will need clear policies.</p></li></ul><h2><strong>Potential Challenges and Unknowns</strong></h2><p>While the outlook is exciting, there are important challenges and open questions to address:</p><ul><li><p><strong>Quality and Trust:</strong> Will we reach a point where AI-produced code is as trusted as human-produced code, especially for critical systems? Perhaps, but any high-profile failures (e.g. an AI bug causing a major outage or security breach) could slow down adoption. Likely there will remain an upper bound of risk tolerance &#8211; for safety-critical software (medical devices, aerospace, etc.), humans may insist on final sign-off or stringent validation for the foreseeable future. AI or not, accountability for errors will still lie with humans, so processes to verify AI output (tests, audits, formal methods) will be crucial.</p></li><li><p><strong>Regulatory and Legal Questions:</strong> If an AI agent writes a substantial portion of code, who owns the copyright? Who is liable for defects? These legal questions are still being figured out. Regulators might introduce requirements for audit trails of AI contributions in industries like finance, healthcare, or automotive. We might even see certifications emerge for AI coding tools &#8211; imagine an FDA-style approval process for an AI developer to be used in medical software. Additionally, companies will need policies on things like AI-generated code containing open-source snippets (to avoid license violations), or ensuring AI doesn&#8217;t introduce insecure code.</p></li><li><p><strong>Developer Job Market and Skills:</strong> As routine coding gets automated, the skills required for developers will shift. Entry-level software jobs might diminish or change in nature &#8211; new graduates may be expected to know how to effectively use AI tools rather than write every line themselves. There&#8217;s a positive spin: automating drudge work could free developers to focus on design, strategy, and creative problem-solving, making the job more enjoyable. But there&#8217;s a cautionary view: developers will need to continually upskill to stay ahead of what AI can do. Knowing <em>how to prompt, guide, and verify</em> AI might become as important as knowing how to code a particular algorithm by hand. Education programs are already starting to incorporate AI tool training into curricula.</p></li></ul><p>In general, the industry sentiment so far is optimistic. AI coding agents are seen as powerful aids that can boost developer productivity and output. In a sense, they fulfill the long-held dream of higher-level programming: humans describe what they need in natural language, and the machine figures out the detailed steps to make it happen. We went from assembly language to high-level languages to no-code builders &#8211; and now to conversational AI development. Each step has abstracted away more low-level work. Agentic AI is the next step in that evolution.</p><p>Experts predict that by the late 2020s it will be standard for every developer to work alongside an AI agent, much like it&#8217;s now standard to use version control or CI/CD pipelines (Agentic Coding Tools: Capabilities, Pricing, and Effectiveness (Expanded 2025 Edition) - Part 4.docx) (Agentic Coding Tools: Capabilities, Pricing, and Effectiveness (Expanded 2025 Edition) - Part 4.docx). Once everyone has an AI co-developer, the playing field may level out again in terms of productivity (much like how having a laptop became a baseline &#8211; now everyone has one, so it&#8217;s not a competitive advantage). But in the interim, early adopters can have a huge edge.</p><p>Interestingly, these tools might enable entirely new kinds of software that were previously impractical. When AI agents can simulate entire user populations, generate dozens of variations of a feature, or automatically improve code over time, development starts to look a bit like an evolutionary process. For example, one could have an AI generate 50 different implementations of a feature, deploy each to a subset of users, learn from the results, and then combine the best approaches &#8211; a level of experimentation and optimization that no human team could practically do. Software could evolve more organically, with AI driving rapid iteration and selection of the fittest solutions.</p><p>In summary, the future of agentic coding tools points to a world where developers act more as architects, curators, and strategists, while AI agents handle much of the grunt work (and even some creative work) under human guidance. Software will be developed faster, more iteratively, and potentially with higher quality &#8211; if managed well. Collaboration will extend to AI teammates (and even multiple AI agents working together under our oversight). The boundaries of what a small team can build will expand dramatically, possibly ushering in an era of hyper-personalized software (lots of niche solutions that an AI can spin up on demand) and unprecedented innovation speed.</p><p>As one expert succinctly put it: <em>&#8220;The role of engineers isn&#8217;t to fear AI, but to lead its integration into the systems we build.&#8221;</em> (<a href="https://www.linkedin.com/pulse/rise-ai-agents-how-2025-transform-software-prof-dr-daniel-russo-lopbf#:~:text=Engineering%20www,How%20are%20you">The Rise of AI Agents: How 2025 Will Transform Software Engineering</a>) Those who embrace and skillfully guide these tools will define the next chapter of software engineering.</p><h2><strong>Visual Summary Table</strong></h2><p><strong>Best Agentic Coding Tools by Target Audience / Use Case</strong></p><p><strong>User / Team Segment</strong></p><p><strong>Recommended Tools</strong></p><p><strong>Rationale / Key Benefits</strong></p><p><strong>Individual Developers &amp; Freelancers</strong></p><p><strong>GitHub Copilot</strong>, <strong>Cursor</strong> (and <strong>Cline/Roo</strong> for power users)</p><p><strong>Versatility &amp; Productivity:</strong> Copilot integrates seamlessly into editors and provides instant code suggestions for many languages &#8211; great for quick wins in daily coding. Cursor (and similar IDE agents) goes further by automating end-to-end tasks in a project (running tests, creating files, refactoring) which is ideal for a solo dev wearing many hats. Power users who want maximal control or customization might explore Cline/Roo, as these offer deep automation that can be self-hosted and tweaked. Overall, these tools handle routine code generation so an individual can focus on more complex or creative work, effectively acting as an extra set of hands.</p><p><strong>Startup Teams (2&#8211;10 devs)</strong></p><p><strong>Devin</strong>, <strong>Cursor</strong>, <strong>Replit Ghostwriter</strong></p><p><strong>Ambitious Autonomy:</strong> Startups need to move fast and build MVPs quickly. Devin&#8217;s autonomous project-building capabilities can bootstrap entire app components from just a prompt &#8211; potentially creating a rough MVP overnight. Cursor boosts each team member&#8217;s throughput (almost like adding extra junior developers who can take on grunt work), which is priceless for a small team. Replit Ghostwriter is great for startups, especially those using Replit for collaboration &#8211; it offers real-time AI help in a shared dev environment with minimal ops overhead. By using these tools, a startup could accomplish in days what might otherwise take weeks, giving them a competitive edge in iterating on product ideas.</p><p><strong>Enterprise Development Teams</strong></p><p><strong>Augment Code</strong>, <strong>Claude (Claude 2)</strong>, <strong>Windsurf</strong></p><p><strong>Codebase Mastery &amp; Compliance:</strong> Large organizations deal with huge, complex codebases and strict processes. Augment Code shines in such environments with its deep codebase indexing and integrations (Jira, CI/CD), helping teams query and refactor large monoliths efficiently. Claude&#8217;s 100k context and advanced reasoning make it excellent for understanding big-picture architecture and generating documentation or test plans &#8211; it can act like an AI architect or systems analyst in the loop. Windsurf appeals to enterprises for its focus on auditability and governance; it provides an AI coding assistant with an &#8220;audit trail&#8221; of decisions, aligning with compliance needs. Together, these tools accelerate development in large systems while maintaining the oversight and reliability that enterprises require.</p><p><strong>Frontend/Web Developers</strong></p><p><strong>v0 (Vercel)</strong>, <strong>Bolt.new</strong>, <strong>Lovable</strong></p><p><strong>Rapid UI/UX Implementation:</strong> Frontend and web app devs benefit from tools that understand web frameworks and user experience. Vercel&#8217;s v0 (when available) is tailored for Next.js and modern React workflows &#8211; it can generate components and pages in the idiomatic way a Next.js developer would, speeding up UI development. Bolt.new provides a zero-setup, in-browser IDE powered by StackBlitz, enabling quick full-stack prototypes; a frontend dev can instantly spin up a new project with code generated for both client and server, and see it live. Lovable is almost a no-code tool &#8211; a frontend or product designer can describe an app in plain English and get a functional prototype with UI and backend; for a developer, it&#8217;s a way to get a first draft of the front-end and logic, which they can then refine. All of these reduce the boilerplate and setup time for web apps, letting developers focus on polishing user experience.</p><p><strong>Data Science &amp; Analysts (Coding for data/ML)</strong></p><p><strong>Claude</strong>, <strong>GitHub Copilot (Chat mode)</strong>, <strong>Amazon Q</strong></p><p><strong>Assisted Scripting &amp; Analysis:</strong> Data scientists often write scripts in Python/R or SQL queries &#8211; tasks well-suited for AI help. Copilot (especially in chat mode or Jupyter integration) can autocomplete code and suggest fixes as they explore data, which speeds up analysis. Claude&#8217;s large context window allows it to ingest entire datasets&#8217; schema or long logs, and then answer questions or generate analysis code based on all that context &#8211; useful for debugging data pipelines or interpreting results. If working in the AWS ecosystem, <strong>Amazon Q</strong> (Amazon&#8217;s AI coding assistant within AWS Studio) is tailored for building data and ML workflows on AWS (<a href="https://aws.amazon.com/q/developer/#:~:text=,with%20advanced%20capabilities%20for">Generative AI Assistant for Software Development &#8211; Amazon Q ...</a>) (<a href="https://aws.amazon.com/blogs/big-data/accelerate-analytics-and-ai-innovation-with-the-next-generation-of-amazon-sagemaker/#:~:text=,SageMaker%20Unified%20Studio%20to">Accelerate analytics and AI innovation with the next generation of ...</a>). It can help generate infrastructure-as-code (CloudFormation/Terraform) or Glue/SageMaker scripts by understanding AWS-specific contexts. These tools act like AI pair programmers for data work, letting analysts spend more time on interpreting results rather than writing boilerplate code for data cleaning or charting.</p><p><strong>Low-Code / No-Code Creators</strong></p><p><strong>Lovable</strong>, <strong>Bolt.new</strong></p><p><strong>Natural Language Development:</strong> For entrepreneurs or designers with minimal coding experience, these tools enable app creation through plain language. Lovable turns plain English descriptions into full-stack web apps &#8211; it handles the database, backend, and frontend automatically. This lowers the barrier for non-engineers to bring an idea to life. Bolt.new, while requiring a bit more web familiarity than Lovable, allows trying out ideas without setting up a dev environment &#8211; everything runs in the browser with AI assistance. Together, they empower creators to realize software ideas without hiring a developer, by letting AI handle the heavy lifting of code. The key benefit is the ability to prototype and validate an idea quickly and inexpensively.</p><p><strong>DevOps &amp; SRE Engineers</strong></p><p><strong>OpenAI Codex CLI</strong>, <strong>Windsurf</strong>, <strong>Amazon Q</strong></p><p><strong>Automation of Ops Tasks:</strong> DevOps teams can leverage these tools to automate routine operational work. OpenAI&#8217;s <strong>Codex CLI</strong> is a powerful aid &#8211; it can generate shell scripts, Dockerfiles, CI configs, etc., and <em>execute</em> them in a controlled local environment ([OpenAI Codex CLI &#8211; Getting Started</p><p><strong>Education (Students &amp; Teachers)</strong></p><p><strong>GitHub Copilot</strong>, <strong>Replit Ghostwriter</strong></p><p><strong>Learning Aid &amp; Sandbox:</strong> For students learning to code, an AI assistant can be immensely helpful. GitHub Copilot (available free to students and educators) provides on-the-fly code suggestions that can help overcome syntax struggles and suggest how to implement functions, acting like an interactive tutor (<a href="https://www.reddit.com/r/github/comments/1bdmfqi/github_copilot_is_free_for_maintainers_of_popular/#:~:text=projects%20www,source%20repositories%20on%20GitHub">Github Copilot is free for maintainers of popular open source projects</a>) (<a href="https://github.blog/news-insights/product-news/github-copilot-now-available-for-teachers/#:~:text=GitHub%20Copilot%20now%20available%20for,verified%20on%20GitHub%20Global%20Campus">GitHub Copilot now available for teachers</a>). It&#8217;s useful for learning by example (though students must be careful to understand suggestions, not just copy blindly). Replit Ghostwriter offers a safe sandbox environment: a student can code in the browser and get immediate AI help. Ghostwriter can explain errors and even auto-fix code, almost like a teaching assistant that&#8217;s available 24/7. Teachers have used these tools in the classroom to demonstrate concepts &#8211; for example, asking the AI to solve a problem and then discussing its solution and mistakes. The goal here is accelerating the feedback loop in learning: students get un-stuck faster, and can experiment more freely, while teachers guide the conceptual understanding and proper use of AI.</p><p>These tables provide a quick guide to which tools shine for which scenarios. Of course, many tools are versatile and can serve across multiple categories, and many developers will use a combination of them. The landscape is rich, and choosing the right tool depends on the specific context, goals, and constraints of the user or team.</p><p>As the field continues to progress, expect these comparisons to evolve &#8211; new tools will emerge, pricing will shift (likely become more competitive or usage-based), and certain tools will broaden their target audiences. The key is to stay informed about each tool&#8217;s capabilities and to pilot them to see which aligns best with your needs.</p><h2><strong>Conclusion</strong></h2><p>Agentic coding tools represent a fundamental shift in software development. They have the potential to dramatically increase productivity while also changing the day-to-day workflow of developers. Our expanded survey covered not only major players defining this space, but also emerging tools pushing the boundaries (like Cognition&#8217;s Devin and OpenAI&#8217;s Codex CLI), integration with DevOps, impacts on team roles, pricing models, and ethical considerations.</p><p>A few key takeaways:</p><ul><li><p><strong>Productivity Gains:</strong> When used effectively, these tools can yield significant productivity improvements (some early case studies report 2&#215;&#8211;5&#215; faster completion of certain tasks). Entire features or projects can be completed in a fraction of the time they used to take. This amplifies what individual developers and small teams can achieve, allowing even startups or solo devs to tackle bigger problems or more projects in parallel.</p></li><li><p><strong>Changing Developer Roles:</strong> Rather than replacing developers, AI agents are <strong>augmenting</strong> developers and shifting the nature of their work. The emphasis is moving toward higher-level thinking: planning, architectural decisions, testing and validation, and orchestration of components. Developers are increasingly in a supervisory or &#8220;editor-in-chief&#8221; role &#8211; they guide the AI with prompts and specifications, then review and refine the outputs. Mastery of &#8220;prompt engineering&#8221; (i.e. communicating intent to the AI) and configuring these tools is becoming a valuable skill, akin to knowing your development environment and libraries.</p></li><li><p><strong>Tool Differentiation:</strong> There is no one-size-fits-all AI coding tool. The tools differ in focus and ideal use cases. For example, <strong>Cursor</strong> acts as an autonomous pair programmer deeply integrated in an IDE, whereas <strong>GitHub Copilot</strong> is a lightweight suggestion engine for code completions. <strong>Augment</strong> focuses on repository-wide intelligence and enterprise integration, while <strong>Windsurf</strong> prioritizes auditability and safety for enterprise use. Understanding these differences is crucial to selecting the right tool for a given project or team culture. In practice, many teams use a combo (e.g. Copilot for inline suggestions and an agent like Devin or Cursor for larger tasks).</p></li><li><p><strong>Real-World Validation:</strong> We are starting to see real-world studies and reports validating the impact of these tools. For instance, a case study at a large automotive company found that using GitHub Copilot increased developer throughput and code quality on certain tasks (<a href="https://www.researchgate.net/publication/381609417_The_impact_of_GitHub_Copilot_on_developer_productivity_from_a_software_engineering_body_of_knowledge_perspective#:~:text=,as%20part%20of%20their">(PDF) The impact of GitHub Copilot on developer productivity from a ...</a>). Many startups have publicly shared that they could iterate and pivot faster thanks to AI pair programmers. The flood of investment into this sector (hundreds of millions in funding, and some big acquisitions rumored) underscores that industry leaders believe agentic coding is not a fad but a core part of the future of software development.</p></li><li><p><strong>Risks and Mitigations:</strong> Alongside enthusiasm, there are genuine concerns. Security issues like prompt injection (where an AI can be tricked into executing malicious instructions) and leaking sensitive code/data are important to guard against (<a href="https://twitter.com/SecCodeWarrior/status/1907928659698057218#:~:text=Secure%20Code%20Warrior%20on%20X%3A,promptinjections%20with">Secure Code Warrior on X: "Are you aware of the security risks ...</a>). Quality issues like subtle bugs or AI &#8220;hallucinations&#8221; (making up code that doesn&#8217;t actually work) require that developers stay vigilant with testing and code reviews. Ethical concerns, including bias in AI suggestions or the impact on developer jobs, need proactive management. Mitigating these risks will require a combination of: tool features (for example, sandboxing execution, or providing transparency into the AI&#8217;s decision process), best practices on the team (code review remains essential, as does thorough testing), and possibly new organizational policies or guidelines for AI usage. When those safeguards are in place, the benefits of speed and assistance tend to far outweigh the downsides &#8211; and surveys show a large majority of developers are excited about having AI help (one survey by Salesforce found 96% of developers expect AI agents to improve their workflow (<a href="https://medium.com/@herbertmoroni/ai-agent-adoption-in-software-development-a-reality-check-8b74e79546bd#:~:text=This%20week%20I%20received%20a,code%20tools">AI Agent Adoption in Software Development: A Reality Check | by Herbert Moroni Gois | Mar, 2025 | Medium</a>) (<a href="https://medium.com/@herbertmoroni/ai-agent-adoption-in-software-development-a-reality-check-8b74e79546bd#:~:text=February%202025%20findings%2C%20a%20staggering,code%20tools">AI Agent Adoption in Software Development: A Reality Check | by Herbert Moroni Gois | Mar, 2025 | Medium</a>)).</p></li><li><p><strong>Future Outlook:</strong> The momentum suggests we are only at the early stages. As models improve and tools integrate more deeply, we might see a paradigm where &#8220;coding&#8221; is less about typing syntax and more about orchestrating intelligent agents. This doesn&#8217;t diminish the importance of human creativity, intuition, and judgment &#8211; if anything, it elevates those aspects. Future developers might spend less time debugging null pointer exceptions and more time brainstorming features or designing user experiences, with the AI handling the mundane bits. Coding could become a higher-level creative collaboration between humans and AI, which is a very different picture from the solo coder agonizing over boilerplate late into the night.</p></li></ul><p><strong>The relationship between developers and code is being redefined</strong>. Agentic AI is turning what used to be a labor-intensive process into a highly automated, interactive, and even <strong>creative</strong> partnership between human and machine. Many companies adopting these tools describe them as &#8220;teammates&#8221; or &#8220;co-pilots&#8221; &#8211; albeit ones that need guidance and oversight. The overwhelming positive reception from developers so far suggests that, far from feeling threatened, most see these AI agents as empowering tools that free them from drudgery and let them focus on the more fulfilling aspects of building software.</p><p>Organizations that effectively integrate these tools stand to gain significant competitive advantages through accelerated development cycles, improved code quality, and the ability to tackle ambitious projects with leaner teams. Meanwhile, developers who embrace and learn to harness agentic tools are likely to advance faster in their careers, as they can deliver more value and adapt quickly to the evolving technical landscape.</p><p>Software development has always been about extending human capability through better abstractions and tools. Agentic coding is the next giant leap in that evolution &#8211; blending artificial intelligence with human ingenuity. By staying informed, practicing good oversight, and continuously learning, we can ensure this leap leads to software that is more robust, innovative, and developed at a pace once unimaginable.</p>]]></content:encoded></item><item><title><![CDATA[Enter Codex CLI]]></title><description><![CDATA[OpenAI's Open Source Agentic Tool Shows Promise]]></description><link>https://hyperdev.matsuoka.com/p/enter-codex-cli</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/enter-codex-cli</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Wed, 23 Apr 2025 19:03:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5c8c5b64-d3e7-410d-ab9a-8f2b9d2fdc20_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I came across OpenAI's Codex CLI while researching a broader State of the Union on agentic coding&#8212;a topic that&#8217;s about to get a lot more public in the next few days. Codex wasn&#8217;t the headline of that work, but it stuck with me.</p><blockquote><p>Quick note: there are multiple tools named "Codex." This piece is about <strong>OpenAI's Codex CLI</strong>, released in April 2025. It's a standalone, open-source command-line assistant with support for GPT-4 and other models. It is <strong>not</strong> the same as the earlier OpenAI Codex model (2021&#8211;2023, used in GitHub Copilot) or the community-built Codex CLI projects like the one by <code>codingmoh</code> that runs fully offline<a href="#user-content-fn-1"><sup>1</sup></a>.</p></blockquote><p>It dropped last week without much noise. No launch spectacle, no hype cycle. But it&#8217;s quietly one of the most thoughtfully engineered AI tools I&#8217;ve used this year.</p><p>Not because it&#8217;s novel. Because it&#8217;s practical.</p><h2>Four Things Codex Gets Right</h2><h3>1. Model Choice With Real Leverage</h3><p>Codex gives you access to multiple OpenAI models:</p><ul><li><p><strong>gpt-4-o-mini</strong>: cheap, fast, and surprisingly conversational</p></li><li><p><strong>gpt-4.1</strong>: best-in-class on coding tasks, and more cost-effective than Claude 3.5 in real-world use</p></li></ul><p>Having both means you can balance cost and capability based on what you&#8217;re doing&#8212;debugging a script, reviewing code, or generating config boilerplate.</p><p>But here&#8217;s the kicker: <strong>Codex CLI is open source and supports any provider</strong>.</p><p>Want to use <strong>Claude</strong>, <strong>Gemini</strong>, or <strong>local models</strong> via <strong>Ollama</strong>, <strong>LM Studio</strong>, or <strong>custom APIs</strong>? You can. The system is designed to be <strong>provider-agnostic</strong>. Model definitions live in your <code>.codexrc</code> file, and you can route prompts through whatever stack suits your workflow&#8212;whether that&#8217;s cloud, self-hosted, or air-gapped environments.</p><p>That flexibility turns Codex from a tool into a platform.</p><p>And if you're looking to save on usage, Codex also supports a <code>--flex-mode</code> flag. When enabled, it attempts to use lower-cost or opportunistically available compute&#8212;but with a tradeoff: it may occasionally interrupt long-running sessions if those resources become unavailable. Great for budget-conscious devs, but not yet fully production-safe.</p><blockquote><p>A hint to OpenAI: <code>--flex-mode</code> is a clever idea. But when compute runs out, sessions shouldn&#8217;t just crash. Either exit gracefully, or pause until capacity is restored.</p></blockquote><h3>2. Big Context, Smart Scope</h3><p>Codex reads your full codebase but doesn't send it all at once. It scopes intelligently, caches what it can, and only sends what&#8217;s relevant. This cuts down noise, improves response time, and avoids leaking sensitive data.</p><p>It behaves like someone who&#8217;s read your repo and knows what to ignore.</p><p>(It actually can read your entire codebase and act fully autonomously, a la Devin, but I haven&#8217;t had the courage to try that mode yet. "dangerously-auto-approve-everything" or "full-context" mode is available.)</p><h3>3. Privacy That&#8217;s Built In, Not Bolted On</h3><ul><li><p>Local-first execution</p></li><li><p>Explicit file access</p></li><li><p>No telemetry or background logging by default</p></li></ul><p>If you work in regulated or high-trust environments, these aren&#8217;t features&#8212;they&#8217;re prerequisites.</p><h3>4. Thoughtful UX, Conversational Flow</h3><p>Codex is non-blocking. Ask a question, keep working, get a response later. No lock-in. No modal dead ends.</p><p>And when you authenticate with OpenAI, it exposes its thought chain&#8212;a step-by-step breakdown of how it interpreted your request. Here&#8217;s what o4-mini said while resolving a style update, followed by another example of strategic decision-making:</p><blockquote><p>"The user asked to &#8216;apply the same style to the playground pages,&#8217; which likely means using the card style from the landing page. Since they didn&#8217;t mention adding breadcrumbs, I think it&#8217;s best to leave the child pages as they are... I confirmed the necessary Card components are imported... I&#8217;ll also remove any trailing spaces before committing the changes. Now it&#8217;s ready to go!"</p></blockquote><p>That&#8217;s not just output&#8212;that&#8217;s understanding&#8230; or at least a better simulation of it.</p><p>Here&#8217;s another great example that showcases how it reasons through constraints and proposes a clear plan of action:</p><blockquote><p>"I&#8217;m thinking it&#8217;s best to propose a revised plan: let&#8217;s roll back and start with something smaller instead. It seems like the changes to session.ts are too large, so I&#8217;ll check version control for the previous state because we don&#8217;t have that code locally. Given the constraints, I think the best course is to recommend to the user that we revert, and open a feature branch to implement the smaller changes."</p></blockquote><p>It&#8217;s this kind of structured decision-making that makes Codex feel like more than just a code generator&#8212;it&#8217;s a tool that reasons with the project in mind.</p><h2>In Practice</h2><ul><li><p>Fixed Docker mount bugs in under a minute</p></li><li><p>Deployed hybrid Next.js + Edge Function apps with cleaner env config</p></li><li><p>Wrote simple Bash helpers faster than switching to a browser tab</p></li><li><p>Tested code changes with model commentary I could inspect and trust</p></li></ul><h2>Limitations Worth Noting</h2><p>Codex isn't a full agent, and it has some clear boundaries:</p><ul><li><p>It doesn't do live web searches, which can be limiting when troubleshooting unknown errors or dependency conflicts.</p></li><li><p>It relies on local context only&#8212;you get what you give it.</p></li></ul><p>The biggest issue with gpt-4.1 right now is instability around file editing. In many sessions, Codex will report successful patching, but changes don't actually get written to disk. This inconsistency can break workflows without clear feedback, making gpt-4.1 frustrating for multi-step code refactors.</p><p>There is also a known Node.js warning that can occur during heavy usage:</p><pre><code><code>(node:20662) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 11 abort listeners added to [AbortSignal]. MaxListeners is 10. Use events.setMaxListeners() to increase limit
</code></code></pre><p>While this isn&#8217;t the cause of the main crash behavior, it's a symptom of process saturation that may require restarting the CLI.</p><p>My current takeaway: while the gpt-4.1 integration is promising&#8212;and still useful in situations that require deeper contextual understanding or multi-file reasoning&#8212;it's also buggy in key areas, especially around file edits and process stability. In contrast, I was pleasantly surprised by how well gpt-4-o-mini performed. It took a bit longer to work through complex issues, but it was persistent, accurate, and refreshingly reliable.</p><p>It&#8217;s also worth saying: Claude still has legs, particularly when viewed through the lens of Codex&#8217;s limitations&#8212;most notably its lack of web search capabilities. While Codex outperforms it in structured coding workflows, Claude&#8217;s ability to browse the web makes it a better general-purpose assistant. For problems that required research, external docs, or integrating with web scrapers, Claude&#8217;s open context and tool access were invaluable. It&#8217;s also worth noting that Claude feels more polished in terms of UI and integrated tooling&#8212;particularly for users working outside the CLI or across multiple workflows. It&#8217;s still part of my toolbox&#8212;just not always my first stop.</p><h2>Should You Use It?</h2><p>Yes.</p><p>Codex CLI isn&#8217;t a gimmick. It&#8217;s not trying to be your copilot. I first encountered it while preparing a broader State of the Union on agentic coding&#8212;and it fits squarely into that evolving category: tools that can reason, act incrementally, and stay out of your way. It&#8217;s an AI-native command-line assistant that makes you faster without making a fuss:</p><ul><li><p>It gets the model selection right</p></li><li><p>It respects your environment</p></li><li><p>It explains itself just enough</p></li><li><p>It lets you work without waiting</p></li></ul><p>And in the broader context of agentic coding&#8212;which is about to get a major spotlight&#8212;it&#8217;s a solid glimpse into what AI-native tools should look like: quiet, capable, and engineered with intent. Add on the affordability of 4o-mini, and this may end up being my daily tool.</p><p>Given its newness and rawness, maybe hold off on putting it against your toughest problems&#8230;but at least have it take a look at them.</p><h2>Footnotes</h2><p>Other "Codex" projects include: </p><ul><li><p><a href="https://openai.com/blog/openai-codex">OpenAI Codex (2021)</a>: the model behind GitHub Copilot, now deprecated.</p></li><li><p><a href="https://github.com/codingmoh/codex-cli">Community Codex CLI</a>: a local-first, offline-friendly command-line tool for coding assistance.</p></li><li><p>This article is focused on the <strong>OpenAI Codex CLI</strong>, released April 2025, available on <a href="https://github.com/openai/codex">GitHub</a>.</p></li></ul>]]></content:encoded></item></channel></rss>