<?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>Tue, 21 Jul 2026 13:17:36 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[Claude Sonnet 5 Takes the Default Driver Slot — and Quietly Raises Your Token Bill]]></title><description><![CDATA[Plus it's baaaaaack! (Fable 5)]]></description><link>https://hyperdev.matsuoka.com/p/claude-sonnet-5-takes-the-default</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/claude-sonnet-5-takes-the-default</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Thu, 02 Jul 2026 19:10:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qfHk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Verdict up front</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qfHk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qfHk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png 424w, https://substackcdn.com/image/fetch/$s_!qfHk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png 848w, https://substackcdn.com/image/fetch/$s_!qfHk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!qfHk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qfHk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png" width="1536" height="1152" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1152,&quot;width&quot;:1536,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:0,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qfHk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png 424w, https://substackcdn.com/image/fetch/$s_!qfHk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png 848w, https://substackcdn.com/image/fetch/$s_!qfHk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!qfHk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c96d654-2776-43ee-897b-b27999367bde_1536x1152.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>Claude Sonnet 5 landed this week, June 30, 2026, as the new default on Claude Free and Pro and the new occupant of the middle tier: Haiku below it, Opus 4.8 above, Fable 5 and Mythos 5 at the top. The pitch from <a href="https://www.anthropic.com/news/claude-sonnet-5">Anthropic</a> is the one practitioners care about &#8212; Opus-adjacent capability at Sonnet economics, aimed squarely at high-volume agent loops where Opus pricing compounds fast. One wrinkle sharpens the switch decision. Fable 5 is back in Claude Code, redeployed the morning after Sonnet shipped, which puts the top of the lineup back in reach and moves the ceiling any switch has to weigh against.</p><p>Two things matter more than the headline. First, the architecture shift: extended thinking is gone, replaced by adaptive thinking that runs on by default and interleaves reasoning between tool calls. The <code>effort</code> parameter now defaults to <code>high</code> in both the Claude API and Claude Code. Second, the pricing has a catch the announcement does not foreground. The list price looks flat against Sonnet 4.6. The new tokenizer means your invoice may not be.</p><p>If you drive coding agents for a living, this is the model you will be pointing your harness at by default. The question is whether to switch today[1], reach past it, or wait two weeks and measure.</p><h2>TL;DR</h2><ul><li><p><strong>New default everywhere.</strong> Sonnet 5 is the default model on Free and Pro at launch. API ID <code>claude-sonnet-5</code>, Bedrock <code>anthropic.claude-sonnet-5</code>, Vertex coming soon.</p></li><li><p><strong>Extended thinking removed; adaptive thinking is always on.</strong> Manual <code>thinking: {type: "enabled", budget_tokens: N}</code> now returns a 400 error. Depth is set by <code>effort</code> (<code>low</code>, <code>medium</code>, <code>high</code>, <code>xhigh</code>, <code>max</code>; <code>high</code> by default on the API and in Claude Code), and the model reasons between tool calls without prompt engineering &#8212; the architecturally significant change for agentic work.</p></li><li><p><strong>1M context, 128k output, January 2026 cutoff.</strong> Repo-level reasoning at Sonnet pricing.</p></li><li><p><strong>Agentic coding 63.2%</strong>, per Anthropic&#8217;s comparison chart, versus 58.1% for Sonnet 4.6 and 69.2% for Opus 4.8. Likely SWE-bench Pro, not Verified &#8212; and no Verified score is published yet.</p></li><li><p><strong>Pricing looks flat, isn&#8217;t quite.</strong> $2/$10 per MTok intro through August 31, then $3/$15 &#8212; same list price as Sonnet 4.6. But the new tokenizer generates 1.0&#8211;1.35x more tokens for the same text, so &#8220;same price&#8221; is misleading at the invoice level.</p></li><li><p><strong>Fable 5 is back in Claude Code (July 1)</strong> as the practical ceiling above Opus &#8212; priced higher, with a retrained safety classifier that reroutes offensive-cyber work down to Opus 4.8. Details below.</p></li></ul><h2>What Anthropic shipped</h2><p>Sonnet 5 sits in the workhorse slot of the lineup. Haiku 4.5 at $1/$5 handles cheap high-volume work. Opus 4.8 at $5/$25 is the heavy lifter. Fable 5 and Mythos 5 sit above Opus, both dark at Sonnet 5&#8217;s launch, though Fable returned to Claude Code on July 1 (more below). Sonnet is the tier you point at the bulk of your agent traffic, and the one whose economics decide whether a coding-agent product is viable.</p><p>The specs are current-generation and unsurprising on paper: 1,000,000-token context window, 128,000 max output tokens (300,000 on the Batch API with the beta header), text and image input, January 2026 knowledge cutoff. Anthropic calls it &#8220;the most agentic Sonnet model yet,&#8221; which is marketing, but the architecture underneath the phrase is the actual story.</p><p><strong>Extended thinking is gone.</strong> If your code sends <code>thinking: {type: "enabled", budget_tokens: N}</code>, Sonnet 5 returns a 400 error. That is a breaking change for any harness that sets thinking budgets explicitly. Grep your codebase for it before you flip the model ID. In its place is <a href="https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking">adaptive thinking</a>: always on, with depth allocated dynamically by the model and steered through the <code>effort</code> parameter &#8212; <code>low</code>, <code>medium</code>, <code>high</code>, <code>xhigh</code>, or <code>max</code>. The default is <code>high</code> on both the API and Claude Code, with <code>xhigh</code> available above it for the hardest coding and agentic tasks.</p><p>The piece that matters for agents is that adaptive thinking automatically enables interleaved thinking. The model reasons between tool calls. It reflects on what a tool returned before deciding the next action, and it does this without you wiring up a scratchpad or a reflection prompt. For anyone who has built an agent loop by hand, that is the part you used to engineer yourself, now folded into the default behavior of the model.</p><h2>About that benchmark number</h2><p>Anthropic&#8217;s launch chart gives an agentic coding comparison:</p><p>Model Agentic coding score Claude Sonnet 4.6 58.1% Claude Sonnet 5 63.2% Claude Opus 4.8 69.2%</p><p>Source: <a href="https://techcrunch.com/2026/06/30/anthropic-launches-claude-sonnet-5-as-a-cheaper-way-to-run-agents/">Anthropic&#8217;s comparison chart, via TechCrunch</a>. Now the caveats, because this is where launch-day coverage tends to get sloppy.</p><p>That 63.2% is almost certainly SWE-bench Pro &#8212; the harder multi-file agentic eval &#8212; not SWE-bench Verified. The two are not interchangeable, and the numbers live on different scales. The Opus 4.8 figure in the same chart (69.2%) matches its published SWE-bench Pro score, which supports the Pro read. Anthropic has <strong>not</strong> published a standalone SWE-bench Verified number for Sonnet 5. The comparison chart is an image, with no underlying table released at launch.</p><p>So here is the trap. If you go looking, you will find a 82.1% SWE-bench figure attached to &#8220;Claude Sonnet 5.&#8221; Do not use it. That number comes from February 2026 pre-launch speculation about a different model iteration &#8212; a phantom Sonnet 5 with a &#8220;Dev Team Mode&#8221; that never shipped in the form described. The model that launched today has different characteristics. Any spec sheet dated before June 30 is describing something else.</p><p>What can you say with confidence? Sonnet 5 sits meaningfully above Sonnet 4.6 on agentic coding and a few points below Opus 4.8. For reference, the most recent <a href="https://www.morphllm.com/claude-benchmarks">third-party leaderboard before launch</a> had Sonnet 4.6 at 79.6% SWE-bench Verified and Opus 4.8 at 88.6%. A reasonable expectation puts Sonnet 5&#8217;s Verified score somewhere in the low-to-mid 80s &#8212; but that is my read of where the gap lands, not a number Anthropic has confirmed. Treat it as judgment, not data.</p><p>On the safety side, Anthropic reports lower hallucination and sycophancy rates than Sonnet 4.6, better refusal of malicious requests, and stronger resistance to prompt injection. By design, it also carries intentionally weaker cybersecurity exploit capability than Opus 4.8.</p><h2>Pricing and the tokenizer tax</h2><p>The list price is the easy part:</p><p>Model Input $/MTok Output $/MTok Claude Haiku 4.5 $1.00 $5.00 Sonnet 5 (intro, through Aug 31) $2.00 $10.00 Claude Sonnet 4.6 $3.00 $15.00 Sonnet 5 (standard, from Sep 1) $3.00 $15.00 Claude Opus 4.8 $5.00 $25.00</p><p>At standard rates, Sonnet 5 carries the identical list price to Sonnet 4.6: $3/$15. Through August 31 you get an introductory $2/$10. Read quickly, that says &#8220;same price, free discount for two months.&#8221; Read the footnote and it says something else.</p><p>Sonnet 5 uses the same tokenizer as Opus 4.7, which encodes the same text into <a href="https://www.anthropic.com/news/claude-sonnet-5">roughly 1.0&#8211;1.35x more tokens</a> than pre-Opus-4.7 models, depending on content type. List price is per token. So at the standard September rate, identical workloads can cost up to 35% more than they did on Sonnet 4.6 &#8212; same sticker, more tokens on the meter. The introductory pricing is doing real work here: the 33% input discount roughly offsets the tokenizer inflation through the end of August, which is almost certainly the point. Come September 1, the offset disappears and the effective increase shows up on the invoice.</p><p>The practical move is dull and necessary. Run a representative slice of your actual workload through Sonnet 5 and measure token consumption directly. Do not assume cost neutrality from the matching list price. The teams that got burned on the 4.6-to-4.7 transition were the ones who read the sticker and skipped the meter.</p><h2>Where it sits in the market</h2><p>The framing that fits the launch is that the workhorse-tier fight has moved off &#8220;which model is smartest&#8221; and onto &#8220;how cheaply and reliably does it run without a human watching.&#8221; That is the right frame for anyone shipping coding agents, where margin lives or dies on the per-task cost of the driver model.</p><p>Anthropic positions Sonnet 5 as cheaper than OpenAI&#8217;s GPT-5.5 and Google&#8217;s Gemini 3.1 Pro at introductory rates, and more expensive than Gemini 3.5 Flash, which holds the budget slot. I&#8217;d treat the competitor pricing as directional rather than precise &#8212; those comparisons come from launch coverage, not from cross-checked primary pricing pages, and competitor list prices move. The shape is more reliable than the digits: Sonnet 5 is priced to undercut the premium workhorses and to sit above the bargain tier, which is exactly where Anthropic wants the default coding driver to land.</p><p>The use case Anthropic names is the one this audience will actually hit: high-volume agent loops where Opus pricing compounds. CI review bots. Test generation. Batch transforms. Multi-step autonomous workflows that run for a while without supervision. Daniel Shepard at Zapier told <a href="https://techcrunch.com/2026/06/30/anthropic-launches-claude-sonnet-5-as-a-cheaper-way-to-run-agents/">TechCrunch</a> that a two-part automation which &#8220;used to stall halfway&#8221; now finishes end to end. A single data point, and a vendor-friendly one, but it points at the right capability: completion of long autonomous chains, not raw single-shot smarts.</p><h2>What this means for agentic coding</h2><p>The interesting architecture is the harness story. Default-high effort plus interleaved reasoning means the model arrives already configured for the agent pattern most teams hand-build: think, act, observe the result, reflect, act again. You do not prompt-engineer your way to a reflective agent anymore. It is the out-of-box behavior. For harness authors, that shifts the work &#8212; less coaxing the model into reasoning between steps, more managing the effort dial so a 12-file rename does not quietly run at <code>high</code> and burn tokens it never needed.</p><p>Watch that dial. <code>effort</code> defaults to <code>high</code>, and high effort spends more tokens than the job often warrants. The same lesson from the Opus 4.8 cycle applies: the cost surprises come from leaving the reasoning budget maxed on work that did not need it. Drop to <code>medium</code> or <code>low</code> for mechanical tasks. Reserve <code>high</code> for the hard ones.</p><p>And the 1M context window at Sonnet pricing is the underrated piece. Repo-level reasoning &#8212; cross-file refactors, full-codebase audits &#8212; without chunking, on the model you were already going to run for volume.</p><h2>The ceiling moved: Fable 5 is back</h2><p>Then there is the ceiling, and in the days around this launch it moved. The most capable public Claude model most teams could actually run was Opus 4.8, at roughly 88.6% SWE-bench Verified on the <a href="https://www.morphllm.com/claude-benchmarks">Morph leaderboard</a>. Fable 5 sits higher on that same board, in the mid-90s, though that figure is a third-party read and Anthropic has published no Verified score of its own. What moved here was less capability than access: at Sonnet 5&#8217;s June 30 launch, Fable was dark. Anthropic had <a href="https://www.anthropic.com/news/fable-mythos-access">suspended Fable 5 and Mythos 5</a> on June 12 to comply with a U.S. export-control order, and with no way to verify user nationality in real time, it pulled both models for all users.</p><p>That reversed a day later. On June 30 the Commerce Department <a href="https://www.cnbc.com/2026/06/30/anthropic-says-trump-admin-has-lifted-export-controls-on-claude-fable-5-and-mythos-5.html">lifted the order</a>, and on July 1 Anthropic <a href="https://www.anthropic.com/news/redeploying-fable-5">redeployed Fable 5 globally</a> across the Claude Platform, Claude.ai, Claude Code, and Cowork. As I write this, my Claude Code <code>/model</code> picker offers Fable 5, and I&#8217;ve set it as my default for new sessions. So the practical ceiling is no longer Opus. It is Fable &#8212; with two asterisks.</p><p>The first is access and price. Through July 7, Fable 5 counts against up to 50% of weekly usage limits on Pro, Max, Team, and select Enterprise plans; after that it shifts to usage credits, and cloud-provider access on AWS, Google Cloud, and Microsoft Foundry is still being re-enabled in phases. Per token it prices well above the Opus tier: Anthropic&#8217;s model docs list it at $10/$50 per MTok, double Opus 4.8&#8217;s $5/$25, and the new tokenizer encodes the same text into more tokens again, so the effective gap is wider than the sticker. This is not the model you point at bulk agent traffic. It is the one you reach for on the problems that stall everything below it.</p><p>The second asterisk is the reason it came back at all, and it lands squarely in coding work. The suspension traced to a <a href="https://thehackernews.com/2026/07/anthropic-restores-claude-fable-5-after.html">report from Amazon researchers</a> who found a prompt that got Fable 5 to identify software vulnerabilities and start describing how one could be exploited, before its guardrails blocked the attempt from reaching a working exploit. Anthropic&#8217;s fix was not to weaken the model but to retrain the safety classifier sitting in front of it, and the new one <a href="https://www.anthropic.com/news/redeploying-fable-5">blocks that specific technique in more than 99% of cases</a>. When the classifier fires, the request doesn&#8217;t error. It <a href="https://support.claude.com/en/articles/15363606-why-claude-switched-models-in-your-conversation-with-fable-5">reroutes to Opus 4.8 in the same session</a>, re-run and labeled with the model that actually answered. The documented trigger categories are offensive cybersecurity work (building exploits, malware, or attack tooling), plus most biology and chemistry, distillation attacks on Fable itself, and frontier-model development.</p><p>Here is where it gets concrete. Ask Fable 5 to write exploit code against a security vulnerability and you can watch it hand the task down to Opus 4.8 mid-session, a quieter, older model finishing what the newer one declined. For defensive security work that reversion is a real cost, not a hypothetical. Anthropic is candid that the tighter cyber filter routes more benign coding and debugging requests to Opus than teams would like, and developers have already <a href="https://github.com/anthropics/claude-code/issues/67305">reported the classifier over-firing</a> on routine defensive-security work, auto-switching to Opus on tasks like CVE triage. The billing follows the block: a request stopped on input is charged at Opus rates; one stopped midstream bills Fable rates for the tokens already produced, then Opus for the rest.</p><h2>Should you switch your default driver?</h2><p>For most coding-agent work, yes &#8212; but measure first, and mind the calendar.</p><p><strong>Switch now</strong> if you are running Opus 4.8 on tasks that do not strictly need it. The capability floor rose; a real share of Opus traffic will run acceptably on Sonnet 5 at a meaningful discount, and the intro pricing through August 31 makes the test cheap. This is the clearest win in the release.</p><p><strong>Switch now, with care</strong> if you are upgrading from Sonnet 4.6. You get better agentic coding, interleaved reasoning by default, lower hallucination and sycophancy. But grep for explicit <code>thinking</code> budgets first &#8212; they will 400 &#8212; and run your token measurement before September 1, when the tokenizer tax stops being masked by the intro discount.</p><p><strong>Wait, or stay put</strong> if you are on Priority Tier with Sonnet 4.6 &#8212; it is not available on Sonnet 5 at launch, so the choice is staying on 4.6 or jumping to Opus 4.8. And if your cost model is tight and unmeasured, the matching list price is a trap; spend the two weeks measuring before you commit budget to it.</p><p>There is now a fourth move the launch-day framing didn&#8217;t include: <strong>reach past Sonnet entirely.</strong> With Fable 5 back in Claude Code as of July 1, the hardest problems that Sonnet 5 and even Opus 4.8 stall on have a home again, at a price that keeps it off your bulk traffic and with a security governor that bounces exploit work down to Opus. For volume, Sonnet 5 is the driver. For the few tasks that justify the top of the lineup, the top of the lineup is reachable again.</p><p>Anthropic built Sonnet 5 to be the default driver model for the agent era, and on the architecture, it earns the slot. Adaptive thinking with interleaved reasoning is the correct shape for a coding agent, and shipping it as the default behavior removes work that harness authors used to do by hand. The asterisk is the invoice. The list price tells you one thing; the tokenizer tells you another. For the next two months, the introductory rate hides the difference. After that, the teams that measured will know what they are paying for, and the teams that read the sticker will get a surprise in their September bill.</p><div><hr></div><p><em>Bob Matsuoka is CTO of <a href="https://www.duettocloud.com/">Duetto</a> and also writes about AI business at <a href="https://www.linkedin.com/newsletters/ai-power-ranking-7345782916301418496/">AI Power Ranking</a>.</em></p><p><strong>Related reading:</strong></p><ul><li><p><a href="https://hyperdev.matsuoka.com/p/i-tracked-every-token">I Tracked Every Token</a> &#8212; What a $1.07 bug fix reveals about AI coding economics, and why per-token pricing hides the real bill.</p></li><li><p><a href="https://hyperdev.matsuoka.com/p/the-agent-unlock-why-opus-45-changed">The Agent Unlock: Why Opus 4.5 Changed How I Work</a> &#8212; When a top-tier model crossed the line into autonomous coding that holds up under real work.</p></li><li><p><a href="https://hyperdev.matsuoka.com/p/article-opus-46-and-agent-teams">Breaking: Opus 4.6 and Agent Teams</a> &#8212; A model release read for what it changes in day-to-day agent workflows, not just the benchmark chart.</p></li><li><p><a href="https://aipowerranking.com/">AI Power Ranking</a> &#8212; Tool comparisons and benchmarks for AI practitioners</p></li><li><p><a href="https://www.linkedin.com/newsletters/ai-power-ranking-7345782916301418496/">LinkedIn Newsletter</a> &#8212; Strategic AI insights for CTOs and engineering leaders</p></li></ul><p>[1]: Complicating &#8220;today&#8221;: with Fable 5 back as a Claude Code option (and, for some of us, the new default for hard sessions), the switch question isn&#8217;t only Sonnet-5-or-not. It&#8217;s which tier each task belongs to, Fable included. See &#8220;The ceiling moved: Fable 5 is back&#8221; below.</p>]]></content:encoded></item><item><title><![CDATA[The Year of the Fire Horse - Part 3]]></title><description><![CDATA[The Governance Reckoning]]></description><link>https://hyperdev.matsuoka.com/p/the-year-of-the-fire-horse-part-3</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/the-year-of-the-fire-horse-part-3</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Fri, 26 Jun 2026 12:30:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lymR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lymR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lymR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png 424w, https://substackcdn.com/image/fetch/$s_!lymR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png 848w, https://substackcdn.com/image/fetch/$s_!lymR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png 1272w, https://substackcdn.com/image/fetch/$s_!lymR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lymR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png" width="984" height="827" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:827,&quot;width&quot;:984,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1327171,&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/202643419?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1577d876-af68-4b84-be53-1f94548704f8_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_!lymR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png 424w, https://substackcdn.com/image/fetch/$s_!lymR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png 848w, https://substackcdn.com/image/fetch/$s_!lymR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.png 1272w, https://substackcdn.com/image/fetch/$s_!lymR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3a2d9f-6a1c-46af-8e62-c4061ace8776_984x827.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>This is Part 3 of a three-part read on the Fire Horse year in AI coding, the payoff the whole series was building toward. Parts 1 and 2 walked twelve coding models across the twelve animals of the zodiac and two hemispheres &#8212; the Chinese front-runners and the $60 billion SpaceX-buys-Cursor deal in <a href="https://open.substack.com/pub/hyperdev/p/the-year-of-the-fire-horse?r=nff5&amp;utm_campaign=post-expanded-share&amp;utm_medium=web">Part 1</a>, the Western incumbents and the collapse of the Western open flank in <a href="https://open.substack.com/pub/hyperdev/p/the-year-of-the-fire-horse-part-2?r=nff5&amp;utm_campaign=post-expanded-share&amp;utm_medium=web">Part 2</a>. Now the question all of it was built around: who controls the inference, what they do with your prompts, and whether the answer can change without your consent.</p><h2>TL;DR</h2><ul><li><p>The community read is convergence with a ceiling &#8212; and the real endorsement is behavioral: Chinese models reached ~61% of top-10 token consumption on OpenRouter in one February week, with DeepSeek alone near 17.6%.</p></li><li><p>For enterprise, the practical data-safety ranking is: self-host &gt; AWS Bedrock / Azure AI Foundry &gt; US inference hosts &gt; OpenRouter ZDR &gt; direct Chinese API.</p></li><li><p>China&#8217;s National Intelligence Law means a written no-train promise from a China-domiciled vendor is not a clean answer for regulated work, whatever the privacy policy says.</p></li><li><p>CrowdStrike measured DeepSeek-R1 producing insecure code at a ~50% higher rate on politically sensitive prompts &#8212; and the bias persisted when running the open weights locally. Self-hosting is not the escape hatch you assume.</p></li><li><p>Provenance was a proxy. The DeepSeek risk and the SpaceX-Cursor risk are the same underlying exposure, and the Cursor deal makes the flag-over-the-lab heuristic useless.</p></li></ul><h2>What developers are actually saying</h2><p>Cut through the benchmarks and the community lands on one sentence: convergence with a ceiling.</p><p>The gap has collapsed for the bulk of coding work. For autocomplete, summarization, refactoring known code, and the high-volume long tail, Chinese open-weight models are competitive and dramatically cheaper. Where they still lose is the hardest agentic, multi-file, novel-algorithm work &#8212; the jobs where finishing is the whole point. Every hands-on test in my research told the same story from a different angle, and the animal sections in Parts 1 and 2 carry the specifics: Kimi&#8217;s &#8220;could not put it all together,&#8221; Flash&#8217;s confusion off-script, the Dog that finished when the Monkey could not.</p><p>Two things stand out about the endorsements. No prominent named engineer &#8212; no Karpathy, no Willison &#8212; has publicly endorsed a Chinese model for production coding; the praise is essentially all pseudonymous Hacker News handles. But the real endorsement is behavioral. On OpenRouter, Chinese models reached roughly 61% of token consumption among the top-10 models in one week this past February (around 45&#8211;51% of platform-wide tokens by April), with DeepSeek alone at about 17.6% top-10 share &#8212; reportedly exceeding Google and OpenAI combined in one snapshot. One caveat on the volume story: the Chinese models dominate tokens, not revenue. Anthropic accounts for roughly 12% of OpenRouter tokens but about 46% of its revenue, which is the cheap-volume-versus-paid-difficulty split showing up in the billing. Developers are voting with their tokens even when they will not put their name on a blog post.</p><p>The behavior that dominates is routing. Use the cheap or local model for the long tail; escalate to Claude or GPT for high-stakes correctness and novel work. That is not a compromise people settled for. It is the rational architecture, and it is what most serious teams already run.</p><h2>The enterprise question</h2><p>Here the conversation stops being about capability and starts being about who can read your prompts. The three Chinese vendors are not equivalent, and the differences are material.</p><p>DeepSeek is the hard case. Its terms of service permit training on user-submitted data by default. There is no zero-data-retention option. Data is processed in China. No SOC 2, no HIPAA BAA. Its own privacy policy describes collecting prompts, chat history, uploaded files, voice, device and OS details, IP, device identifiers, crash logs, and &#8212; the line that stops procurement officers cold &#8212; &#8220;keystroke patterns or rhythms,&#8221; stored on &#8220;secure servers located in the People&#8217;s Republic of China,&#8221; retained &#8220;as long as needed,&#8221; which analysts read as indefinite.</p><p>Moonshot (Kimi) is better but not clean. Its policy permits using API content to &#8220;develop and improve the services&#8221; &#8212; no ZDR &#8212; though it hosts in Singapore. Singapore residency is a real improvement over data-in-China, but Moonshot&#8217;s core operations are Beijing-based, which matters for the legal point below.</p><p>Alibaba (Qwen) has the strongest commitment of the three. Alibaba Cloud Model Studio states explicitly that it &#8220;will never use your data for model training,&#8221; offers multiple regions including US and EU, and Alibaba carries institutional accountability the others lack &#8212; Hong Kong-listed, with an international regulatory track record.</p><p>The caveat that overrides all three privacy policies is China&#8217;s National Intelligence Law, which requires Chinese companies to &#8220;support, assist and cooperate&#8221; with state intelligence work regardless of what their terms say. A written no-train commitment from a China-domiciled vendor is subject to that law. For regulated industries, the only clean answers are self-hosting open weights or routing through Western-managed infrastructure where the inference never touches a Chinese-operated service.</p><p>Which gives a practical ranking. From safest to least:</p><ol><li><p><strong>Self-host the open weights.</strong> Bedrock, vLLM, Ollama, your own GPUs. The weights are open; the inference is yours. (One asterisk, in the security section below.)</p></li><li><p><strong>AWS Bedrock or Azure AI Foundry.</strong> DeepSeek and Qwen run in the provider&#8217;s environment, data stays in your selected region, no interaction with Chinese-operated services. AWS contractually guarantees no training on your data; Azure runs Qwen in your tenancy.</p></li><li><p><strong>US inference hosts.</strong> Together AI, Fireworks AI, DeepInfra run the open weights on US infrastructure.</p></li><li><p><strong>OpenRouter with ZDR.</strong> OpenRouter supports zero-data-retention per-account, per-key, or per-request (<code>"zdr": true</code>), but does not enumerate which specific Chinese-model endpoints honor it, and the National Intelligence Law caveat still applies upstream.</p></li><li><p><strong>Direct Chinese API.</strong> Convenient, cheapest to wire up, and the option you cannot defend in a regulated procurement review.</p></li></ol><p>&#8220;It&#8217;s complicated&#8221; is a non-answer. The ranking is the answer.</p><h2>A cautionary security finding</h2><p>One result deserves its own section because it survives self-hosting, which most people assume is the escape hatch.</p><p>CrowdStrike tested DeepSeek-R1 and found it produced insecure code at a higher rate on politically sensitive prompts. The baseline vulnerable-code rate was about 19%; it rose to roughly 27% when prompts contained CCP-sensitive terms &#8212; a relative increase of about 50% off that baseline, not a 50-point jump. CrowdStrike frames this as emergent misalignment, not a deliberate backdoor, so read it as a behavioral artifact rather than intent. The operational detail: the bias persisted when running the open weights locally. Self-hosting does not fix alignment baked into the weights. You can air-gap the model and the bias rides along.</p><p>Booz Allen found a related pattern: three of four Chinese models produced more security flaws when the user was described as US government, with Qwen3-Coder adding roughly 130% more vulnerabilities under a government persona. The authors stop short of alleging deliberate backdoors, and you should too &#8212; the mechanism is unproven. But the measured effect is real.</p><p>The counterpoint keeps this from being a blanket indictment. In one test, Kimi K2.5 posted the lowest aggregate vulnerability score of the group, below the US comparison model. The Monkey&#8217;s brilliance shows here too. The concern is not uniform. It is model-specific, prompt-specific, and measurable &#8212; which means it is something you test for, not something you assume.</p><p>For completeness on the public record: South Korea&#8217;s PIPC found in April 2025 that DeepSeek transferred user prompts and device data to a ByteDance-affiliated cloud without consent. Wiz found a publicly exposed, unauthenticated DeepSeek database in January 2025 leaking over a million log lines including chat history and API keys (secured quickly after disclosure). Government-device bans exist in Italy, Australia, Taiwan, South Korea, the Netherlands, the Czech Republic, Germany, India, and roughly 17 US states. But note what does not exist: a nationwide US API ban. &#8220;DeepSeek is banned in the US&#8221; overstates the situation. The Congressional pressure is real &#8212; the House Select Committee sent formal letters to Airbnb and Cursor in April 2025 over Chinese-model data concerns &#8212; but it is pressure, not prohibition.</p><h2>The flag was never the variable</h2><p>Now back to the governance question, with the whole zodiac in hand.</p><p>Every concern in the enterprise section comes down to control of the model layer. Who controls inference. What they do with your prompts. Whether a no-train promise is durable. Whether the governance can change without your consent. None of it is intrinsically about China &#8212; China is the jurisdiction where the control question has the sharpest legal teeth, because of the National Intelligence Law.</p><p>The Cursor acquisition raises the same question from the other direction. Read the enterprise objection to DeepSeek and the enterprise objection to a SpaceX-owned Cursor side by side and they rhyme. Both are: a single owner now controls the layer that sees all your code, the no-train and retention guarantees can be revised by that owner, and you have limited visibility into what happens upstream. The DeepSeek version has a foreign-intelligence-law wrapper. The Cursor version has a change-of-control wrapper. The underlying exposure &#8212; your IP flowing through infrastructure you do not control, governed by terms the owner can change &#8212; is the same exposure. Beijing on one side, Boca Chica on the other. That is where Sanchit Vir Gogia&#8217;s line from Part 1, Cursor sitting &#8220;close to the intellectual-property bloodstream,&#8221; stops being an analyst soundbite and becomes the whole argument.</p><p>That symmetry is what the zodiac quietly demonstrated. A Chinese frame walked through twelve animals and landed on Anthropic, OpenAI, Google, Meta, and Mistral as readily as on Moonshot, DeepSeek, Alibaba, and Zhipu. The frame fit the whole field because the flag over the lab was never the real variable. Provenance was a proxy for the question that matters &#8212; who controls the inference and what they are permitted to do with it &#8212; and the Cursor deal makes that proxy useless. You can no longer reason about model risk by asking which flag flies over the lab.</p><h2>Practical routing guide</h2><p>Strip out the geopolitics and a workable default emerges. This is roughly how I would set up a team today, animals included where they help. (The capability and access details behind each label live in Parts 1 and 2.)</p><p><strong>The long tail &#8212; autocomplete, summarization, classification, tagging, structured extraction, refactoring code you already understand.</strong> This is 80&#8211;90% of volume, and it belongs to the Rabbit and the Rat. Use the cheapest capable model. Gemini 3 Flash if you are already in Google&#8217;s ecosystem. A self-hosted Qwen or Kimi if cost and data residency both matter. Gemma locally for pure structured-text utility, Gemma 3n on the edge, Codestral for fill-in-the-middle tab completion. The quality difference against a frontier model on this work is hard to detect, and the cost difference is 5&#8211;20x.</p><p><strong>Routine multi-file work in a known codebase.</strong> Composer 2.5 as Cursor&#8217;s default &#8212; the Snake &#8212; or DeepSeek V4 / Kimi K2.6 through a vetted inference path. Cheap, capable, fine when the task stays on the rails.</p><p><strong>High-stakes correctness, novel algorithms, off-script agentic work, deep architecture.</strong> This is the Dog and the Tiger. Claude Opus or GPT-5.5. This is where &#8220;Kimi just could not put it all together&#8221; and &#8220;Flash gets confused when a task goes off-script&#8221; stop being quotes and start being your Tuesday. Pay for the model that finishes.</p><p><strong>Regulated or IP-sensitive work.</strong> Ignore the leaderboard and start from the data-safety ranking above. Self-hosted weights or Bedrock/Azure first; provenance second. If EU residency is the binding constraint, the Rat&#8217;s sovereignty pitch (Mistral on-prem, EU-only) is the one place provenance actually buys you something &#8212; though weigh it against a free self-hosted Qwen. And run the CrowdStrike test yourself &#8212; generate security-relevant code with and without sensitive context and diff the output before you trust any model in this tier, Chinese or otherwise.</p><p>The meta-point: the right answer is almost never one model. It is a routing policy. The teams getting real value here are not picking a winner. They are matching each class of task to the cheapest model that clears the bar for that task, and escalating only when the work demands it.</p><h2>Where this leaves us</h2><p>A Fire Horse year is supposed to be bold and unruly, and the field obliged. The Chinese models have largely arrived in the high-volume, low-stakes parts of your workflow &#8212; cheaper, open, and good enough that you would struggle to tell the difference. On the hardest work, the Western frontier still holds a real lead, and the cost of getting that work wrong is exactly where the price premium earns out. The clearest casualty of the year is the Western open-weight story: Meta and Mistral built the movement and got passed on code, and the open coding lead now sits with the Chinese labs.</p><p>But the durable lesson of this year is not about China. It is that the model layer inside your IDE is a governance surface, and ownership of that surface is now in motion &#8212; a $60 billion acquisition on one side, a foreign-intelligence statute on the other, and the same question underneath both. Where does my code go, and who can read it, and can the answer change without my consent? The zodiac was a device, but it made the point cleanly enough: twelve animals, two hemispheres, one set of questions. Provenance was the comfortable proxy. After this year, the proxy is gone. You have to ask the real question now, and you have to ask it of everyone &#8212; including the editor you have trusted by default.</p><div><hr></div><p><em>Bob Matsuoka is CTO of <a href="https://www.duettocloud.com/">Duetto</a> and writes about AI-powered engineering at <a href="https://hyperdev.substack.com/">HyperDev</a>.</em></p><p><strong>Related reading:</strong></p><ul><li><p><a href="https://aipowerranking.com/">AI Power Ranking</a> &#8212; Tool comparisons and benchmarks for AI practitioners</p></li><li><p><a href="https://www.linkedin.com/newsletters/ai-power-ranking-7345782916301418496/">LinkedIn Newsletter</a> &#8212; Strategic AI insights for CTOs and engineering leaders</p></li></ul>]]></content:encoded></item><item><title><![CDATA[The Year of the Fire Horse - Part 2]]></title><description><![CDATA[The Western Field]]></description><link>https://hyperdev.matsuoka.com/p/the-year-of-the-fire-horse-part-2</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/the-year-of-the-fire-horse-part-2</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Wed, 24 Jun 2026 11:31:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!F7AY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.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_!F7AY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F7AY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.png 424w, https://substackcdn.com/image/fetch/$s_!F7AY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.png 848w, https://substackcdn.com/image/fetch/$s_!F7AY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.png 1272w, https://substackcdn.com/image/fetch/$s_!F7AY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F7AY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.png" width="930" height="844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:844,&quot;width&quot;:930,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1290325,&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/202641480?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd4563ac-d130-4220-a6f3-3a3ea48ed26d_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_!F7AY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.png 424w, https://substackcdn.com/image/fetch/$s_!F7AY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.png 848w, https://substackcdn.com/image/fetch/$s_!F7AY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.png 1272w, https://substackcdn.com/image/fetch/$s_!F7AY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0200d8f8-fa8a-497a-85b8-1c910d94812a_930x844.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>This is Part 2 of a three-part read on the Fire Horse year in AI coding. <a href="https://open.substack.com/pub/hyperdev/p/the-year-of-the-fire-horse">Part 1</a> set up the conceit &#8212; twelve coding models mapped to the twelve animals of the Chinese zodiac, in a year (&#19993;&#21320;, the once-in-sixty Fire Horse) that earned its reputation for upheaval &#8212; and walked through the Chinese front-runners and the $60 billion SpaceX-buys-Cursor deal that reframed the whole field. (See Part 1 for the benchmark caveats; every version number and vendor-versus-independent distinction below assumes that three-question rule.)</p><p>This part is the Western field, and it carries its own argument. The Western frontier still leads the hardest work, the off-script agentic jobs where finishing is the whole point. But the Western open-weight story collapsed. Meta and Mistral built the open movement, and both got outrun on code by the Chinese open models. The open coding lead crossed an ocean, and that is the thread this part follows to its end.</p><h2>TL;DR</h2><ul><li><p>The Western frontier still leads the hardest agentic work, and on that tier the price premium earns out &#8212; the Sharda &#8220;$200 beat the $30&#8221; verdict lands here.</p></li><li><p>Gemini 3 Flash dethroned its own bigger sibling on coding (78% vs 76.2% SWE-bench Verified). The &#8220;cheap weak Flash&#8221; framing is obsolete; watch the citation error that attributes the 78% to the old 2.5 Flash.</p></li><li><p>Gemma 4 jumped roughly 3x on coding in one generation (LiveCodeBench v6 80.0% vs Gemma 3 27B&#8217;s 29.1%), and Gemma 3n runs multimodal in 2&#8211;3GB on the edge.</p></li><li><p>Llama stalled &#8212; stale lineup, a closed pivot (Muse Spark), 15.6% Aider against ~5x-higher Chinese open models, and Yann LeCun saying the Llama 4 results &#8220;were fudged a little bit.&#8221;</p></li><li><p>Mistral sells sovereignty more than raw capability now, and the EU-data edge is narrowing. Set Llama and Mistral side by side and the open coding lead has crossed an ocean.</p></li></ul><h2>The animals that hold the line</h2><p>The order here runs roughly down a visibility-and-strength gradient: the frontier reasoners first, then the local family, then the two foundational Western open-weight players that built the movement and got passed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ie0o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ie0o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png 424w, https://substackcdn.com/image/fetch/$s_!ie0o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png 848w, https://substackcdn.com/image/fetch/$s_!ie0o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png 1272w, https://substackcdn.com/image/fetch/$s_!ie0o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ie0o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png" width="1119" height="909" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:909,&quot;width&quot;:1119,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2085660,&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;:false,&quot;internalRedirect&quot;:&quot;https://hyperdev.matsuoka.com/i/202641480?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b557c19-7e3e-4d7e-9865-ec015c40aca0_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_!ie0o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png 424w, https://substackcdn.com/image/fetch/$s_!ie0o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png 848w, https://substackcdn.com/image/fetch/$s_!ie0o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png 1272w, https://substackcdn.com/image/fetch/$s_!ie0o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa41a12b1-f4e1-482e-8562-eae3be93a9a7_1119x909.png 1456w" sizes="100vw"></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">Dog &#8212; Claude</figcaption></figure></div><h3>Dog &#8212; Claude (Anthropic)</h3><p>The dog is loyal, faithful, and protective, the one that finishes the job and guards the gate. Claude Opus is the model developers reach for when correctness matters and the one that holds the line on guardrails. Repeatedly in the research, it is also the one that finished.</p><p>The capability story is about consistency under pressure. DataScienceDojo ran Kimi K2.6 against Claude Sonnet 4.6 and found Kimi capable but Claude more consistent &#8212; Claude added a DELETE endpoint nobody asked for, flagged a Redis warning, and applied type-level validation unprompted. Composio&#8217;s harder test landed on the line Part 1 first quoted from the Monkey&#8217;s side: &#8220;Opus was expensive, but it finished. Kimi just could not put it all together once the task got real.&#8221;</p><p>And the GLM thread from Part 1 closes here, on the economics. Ashish Sharda&#8217;s much-quoted &#8220;I Tested GLM-4.6 for 2 Weeks and Went Back to Claude&#8221; landed on the argument against pure cost optimization: &#8220;The $200/month AI model beat the $30/month alternative. Sometimes expensive is worth it.&#8221; That was an older GLM, and the framing has aged &#8212; GLM-5.2 now posts the top open-weight index score in the field and sits #2 on Code Arena, so the cheaper model is no longer a lightweight you outgrow. The point that survives is narrower and still holds: on the hardest agentic work, Opus is the one that finishes, and the developers pairing GLM for volume with Claude for the hard problems are routing to exactly that tier. The dog is expensive to keep. It also guards the thing you cannot afford to lose.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sTEb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sTEb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.png 424w, https://substackcdn.com/image/fetch/$s_!sTEb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.png 848w, https://substackcdn.com/image/fetch/$s_!sTEb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.png 1272w, https://substackcdn.com/image/fetch/$s_!sTEb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sTEb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.png" width="1014" height="707" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:707,&quot;width&quot;:1014,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1256783,&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/202641480?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfce29df-250c-43cb-8ee1-8dbcda12fdfc_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_!sTEb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.png 424w, https://substackcdn.com/image/fetch/$s_!sTEb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.png 848w, https://substackcdn.com/image/fetch/$s_!sTEb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.png 1272w, https://substackcdn.com/image/fetch/$s_!sTEb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f353b5-673f-4c02-a371-1db3ccd952f3_1014x707.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">Tiger &#8212; GPT</figcaption></figure></div><h3>Tiger &#8212; GPT (OpenAI)</h3><p>The tiger is bold, fierce, and competitive, a predator that leads from the front. GPT-5.5 leads the field on terminal work, topping Terminal-Bench 2.0 by 13 points.</p><p>The tiger does not appear much in the open-weight cost debate because it is not playing that game. Its claim is one hard surface: the command line, where an agent has to chain real operations against a real environment and not lose the thread. Cursor&#8217;s routing guidance sends shell-heavy terminal work to GPT-5.5 for exactly this reason. On its territory, it leads.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RZK6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RZK6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.png 424w, https://substackcdn.com/image/fetch/$s_!RZK6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.png 848w, https://substackcdn.com/image/fetch/$s_!RZK6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.png 1272w, https://substackcdn.com/image/fetch/$s_!RZK6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RZK6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.png" width="1000" height="865" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:865,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1487293,&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/202641480?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d99567e-6616-4b51-8d13-662a03fe31f5_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_!RZK6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.png 424w, https://substackcdn.com/image/fetch/$s_!RZK6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.png 848w, https://substackcdn.com/image/fetch/$s_!RZK6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.png 1272w, https://substackcdn.com/image/fetch/$s_!RZK6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68db870e-04c0-45b7-81ed-e98e7d05a117_1000x865.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">Rooster &#8212; Gemini...</figcaption></figure></div><h3>Rooster &#8212; Gemini (Google)</h3><p>The rooster is showy, observant, punctual, and loud at dawn. The whole Gemini family struts in fast and crowing, and the loudest crow is internal: the lean Gemini 3 Flash dethroned its own bigger sibling, Gemini 3 Pro, on coding. The framing most people carry for Flash is obsolete. &#8220;The cheap, weak sibling&#8221; stopped being true at the end of last year.</p><p>Gemini 3 Flash shipped December 17, 2025, and beat Gemini 3 Pro on coding: 78% SWE-bench Verified for Flash against 76.2% for Pro. The smaller, cheaper model won. That 78% figure is the source of a common citation error &#8212; people attribute it to Gemini 2.5 Flash, which is the previous generation. The number belongs to the 3 Flash family. If you see &#8220;Flash beats Pro at 78%,&#8221; confirm which Flash before you repeat it.</p><p>The current Flash earns the upset. Gemini 3 Flash runs roughly 4x cheaper than 3 Pro (around $0.50/M input), about 3x faster (218 tokens/sec), scores 90.4% on GPQA Diamond, and Cursor, Cline, JetBrains AI, and Gemini CLI adopted it immediately. The latest, Gemini 3.5 Flash, beats Gemini 3.1 Pro on Terminal-Bench 2.1 at 76.2% and is described as Google&#8217;s strongest agentic model.</p><p>None of which retires Pro. The developer consensus is hybrid routing, not replacement. Flash handles 80&#8211;90% of the work &#8212; summarization, classification, tagging, structured pipelines, autocomplete &#8212; indistinguishably from Pro. Pro still earns its keep on architectural reasoning, complex multi-file refactors, novel algorithms, and the off-script agentic tasks where, as one developer put it, &#8220;Flash gets confused when a task goes off-script.&#8221; Cursor&#8217;s routing still sends deep-architecture and long-context work to the heavyweight reasoning tier, and Pro is the Gemini family&#8217;s answer there. The rooster reasons deep in one body and runs fast in the other, and that &#8220;off-script&#8221; line could be the epigraph for this entire field.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QpQi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QpQi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.png 424w, https://substackcdn.com/image/fetch/$s_!QpQi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.png 848w, https://substackcdn.com/image/fetch/$s_!QpQi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.png 1272w, https://substackcdn.com/image/fetch/$s_!QpQi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QpQi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.png" width="1013" height="678" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:678,&quot;width&quot;:1013,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1429504,&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/202641480?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc2fd24-808c-4d36-b228-62d019273bfc_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_!QpQi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.png 424w, https://substackcdn.com/image/fetch/$s_!QpQi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.png 848w, https://substackcdn.com/image/fetch/$s_!QpQi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.png 1272w, https://substackcdn.com/image/fetch/$s_!QpQi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac22d491-ca60-4027-a9f9-8e99c81a2f92_1013x678.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">Rabbit &#8212; Gemma</figcaption></figure></div><h3> Rabbit &#8212; Gemma (Google&#8217;s open-weight family)</h3><p>The rabbit is gentle, quiet, and home-bound, and Gemma is Google&#8217;s open-weight family &#8212; the calm local helpers that never pretended to be frontier coders, then quietly got 3x better at code in one generation. The Gemma arc runs across three things: the workhorse, the leap, and the tiny one that runs where nothing else will.</p><p>Start with the leap, because it dates everyone&#8217;s article. Gemma 3 is previous-generation. Gemma 4 landed April 2, 2026 (up to 31B dense plus a 26B MoE) under a full Apache 2.0 license, and the jump is large. On LiveCodeBench v6, Gemma 4 31B reportedly scores 80.0% against Gemma 3 27B&#8217;s 29.1% &#8212; roughly 3x better at coding in a single generation. That number is vendor and secondary-source, not yet on an independent leaderboard, so hold it loosely; the generational jump is the durable part.</p><p>Gemma 3 was the quiet local utility the family was known for, not a coder: agentic tool use on &#964;&#178;-bench Retail at 6.6%, and Fixstars&#8217; hands-on found hallucinations on technical detail and no capacity for complex agentic VSCode work. What Google marketed was the LMArena 1338 score, which beats GPT-4o and Claude 3.7 Sonnet &#8212; but that measures chat preference, not coding ability, and the two should not get conflated. None of which made Gemma 3 useless: it earned real adoption as a free local utility for JSON extraction, log parsing, and code explanation.</p><p>Then there is Gemma 3n, the tiny edge variant that fits where nothing else does. Clever architecture lets the full 5B and 8B models run in 2GB and 3GB of memory, multimodal across image, audio, video, and text. A privacy and offline play, not a coding rival. The rabbit wins by being where the others cannot go: edge devices, air-gapped machines, the laptop with no connection.</p><p>Access runs through Ollama (override the default 2048 num_ctx or context keeps falling out), llama.cpp, LM Studio, and Vertex AI. No native Cursor or Windsurf integration.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vmjT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vmjT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.png 424w, https://substackcdn.com/image/fetch/$s_!vmjT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.png 848w, https://substackcdn.com/image/fetch/$s_!vmjT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.png 1272w, https://substackcdn.com/image/fetch/$s_!vmjT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vmjT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.png" width="1009" height="524" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:524,&quot;width&quot;:1009,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1174349,&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/202641480?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd245705e-404e-439b-9afc-5ed638b29c5b_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_!vmjT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.png 424w, https://substackcdn.com/image/fetch/$s_!vmjT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.png 848w, https://substackcdn.com/image/fetch/$s_!vmjT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.png 1272w, https://substackcdn.com/image/fetch/$s_!vmjT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F849cadf0-55ac-4076-84f0-9c5249b5636e_1009x524.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">Pig &#8212; Llama</figcaption></figure></div><h3>Pig &#8212; Llama (Meta)</h3><p>The pig is the sign of abundance and generosity. That was Llama: Llama 2 and Llama 3 became the base layer for the open-weight movement, the foundation under thousands of derivatives, fine-tunes, and quantizations. Meta&#8217;s generosity built the ecosystem everyone else now competes in. The pig is also the sign of complacency, and the 2026 Llama story is a provider that got too well-fed to move while leaner animals ran past it on code.</p><p>The lineup went stale, then went closed. The Llama 4 models shipped in April 2025 and were never refreshed; the ~2T Behemoth was shelved as of May 2026; Muse Spark, released that same month, is Meta&#8217;s first closed-weight, API-only model, reportedly lagging on coding; and Llama 5 slipped to roughly 2027. Andrew Ng called the retreat from open weights &#8220;a significant loss for the developer community.&#8221; The biggest model in the family is stuck in the pen, and the family stopped being fully open.</p><p>The coding numbers are why none of that got forgiven. On Aider Polyglot, Llama 4 Maverick scores 15.6% &#8212; against Kimi K2 at 59.1%, Qwen3-235B at 59.6%, and DeepSeek-V3.2 Reasoner at 74.2%, roughly a 5x gap to the Chinese open models. And it doubles as the cleanest benchmark-trap example in the series, the callback to Part 1&#8217;s rule. For LMArena, Meta submitted a conversationality-tuned variant that ranked around #2; the actual public release ranked #32, and LMArena rebuked Meta for the swap. Yann LeCun, who left Meta in November, told the Financial Times in January 2026 that the Llama 4 results &#8220;were fudged a little bit.&#8221; One case study in why a vendor number means nothing until an independent leaderboard confirms it.</p><p>Llama still ships under the Llama Community License, not an OSI-approved one, and has been passed in both openness and downloads &#8212; DeepSeek (MIT) and Qwen (Apache 2.0) are more open, and Qwen overtook Llama as the most-downloaded open family on Hugging Face, with Chinese models holding four of the top five open-weight slots &#8212; GLM-5.2 now the #1 open-weight model on the Artificial Analysis index, ahead of Qwen, Kimi, and DeepSeek. The money did not buy the code scores: Meta runs the best-funded open lab there has ever been, and r/LocalLLaMA&#8217;s reaction to Llama 4&#8217;s coding was negative anyway. Access is everywhere, and no first-party coding default anywhere, because the scores do not earn one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZzRC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZzRC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.png 424w, https://substackcdn.com/image/fetch/$s_!ZzRC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.png 848w, https://substackcdn.com/image/fetch/$s_!ZzRC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.png 1272w, https://substackcdn.com/image/fetch/$s_!ZzRC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZzRC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.png" width="963" height="733" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:733,&quot;width&quot;:963,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1619260,&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/202641480?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3490c38-368f-4b09-9e04-08a13685c9c4_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_!ZzRC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.png 424w, https://substackcdn.com/image/fetch/$s_!ZzRC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.png 848w, https://substackcdn.com/image/fetch/$s_!ZzRC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.png 1272w, https://substackcdn.com/image/fetch/$s_!ZzRC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd70a7852-d737-4e5d-a2c2-e44b7c28acb5_963x733.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">Rat &#8212; Mistral</figcaption></figure></div><h3>Rat &#8212; Mistral (France)</h3><p>The rat is first in the zodiac, clever and nimble, the outsider that thrives in the cracks and punches above its weight. Mistral fits cleanly: the European challenger named for the cold, fast wind off the Alps, a fraction of OpenAI&#8217;s war chest, surviving against far larger labs by being efficient and by owning a niche nobody else can &#8212; sovereignty. It made its name with Mistral 7B in September 2023, which beat Llama 2 13B at half the parameter count. The rat against the pig, literally, on the first release.</p><p>The current flagship open model is Mistral Large 3 (December 2025), a 256K-context MoE under Apache 2.0 that Microsoft markets as &#8220;the strongest fully open model developed outside of China&#8221; &#8212; praise and an admission in one sentence.</p><p>On coding, keep two models straight, because the names invite a mistake. Codestral (<code>codestral-2508</code>) is a fill-in-the-middle specialist: its FIM pass@1 is around 95.3% (vendor-reported, class-leading), and it quietly wins the tab-completion slot in a lot of editors. Its Aider Polyglot score is only 11.1% (independent) &#8212; but that is a FIM model measured on an agentic task, the same &#8220;which benchmark, which task&#8221; trap the Llama section just walked through. The agentic model is Devstral, which scores 53.6&#8211;61.6% on SWE-bench Verified. Use Devstral, not Codestral, for SWE-bench comparisons &#8212; and ignore any source citing &#8220;Codestral 2 with Apache 2.0,&#8221; which does not exist.</p><p>The rat&#8217;s real moat is jurisdiction, not a leaderboard score. The pitch is sovereign AI: data never leaves the EU, GDPR and EU AI Act native. The French Ministry of Armed Forces signed a 2026&#8211;2030 framework; Macron told citizens to &#8220;download Le Chat rather than ChatGPT.&#8221;</p><p>Be fair about the limits. The EU AI Act edge is narrowing &#8212; Mistral, OpenAI, Anthropic, Google, and Microsoft all signed the EU AI Act Code of Practice in July 2025, while Meta declined and the Chinese firms did not, so the real divide is US/EU signatories versus China and Meta, not Mistral alone. And the skeptic&#8217;s line is hard to answer on capability: why pay Mistral on-prem when you could run Qwen for free?</p><h2>The coding lead crossed an ocean</h2><p>Set the Pig and the Rat side by side and the thesis arrives from a fresh direction. Llama and Mistral are the two foundational non-Chinese open-weight players, the labs that built the Western open movement, and both have been outrun on coding by the Chinese open models &#8212; the Dragon, Ox, Monkey, and Goat from Part 1. The Western open-weight story in 2026 is Meta retreating to a closed model and Mistral surviving on a sovereignty niche rather than on raw capability. The coding lead did not just shift between companies. It crossed an ocean.</p><p>That leaves the frontier still in Western hands for the hardest work, and the open flank fallen. Which sets up the question the whole series was built around. Twelve animals across two hemispheres, and underneath all of them, one question: who controls the inference, and can you trust it with your code? Part 3 is the governance reckoning.</p><div><hr></div><p><em>Bob Matsuoka is CTO of <a href="https://www.duettocloud.com/">Duetto</a> and writes about AI-powered engineering at <a href="https://hyperdev.substack.com/">HyperDev</a>.</em></p><p><strong>Related reading:</strong></p><ul><li><p><a href="https://aipowerranking.com/">AI Power Ranking</a> &#8212; Tool comparisons and benchmarks for AI practitioners</p></li><li><p><a href="https://www.linkedin.com/newsletters/ai-power-ranking-7345782916301418496/">LinkedIn Newsletter</a> &#8212; Strategic AI insights for CTOs and engineering leaders</p></li></ul>]]></content:encoded></item><item><title><![CDATA[The Year of the Fire Horse]]></title><description><![CDATA[Part 1 &#8212; The East Rises]]></description><link>https://hyperdev.matsuoka.com/p/the-year-of-the-fire-horse</link><guid isPermaLink="false">https://hyperdev.matsuoka.com/p/the-year-of-the-fire-horse</guid><dc:creator><![CDATA[Robert Matsuoka]]></dc:creator><pubDate>Mon, 22 Jun 2026 12:31:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3Ykr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.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_!3Ykr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Ykr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.png 424w, https://substackcdn.com/image/fetch/$s_!3Ykr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.png 848w, https://substackcdn.com/image/fetch/$s_!3Ykr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.png 1272w, https://substackcdn.com/image/fetch/$s_!3Ykr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Ykr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.png" width="902" height="854" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:854,&quot;width&quot;:902,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1270631,&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/202638142?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86f365c-1605-4fdb-a3d1-1b89fa339607_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_!3Ykr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.png 424w, https://substackcdn.com/image/fetch/$s_!3Ykr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.png 848w, https://substackcdn.com/image/fetch/$s_!3Ykr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.png 1272w, https://substackcdn.com/image/fetch/$s_!3Ykr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2f4e537-9e3d-4b93-bbf7-a18a0ce81543_902x854.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">The LLM Zodiac</figcaption></figure></div><p>This is Part 1 of a three-part read on the Fire Horse year in AI coding, the one that sets up the frame and walks through the disruptors.</p><p>2026 is the Year of the Horse in the Chinese zodiac, and not the ordinary kind. It is a Fire Horse year &#8212; &#19993;&#21320;, Bing Wu &#8212; the pairing that comes around once every sixty years. The last one was 1966. Tradition gives the Fire Horse a reputation for boldness, intensity, and upheaval, the kind of year people are warned about rather than wished. As a frame for the state of AI coding tools, it is almost too neat. This is the most chaotic, multi-polar stretch the field has seen, and a large share of the disruption comes from Chinese labs. The animal fits twice.</p><p>I had a different article planned. A straight survey of Chinese coding models, Kimi and DeepSeek and Qwen, and whether you should trust them with your code. Then SpaceX agreed to acquire Cursor for $60 billion in stock. Anysphere, Cursor&#8217;s parent, would become a wholly owned SpaceX subsidiary; the deal was announced June 16 and is expected to close in Q3. SpaceX absorbed xAI back in February, which means the editor sitting inside 64% of Fortune 500 development workflows now answers, eventually, to the same org chart as Grok. The acquisition reframed the whole piece.</p><p>Because the question developers keep asking about DeepSeek and Kimi is &#8220;where does my code go, and who can read it?&#8221; That now applies to the most popular AI editor in the enterprise. The model layer inside your IDE has become a governance problem, and it does not much matter whether the party on the other side is in Beijing or in Boca Chica. The shape of the concern is the same. Only the jurisdiction&#8217;s law changes.</p><p>So I kept the Chinese-model framing and pushed it further. To organize the field, I mapped twelve models to the twelve animals of the zodiac, one animal per model family, which forced the labs that ship a half-dozen variants into a single sign with their internal rivalries inside the section. The mapping is most certainly a device (but a fun one -- don&#8217;t hate!), and it makes a quiet point on its way: the animals land on Chinese and Western labs alike, and a Chinese frame ends up describing the whole field. That is the through-line this series pays off in Part 3 &#8212; provenance was always a weak proxy for the question that matters, who controls the inference and what they are allowed to do with what passes through it.</p><p>This part covers the frame, the methodology behind every number below, and the front-runners pushing the field. Part 2 turns to the Western incumbents and the collapse of the open-weight flank. Part 3 is the governance reckoning the series builds toward.</p><h2>TL;DR</h2><ul><li><p>It is a Fire Horse year, the once-in-sixty-years sign of upheaval, and AI coding earned the label: a $60B acquisition, a collapsing capability gap, and a dozen credible model families from both hemispheres.</p></li><li><p>Almost every benchmark number you have seen for a Chinese coding model is either self-reported or conflates versions. Kimi K2 alone has shipped six named releases in eleven months. Treat headline scores as marketing until an independent leaderboard confirms them.</p></li><li><p>DeepSeek competes on price, not the hardest work: V4-Pro runs 34&#8211;86x cheaper than Opus 4.8, scores 80.6% on SWE-bench Verified, and falls behind where the work gets difficult.</p></li><li><p>Qwen has the cleanest enterprise story of the Chinese front-runners &#8212; Bedrock, Azure, Apache 2.0 licensing, and it just passed Llama as the most-downloaded open family on Hugging Face.</p></li><li><p>Cursor&#8217;s own default model, Composer 2.5, is built on Moonshot&#8217;s Kimi K2.5. The strongest model in the most-deployed enterprise editor is already a Chinese-origin model fine-tuned by an American company.</p></li><li><p>The quiet spoiler is GLM-5.2 (Zhipu): the #1 open-weight model on the independent Artificial Analysis index (#4 across all models) and #2 on LMArena&#8217;s Code Arena, from a lab most Western developers were not tracking.</p></li></ul><h2>The benchmark trap</h2><p>Start with some discomfort. Most of the numbers in this debate are unreliable, and not because anyone is lying outright. They are unreliable because of two structural problems: version conflation and contamination. This section is the methodological spine for the whole series, so it sits up front.</p><p>Take Kimi K2. Here is the release history: K2 in July 2025, K2-Instruct-0905 in September, K2 Thinking in November, K2.5 in January 2026, K2.6 in April, and K2.7 Code this month. Six checkpoints. When a blog post says &#8220;Kimi scores 65.8% on SWE-bench,&#8221; that was the original K2. K2.6 scores 80.2%. Those are different models with the same nickname, and people cite them interchangeably. The result is a comparison that means nothing.</p><p>Contamination is the second problem, and it is worse because it is invisible. SWE-bench Verified is a static dataset. Models trained after its release have, to varying and unmeasurable degrees, seen the answers. SWE-rebench, presented at NeurIPS 2025, rebuilt the evaluation on decontaminated tasks and watched scores fall across the board: GPT-4.1 dropped from 31.1% to 26.7%, LLaMA-3.3-70B from 18.1% to 11.2%. The Llama drop returns in Part 2, where Meta&#8217;s benchmark numbers get a chapter of their own. The headline numbers are inflated, and the inflation is not uniform.</p><p>So here is the rule I use, and the one I would suggest you adopt. When you see a coding score, ask three questions. Which exact version? Self-reported or independent? On a contaminated benchmark or a fresh one? The most trustworthy independent sources right now are the Aider Polyglot leaderboard, the Artificial Analysis Intelligence Index, and Scale AI&#8217;s SWE-bench Pro. Everything else is a starting point, not a conclusion. A zodiac of twelve animals is also twelve moving targets. Every name below has a version number, and sometimes a whole product line, hiding behind it.</p><h2>The animals that lead</h2><p>With that caveat doing its work, here is the field as of mid-June, one animal per family. The Horse and Dragon open the series &#8212; the acquisition that reframed it and the lab that moved the market &#8212; then the rest of the Chinese front-runners, before a closing reveal that ties the East to the West.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!auDx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!auDx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.png 424w, https://substackcdn.com/image/fetch/$s_!auDx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.png 848w, https://substackcdn.com/image/fetch/$s_!auDx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.png 1272w, https://substackcdn.com/image/fetch/$s_!auDx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!auDx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.png" width="938" height="638" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:638,&quot;width&quot;:938,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1028643,&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/202638142?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d32da83-1a69-4efe-b722-e37bdcc737ba_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_!auDx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.png 424w, https://substackcdn.com/image/fetch/$s_!auDx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.png 848w, https://substackcdn.com/image/fetch/$s_!auDx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.png 1272w, https://substackcdn.com/image/fetch/$s_!auDx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd353ee7e-d2da-45c3-bdb5-1382a1eff5c5_938x638.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">(Fire) Horse &#8212; Grok</figcaption></figure></div><h3>(Fire) Horse &#8212; Grok (via SpaceX)</h3><p>The year&#8217;s own animal, and the only one that arrives by acquisition. The Fire Horse is fast, wild, and short on guardrails, which is a fair description of how Grok is charging into developer tooling &#8212; not by building a foothold but by buying one. SpaceX merged with xAI in February 2026. Grok itself has about 6% enterprise adoption and no developer-tools presence to speak of. Then, on June 16, SpaceX agreed to pay $60 billion in stock for Cursor &#8212; announced, not yet closed, with the deal expected to complete in Q3.</p><p>The strategic logic is plain: buy the distribution Grok could not earn. Cursor reportedly sits in 64% of the Fortune 500 and runs roughly $4 billion in annualized revenue, up from $2 billion in February. Grok had the model and none of the reach. The horse does not wait for permission.</p><p>No changes to model access have been announced, and no commitment to keep Cursor model-agnostic post-close has been made either. The analyst concerns are specific. Jason Andersen of Moor Insights: &#8220;xAI&#8217;s models and treatment of guardrails are very different than what Cursor has stood for,&#8221; and &#8220;Will Cursor be able to point at models other than Grok?&#8221; Justin Greis of Acceligence on the data posture: &#8220;For many enterprise customers, Cursor&#8217;s zero-data-retention policy was not simply a security feature&#8221; &#8212; it was foundational to procurement approval. Sanchit Vir Gogia of Greyhound put the structural point plainly: Cursor &#8220;sits inside the act of software creation, close to the intellectual-property bloodstream.&#8221;</p><p>Hold that last quote. It is the hinge of the governance argument, and Part 3 picks it up where this part leaves 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_!n_nw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n_nw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.png 424w, https://substackcdn.com/image/fetch/$s_!n_nw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.png 848w, https://substackcdn.com/image/fetch/$s_!n_nw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.png 1272w, https://substackcdn.com/image/fetch/$s_!n_nw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n_nw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.png" width="889" height="912" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:912,&quot;width&quot;:889,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1390384,&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/202638142?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20ffe33c-551e-49d2-8bc2-0a4842268097_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_!n_nw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.png 424w, https://substackcdn.com/image/fetch/$s_!n_nw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.png 848w, https://substackcdn.com/image/fetch/$s_!n_nw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.png 1272w, https://substackcdn.com/image/fetch/$s_!n_nw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3255fc46-4c95-44d1-afec-cdbd26fa7698_889x912.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">Dragon &#8212; DeepSeek</figcaption></figure></div><h3>Dragon &#8212; DeepSeek</h3><p>The dragon is the only mythical creature in the zodiac, the sign of power and good fortune, and it goes to the only model that actually moved the market. DeepSeek is the lab that produced &#8220;the DeepSeek moment,&#8221; the release that made Western labs recalculate. It earns the dragon.</p><p>First, kill a rumor. There is no DeepSeek R2. The CEO was reportedly dissatisfied with it, Reuters noted no timeline, and every &#8220;R2 spec sheet&#8221; circulating online is speculation that contradicts the next one. If a comparison cites R2 numbers, the comparison is fiction.</p><p>The real timeline runs through the V-series, ending at V4, released April 24, 2026, as the current flagship &#8212; a trillion-plus-parameter MoE under an MIT license.</p><p>The much-cited V4 figure, SWE-bench Verified at 80.6%, is vendor-reported and does not reproduce independently &#8212; treat it as a DeepSeek claim, not a confirmed result. On the harder SWE-bench Pro, V4-Pro scores 55.4 against Claude Opus 4.7&#8217;s 64.3 &#8212; meaningfully behind where the work gets difficult. Same pattern runs through the whole series.</p><p>Price is where DeepSeek actually competes. One dollar buys about 1.15 million output tokens from V4-Pro versus roughly 40,000 from Opus 4.8 &#8212; call it 34x cheaper on input and 86x on output. For high-volume, low-stakes generation, that math is hard to ignore.</p><p>The hands-on reports split the way you would expect: capable, cheap, uneven. One developer found V4-Pro generated &#8220;subpar slightly buggy code&#8221; on sequential tasks; another said V4 Flash &#8220;often outdoes Kimi 2.6 on problems involving complex spatial reasoning.&#8221; One operational note that will bite people: the <code>deepseek-chat</code> and <code>deepseek-reasoner</code> endpoints retire July 24, 2026. If you have them wired into anything, migrate now.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fa0-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fa0-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.png 424w, https://substackcdn.com/image/fetch/$s_!fa0-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.png 848w, https://substackcdn.com/image/fetch/$s_!fa0-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.png 1272w, https://substackcdn.com/image/fetch/$s_!fa0-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fa0-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.png" width="1014" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1014,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1435740,&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/202638142?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb60f6c8f-9b42-44a1-b39e-c953ca1dcba7_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_!fa0-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.png 424w, https://substackcdn.com/image/fetch/$s_!fa0-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.png 848w, https://substackcdn.com/image/fetch/$s_!fa0-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.png 1272w, https://substackcdn.com/image/fetch/$s_!fa0-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1531149-dd56-4a79-b568-e3dd96ed4e5b_1014x788.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">Ox &#8212; Qwen</figcaption></figure></div><h3>Ox &#8212; Qwen (Alibaba)</h3><p>The ox is the methodical workhorse, dependable and unglamorous, and Qwen is the Chinese player most developers have not actually evaluated. That is a mistake, because it has the cleanest enterprise story of the three: the broadest legitimate access, and the compliance paperwork to back it.</p><p>The current flagship is Qwen3-Coder-Next, released February 2026. Vendor-reported SWE-bench Verified lands at 70.6&#8211;71.3%, but the number to trust is independent: Scale AI scored last July&#8217;s Coder-480B at 38.70 (&#177;3.55) on SWE-bench Pro, sobering against the vendor figures. The original Qwen3-235B marketing was inflated too &#8212; Artificial Analysis put it at 17, below average for its class &#8212; while the 2507 refresh is legitimately competitive at 25.</p><p>The hands-on reads are mixed. A Better Stack test pitted a smaller Qwen 3.5 variant against Claude Sonnet 4.5 and Claude won decisively; Qwen produced a blank project and could not self-diagnose. Artificial Analysis also flags Qwen3-235B-2507 as &#8220;very verbose,&#8221; burning 15M tokens to run their index versus an 8.1M average, which quietly inflates real-world cost even when the per-token price looks low.</p><p>Now the part that decides things for anyone in a regulated shop. Qwen has the broadest legitimate access of any Chinese model, and it just passed Llama to become the most-downloaded open family on Hugging Face. Apache 2.0 licensing on most releases (verify per version). It runs in your own environment on AWS Bedrock &#8212; where AWS guarantees customer data never trains Qwen &#8212; and on Azure AI Foundry inside your own tenancy, with local options through Ollama and vLLM. In Cursor it is not native; you need Cursor Pro+ and a custom-model config. That compliance posture is the Qwen story, and Part 3 ranks exactly where it lands on data safety.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sYAy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sYAy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.png 424w, https://substackcdn.com/image/fetch/$s_!sYAy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.png 848w, https://substackcdn.com/image/fetch/$s_!sYAy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.png 1272w, https://substackcdn.com/image/fetch/$s_!sYAy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sYAy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.png" width="886" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:886,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1451337,&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/202638142?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F842b4b78-3990-48d5-91cb-0e6a124dba4a_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_!sYAy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.png 424w, https://substackcdn.com/image/fetch/$s_!sYAy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.png 848w, https://substackcdn.com/image/fetch/$s_!sYAy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.png 1272w, https://substackcdn.com/image/fetch/$s_!sYAy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e5cbbb7-acb4-4dcb-82a8-fab682d21ba4_886x866.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">Monkey &#8212; Kimi</figcaption></figure></div><h3>Monkey &#8212; Kimi (Moonshot AI)</h3><p>The monkey is clever, versatile, mischievous, and the sharpest tool-user in the zodiac &#8212; exactly the K2 family&#8217;s profile. It is the agentic one, brilliant and inconsistent in the same breath. &#8220;High ceiling, low floor&#8221; is a monkey&#8217;s whole personality.</p><p>The K2 family is the open-weight model that made Western labs pay attention. It is a trillion-parameter sparse mixture-of-experts design built for repo-scale work, and that is where developers praise it most &#8212; large context, real understanding of how files relate to each other. The current flagship is Kimi K2.7-Code (June 12, 2026): 1T total parameters, 32B active, 256K context, thinking mode forced on, and reportedly about 30% fewer reasoning tokens per task than K2.6 (independent). Pricing runs $0.95 per million input, $4.00 output.</p><p>The independent numbers are respectable. On Aider Polyglot, the original K2 scored 60.0%, ahead of Claude Sonnet 4 at 56.4% and behind Opus 4 at 70.7%. On the Artificial Analysis Intelligence Index v4.1, K2.7-Code sits at 42 (K2.6 was 43), strong among open models but now behind GLM-5.2&#8217;s 51 for the open-weight lead. Where Kimi keeps its edge is agentic stability, not the raw index &#8212; the troop holds together under load better than the score alone suggests.</p><p>The community read is more textured. K2.6&#8217;s launch pulled 592 points and 303 comments on Hacker News, with several people calling it &#8220;another DeepSeek moment.&#8221; The praise centers on context and cost &#8212; one developer reported dropping Claude Pro at $20/month for Kimi via Ollama and &#8220;haven&#8217;t hit usage limits a single time.&#8221; The skepticism centers on reliability: &#8220;high ceiling but low floor&#8221; came up more than once, meaning capable but inconsistent run to run.</p><p>That inconsistency shows under load. In Composio&#8217;s hard agentic test, the verdict was blunt: &#8220;Opus was expensive, but it finished. Kimi just could not put it all together once the task got real.&#8221; Kimi is excellent until the task stops being routine. Part 2 returns to that line from the Dog&#8217;s side.</p><p>Access is easy. OpenRouter lists it at roughly $0.60&#8211;0.74 per million input tokens and $2.50&#8211;3.50 output; the direct API runs through platform.moonshot.cn; it works in Cursor as a custom model via OpenRouter. And the detail to hold onto: Cursor&#8217;s own Composer is built on Kimi K2.5. The Snake section, below, is where that lands.</p><p>Two vendor claims to flag. Kimi&#8217;s Agent Swarm reportedly spawns up to 100 sub-agents across roughly 1,500 tool calls &#8212; the monkey troop in literal form, interesting and unverified. And treat the HumanEval 99.0 figure for K2.5 with suspicion: HumanEval is near saturation, so a score that high tells you the benchmark is exhausted, not that the model is.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2f_7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2f_7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.png 424w, https://substackcdn.com/image/fetch/$s_!2f_7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.png 848w, https://substackcdn.com/image/fetch/$s_!2f_7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.png 1272w, https://substackcdn.com/image/fetch/$s_!2f_7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2f_7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.png" width="796" height="758" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:758,&quot;width&quot;:796,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1291036,&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/202638142?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9517d61f-e6b8-4114-bdb6-d07f571fe5b0_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_!2f_7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.png 424w, https://substackcdn.com/image/fetch/$s_!2f_7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.png 848w, https://substackcdn.com/image/fetch/$s_!2f_7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.png 1272w, https://substackcdn.com/image/fetch/$s_!2f_7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94127229-5cac-419b-98ff-5fbfb9c9ef05_796x758.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">Goat &#8212; GLM</figcaption></figure></div><h3>Goat &#8212; GLM (Zhipu)</h3><p>The goat is gentle, creative, and persistently underrated &#8212; mild on the surface, a pleasant surprise once you give it a chance. GLM is the quietly capable one. In one widely shared account it was &#8220;the first open model that was actually usable&#8221; for code, with a Hacker News developer (handle MintsJohn) rating it around ChatGPT-4.0 level, more than most expected from an open model at the time.</p><p>GLM also anchors the most-quoted cautionary tale of the season. Ashish Sharda&#8217;s &#8220;I Tested GLM-4.6 for 2 Weeks and Went Back to Claude&#8221; reads as a knock, but it is two weeks of a developer living inside GLM before deciding the premium model was worth the money. The goat held its own long enough to make the comparison a real one &#8212; a better daily driver than the headline suggests. Part 2 carries the verdict that comparison reached, on the Dog&#8217;s home turf.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eWIl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eWIl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.png 424w, https://substackcdn.com/image/fetch/$s_!eWIl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.png 848w, https://substackcdn.com/image/fetch/$s_!eWIl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.png 1272w, https://substackcdn.com/image/fetch/$s_!eWIl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eWIl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.png" width="1005" height="744" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:744,&quot;width&quot;:1005,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1169817,&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/202638142?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ff0b09c-be7b-45a3-9967-31e76ba87880_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_!eWIl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.png 424w, https://substackcdn.com/image/fetch/$s_!eWIl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.png 848w, https://substackcdn.com/image/fetch/$s_!eWIl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.png 1272w, https://substackcdn.com/image/fetch/$s_!eWIl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca08da83-dee9-44a0-9802-60f45a13ced7_1005x744.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">Snake &#8212; Composer</figcaption></figure></div><h3>Snake &#8212; Composer (Cursor&#8217;s own model)</h3><p>The snake keeps hidden wisdom and waits in the grass until you step on it. Composer fits because it conceals what it is: Cursor&#8217;s in-house model wears an American badge over a Chinese-origin base &#8212; Moonshot&#8217;s Kimi K2.5 &#8212; and most people who run it daily have no idea.</p><p>The naming confuses people, so be precise. There is no third-party product called Composer. It is Cursor&#8217;s in-house coding model, a mixture-of-experts design RL-trained for software engineering, built on Moonshot&#8217;s open Kimi K2.5.</p><p>The version history runs Composer 1 (October 2025, shipped with Cursor 2.0), Composer 1.5 (February 2026), Composer 2 (March 2026, Kimi K2.5 base confirmed by Cursor), and Composer 2.5 (May 18, 2026, current). Composer 2.5 scores 79.8% on SWE-bench Multilingual and 63.2% on CursorBench v3.1, trained on roughly 25x more synthetic tasks than Composer 2. Cursor claims it &#8220;matches Opus 4.7 at about 1/10th the cost.&#8221;</p><p>Keep the layers straight: Composer is the model, Cursor Agent is the harness that runs it, and Composer 2.5 is the default model in that harness. Cursor&#8217;s own May routing guidance: deep architecture and long context to Claude Opus 4.7, shell-heavy terminal work to GPT-5.5, general default to Composer 2.5.</p><p>Sit with the implication. The default model in the most-deployed enterprise AI editor &#8212; the one SpaceX just paid $60 billion for &#8212; is a Chinese-origin open-weight model fine-tuned by an American company. The boundary a lot of enterprises thought they were enforcing (&#8221;no Chinese models in our stack&#8221;) was already crossed before the acquisition was announced. Provenance was the easy part to police. It turns out it was also the part nobody was actually policing.</p><p>That is where the East-rises story stops being about which labs ship from Beijing. The boundary enterprises thought they enforced was already inside their default editor. Part 2 turns to the Western field that is supposed to be the safe choice &#8212; the incumbents that still lead the hardest work, and the open-weight movement outrun on code.</p><div><hr></div><p><em>Bob Matsuoka is CTO of <a href="https://www.duettocloud.com/">Duetto</a> and writes about AI-powered engineering at <a href="https://hyperdev.substack.com/">HyperDev</a>.</em></p><p><strong>Related reading:</strong></p><ul><li><p><a href="https://aipowerranking.com/">AI Power Ranking</a> &#8212; Tool comparisons and benchmarks for AI practitioners</p></li><li><p><a href="https://www.linkedin.com/newsletters/ai-power-ranking-7345782916301418496/">LinkedIn Newsletter</a> &#8212; Strategic AI insights for CTOs and engineering leaders</p></li></ul>]]></content:encoded></item><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></channel></rss>