<?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[blending bits]]></title><description><![CDATA[Blending Bits explores the cutting edge of AI and software development, offering hands-on insights and thoughtful analysis on how emerging technologies are reshaping our digital landscape.]]></description><link>https://blendingbits.io</link><image><url>https://substackcdn.com/image/fetch/$s_!7YY2!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc42a46-70d4-47f5-948d-805bd7da4ddd_1024x1024.png</url><title>blending bits</title><link>https://blendingbits.io</link></image><generator>Substack</generator><lastBuildDate>Sat, 02 May 2026 03:01:47 GMT</lastBuildDate><atom:link href="https://blendingbits.io/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[darlin]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[dalberto@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[dalberto@substack.com]]></itunes:email><itunes:name><![CDATA[darlin]]></itunes:name></itunes:owner><itunes:author><![CDATA[darlin]]></itunes:author><googleplay:owner><![CDATA[dalberto@substack.com]]></googleplay:owner><googleplay:email><![CDATA[dalberto@substack.com]]></googleplay:email><googleplay:author><![CDATA[darlin]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Best AI Tools Generate Recipes, Not Meals]]></title><description><![CDATA[I&#8217;ve been watching a pattern emerge across the best AI tools, and it&#8217;s the opposite of what everyone expected.]]></description><link>https://blendingbits.io/p/the-best-ai-tools-generate-recipes</link><guid isPermaLink="false">https://blendingbits.io/p/the-best-ai-tools-generate-recipes</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Sat, 22 Nov 2025 14:15:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3TJ-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg" 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_!3TJ-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3TJ-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3TJ-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3TJ-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3TJ-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3TJ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg&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;:1958711,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blendingbits.io/i/179583303?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3TJ-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3TJ-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3TJ-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3TJ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c610a4-36fb-4be5-861e-c8ea4b25c2b0_1536x1024.jpeg 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&#8217;ve been watching a pattern emerge across the best AI tools, and it&#8217;s the opposite of what everyone expected. The winners aren&#8217;t the ones generating perfect final outputs. They&#8217;re the ones generating instructions that humans can inspect, modify, and execute.</p><p>The old paradigm treats AI like an oracle. You prompt, it generates, you take it or leave it. The new paradigm treats AI like a recipe writer. You prompt, it generates transparent instructions, you control the execution, you get exactly what you need.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>This shift makes AI actually useful, not any less powerful.</p><h2>Why Black Boxes Keep Failing</h2><p>Direct generation has fundamental problems that no amount of model improvement will fix. When something&#8217;s wrong, you can&#8217;t trace the logic. When requirements change, you start from scratch. Hallucinations lurk in final outputs until production explodes. You lose all optionality.</p><p>A few years ago, I was advising teams building financial analysis tools. Their first instinct was having LLMs generate complete spreadsheets. Seemed logical, right? Except when formulas broke, nobody could trace why. When assumptions shifted, they&#8217;d regenerate everything and pray. The breakthrough came when we flipped the approach: have the LLM write Python that generates spreadsheets. Suddenly you had inspectable logic, testable assumptions, and modifiable parameters.</p><p>That lesson has become a pattern.</p><h2>Why Instructions Beat Outputs</h2><p>I&#8217;ve identified four concrete benefits that explain why this approach dominates:</p><p><strong>Inspectable Logic</strong> means seeing the thinking, not just the answer. Errors become visible before they cause damage. Hallucinations surface as syntax errors in code rather than silent failures in production.</p><p><strong>Parametric Control</strong> lets you change ingredients without rewriting recipes. Look at <a href="napkin.ai">napkin.ai</a> - you adjust one color and keep the entire design system. Claude Code lets you tweak a function while preserving the architecture.</p><p><strong>Format Flexibility</strong> gives you one recipe for many meals. The same graphic becomes PNG for web, PDF for print, PPT for presentations. Same code deploys to different environments.</p><p><strong>Timing Control</strong> means executing when ready. Review before running. Test in sandbox first. Re-run with confidence.</p><p>I&#8217;ve written about before, combining the creativity of probabilistic generation with the reliability of deterministic execution. We get both paradigms working together.</p><h2>Code Leads and Everyone Else Follows</h2><p>Programming had a 50-year head start treating instructions as first-class objects. Version control, testing frameworks, code review, IDEs - an entire ecosystem built around manipulating instructions rather than outputs. Claude Code doesn&#8217;t just generate code; it generates code that slots into this ecosystem.</p><p>Now other domains are catching up fast. <a href="napkin.ai">napkin.ai</a> isn&#8217;t a drawing tool - it&#8217;s a parametric design system generator. Browser automation tools don&#8217;t perform tasks - they generate observable command sequences. Data platforms create reproducible analysis pipelines, not just query results.</p><h2>The Evolution Unfolding Now</h2><p>Phase 1 (2022-2024) saw everyone trying to make LLMs directly produce final outputs. Most attempts failed spectacularly.</p><p>Phase 2 (2024-2025) brought the developer breakthrough. We discovered that generating code - already an instruction set - worked better. GitHub Copilot, Claude Code, and Cursor led the charge.</p><p>Phase 3 (2025 and beyond) spreads the pattern everywhere. Design gets parametric graphics through napkin. Data analysis gets Python/SQL notebooks. Automation gets browser scripting.</p><h2>Where This Goes</h2><p>The next frontier is executable reasoning itself.</p><p>Instead of &#8220;here&#8217;s my analysis,&#8221; imagine getting the decision framework as code. Assumptions become adjustable parameters. Analysis re-runs with different inputs. You get reasoning recipes, not just conclusions.</p><p>This extends beyond simple generation into how we <a href="https://blendingbits.io/p/llms-as-thought-partners">structure complex thinking</a> itself. The same pattern applies - intermediate representations that preserve optionality and control.</p><p>Here&#8217;s the builder&#8217;s opportunity: Stop asking &#8220;What can AI generate?&#8221; Start asking &#8220;What&#8217;s the right intermediate representation for this domain?&#8221;</p><p>The winners won&#8217;t eliminate human control. They&#8217;ll amplify it through better recipes. Because the goal was never to replace chefs with robots. It&#8217;s giving every cook access to Michelin-star recipes they can make their own.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Stop Interviewing for the Last War]]></title><description><![CDATA[Why Employers Should Test AI Fluency, Not Detect Cheating]]></description><link>https://blendingbits.io/p/stop-interviewing-for-the-last-war</link><guid isPermaLink="false">https://blendingbits.io/p/stop-interviewing-for-the-last-war</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Thu, 13 Nov 2025 14:37:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JiS2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg" 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_!JiS2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JiS2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JiS2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JiS2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JiS2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JiS2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg&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;:2000416,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blendingbits.io/i/178753574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JiS2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JiS2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JiS2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JiS2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7443d3bb-ec42-4e70-97f0-49c370513b54_1536x1024.jpeg 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 friend recently overhauled his entire hiring process. Not because of budget cuts or growth pivots, but because hundreds of fake applicants flooded their pipeline, some even using AI to impersonate real people during calls.</p><p>The problem wasn&#8217;t that candidates used AI. It was that some hid it when asked directly.</p><p>There&#8217;s a clear ethical line here. Using AI to augment your work? Smart. Hiding AI use when asked point-blank? Dishonest. Not using AI when everyone else does? Career limiting.</p><p>While companies play whack-a-mole with &#8220;AI cheaters&#8221; their competitors are hiring AI-augmented superstars who are upfront about their tools. The real question: How well do you use AI, and are you honest about it?</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2>The New Baseline</h2><p>The market has moved. <a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai#/">88% of organizations now use AI regularly</a>, up from 78% a year ago. This isn&#8217;t just tech companies. Marketing saw the biggest adoption increases, and 62% of organizations are experimenting with AI agents.</p><p>I&#8217;ve watched this play out in teams I work with. Strong engineers with solid fundamentals leverage AI to become even more effective. Less experienced developers copy-paste AI-generated code without understanding the implications. The difference? The first group has the judgment to know when to trust AI and when to trust themselves.</p><p>This is the amplification effect: strong fundamentals plus AI equals 10x improvement. Weak fundamentals plus AI equals scaling bad judgment. Engineers with liberal arts backgrounds often excel here because they&#8217;ve been trained to think critically about context, a meta-skill that matters more than ever.</p><p>You&#8217;re screening for effective AI users who understand the tool&#8217;s role, not just anyone who&#8217;s touched ChatGPT. Bonus: people who hide AI use probably lack the judgment you need anyway.</p><h2>What to Actually Test</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xza9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xza9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.png 424w, https://substackcdn.com/image/fetch/$s_!xza9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.png 848w, https://substackcdn.com/image/fetch/$s_!xza9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.png 1272w, https://substackcdn.com/image/fetch/$s_!xza9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xza9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.png" width="1456" height="1037" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1037,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:231445,&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://blendingbits.io/i/178753574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.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_!xza9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.png 424w, https://substackcdn.com/image/fetch/$s_!xza9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.png 848w, https://substackcdn.com/image/fetch/$s_!xza9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.png 1272w, https://substackcdn.com/image/fetch/$s_!xza9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd922f91a-b1cb-4615-bcd3-c95fc1bd9829_2376x1692.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>Instead of asking &#8220;did you use AI?&#8221;, test for the four dimensions that matter. <a href="https://www-cdn.anthropic.com/334975cdec18f744b4fa511dc8518bd8d119d29d.pdf">Anthropic&#8217;s</a> identifies these as Delegation, Description, Discernment, and Diligence.</p><p><strong>Delegation: &#8220;Tell me about a time AI failed you&#8221;</strong></p><p>This tests their mental model of AI&#8217;s limitations. Watch out for &#8220;AI can do everything&#8221; (na&#239;ve) or &#8220;AI is useless&#8221; (stubborn). Look for candidates who know when to use automation versus augmentation versus staying hands-on. &#8220;I use Claude for planning, Cursor for implementation, but always review architecture decisions myself&#8221; is exactly what you want to hear.</p><p><strong>Description: &#8220;Walk me through your workflow for &lt;relevant task&gt;&#8221;</strong></p><p>You&#8217;re testing orchestration and communication clarity. Good candidates use multiple tools strategically: &#8220;I start with Perplexity for research, move to Claude for synthesis, then validate key claims manually.&#8221; Watch out for people using one tool for everything or being unable to articulate why they chose specific tools.</p><p><strong>Discernment: &#8220;Show me something you shipped. What did AI contribute versus you?&#8221;</strong></p><p>This tests critical evaluation. I call this the $100/month test: ask what AI tools they pay for personally. It shows real commitment beyond casual use. Look for candidates who can explain what they verified and where they added strategic value: &#8220;AI drafted the code, but I redesigned the data model because it missed the scaling implications.&#8221;</p><p><strong>Diligence: &#8220;How do you verify AI outputs?&#8221;</strong></p><p>Ask them to walk through checking an AI-generated technical spec. Strong candidates demonstrate source triangulation (&#8221;I check the AI&#8217;s claims against official docs&#8221;), metacognition (&#8221;I know I don&#8217;t know X, so I verify those sections more carefully&#8221;), and ethical consideration (&#8220;I always check if the solution creates accessibility issues&#8221;).</p><h2>Put It Into Practice</h2><p>For technical roles, give them pre-written AI code with subtle bugs. Tell them: &#8220;You have full AI access. Fix this and explain what you&#8217;d deploy to production.&#8221; This tests whether they can debug, if they blindly trust AI fixes, and if they understand the underlying system.</p><p>For non-technical roles, provide AI-drafted content that&#8217;s 80% good and ask them to improve it for your target audience. Can they identify what&#8217;s generic versus strategic? Do they add business context AI missed?</p><p>Universal questions that work across roles:</p><ul><li><p>&#8220;What&#8217;s changed in your AI workflow in the last year?&#8221; (The field moves weekly; they should move fast too)</p></li><li><p>&#8220;Name an AI tool you tried and abandoned. Why?&#8221; (Shows discernment, not just adoption)</p></li><li><p>&#8220;How would you help a skeptical colleague adopt AI?&#8221; (Tests if they can be an AI champion)</p></li></ul><p>The honesty test is simple: ask what AI tools they used to prepare for the interview. You don&#8217;t care if they used AI. You care if they&#8217;re honest about it.</p><h2>Why This Matters Now</h2><p>Only <a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai#/">33% of organizations have scaled AI beyond pilots</a>, despite 88% using it. The most in-demand roles are software engineers and data engineers, precisely where AI amplification matters most.</p><p>Organizations with <a href="https://writer.com/blog/enterprise-ai-adoption-survey/">AI champions see 80% success rates versus 37% without</a>. High performers in McKinsey&#8217;s research (those seeing 5%+ EBIT impact) are 3x more likely to have redesigned workflows around AI, not just adopted it.</p><p>Here&#8217;s the moat: hire one AI-fluent person, they transform 10-20 colleagues, and your whole department levels up.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2>The Takeaway</h2><p>Ask how well candidates use AI and whether they&#8217;re honest about it. The days of hiding AI use are over.</p><p>The next generation of top performers won&#8217;t hide their AI fluency. They&#8217;ll demonstrate it. Your job is building interview processes that surface this competitive advantage.</p>]]></content:encoded></item><item><title><![CDATA[Vibe Coding's Last Mile Problem]]></title><description><![CDATA[Why We Don't See Many Production Lovable Apps]]></description><link>https://blendingbits.io/p/vibe-codings-last-mile-problem</link><guid isPermaLink="false">https://blendingbits.io/p/vibe-codings-last-mile-problem</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Fri, 07 Nov 2025 14:34:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UCs-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_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_!UCs-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UCs-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!UCs-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!UCs-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!UCs-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UCs-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77511c9f-02bd-4c4c-8cd5-266df7ec5e00_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;:2849451,&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://blendingbits.io/i/178221981?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_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_!UCs-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!UCs-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!UCs-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!UCs-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77511c9f-02bd-4c4c-8cd5-266df7ec5e00_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>Your PM just shipped a working prototype in 48 hours. Your non-technical founder built a PoC that actually impressed investors. The future of software development is here, powered by AI, and everyone can build now.</p><p>Except there&#8217;s a problem nobody wants to talk about.</p><p>After working with multiple teams and talking to friends deep in the trenches, I&#8217;ve noticed a pattern. Some call it the &#8216;vibe coding hangover&#8217;. The <a href="https://www.technologyreview.com/2025/11/05/1127477/from-vibe-coding-to-context-engineering-2025-in-software-development/">honeymoon phase is over</a>, and teams are discovering that building an app and shipping an app are two very different beasts.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Want more insights on AI workflows? Subscribe for deep dives.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2>TL;DR</h2><p>&#8226; <strong>Vibe coding democratizes the first 90% of development</strong> - tools like Lovable, Replit, and Bolt let non-developers build functional apps </p><p>&#8226; <strong>The last mile is still brutal</strong> - deployment, infrastructure, security, and optimization require deep expertise that AI struggles with </p><p>&#8226; <strong>This creates a dangerous gap</strong> - working prototypes that can&#8217;t become production apps </p><p>&#8226; <strong>The logistics analogy holds</strong> - like shipping, the final leg to users is disproportionately complex and expensive </p><p>&#8226; <strong>Solutions exist but require intentionality</strong> - know your purpose, align processes, and most importantly, know when to bring in experts</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nq0G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nq0G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic 424w, https://substackcdn.com/image/fetch/$s_!nq0G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic 848w, https://substackcdn.com/image/fetch/$s_!nq0G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic 1272w, https://substackcdn.com/image/fetch/$s_!nq0G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nq0G!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic" width="1200" height="705.4945054945055" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:856,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:89204,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blendingbits.io/i/178221981?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nq0G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic 424w, https://substackcdn.com/image/fetch/$s_!nq0G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic 848w, https://substackcdn.com/image/fetch/$s_!nq0G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic 1272w, https://substackcdn.com/image/fetch/$s_!nq0G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff623c45e-0c15-4e4e-92c9-abeef875e45a_3061x1800.heic 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></p><h2>What Is Vibe Coding?</h2><p>Vibe coding platforms let you describe what you want to build in natural language, and AI generates the code. Think Lovable for full-stack apps, Replit&#8217;s AI agents, Bolt for rapid prototyping, and to a lesser extent, Cursor (though it&#8217;s built for developers).</p><p>Examples are everywhere now. PMs who once wrote PRDs are shipping prototypes. Non-technical founders validate concepts before raising capital. The barrier to entry for software creation has essentially evaporated.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RJv_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RJv_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.png 424w, https://substackcdn.com/image/fetch/$s_!RJv_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.png 848w, https://substackcdn.com/image/fetch/$s_!RJv_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.png 1272w, https://substackcdn.com/image/fetch/$s_!RJv_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RJv_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.png" width="535" height="340" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:340,&quot;width&quot;:535,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:48752,&quot;alt&quot;:&quot;shot-000089.png&quot;,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="shot-000089.png" title="shot-000089.png" srcset="https://substackcdn.com/image/fetch/$s_!RJv_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.png 424w, https://substackcdn.com/image/fetch/$s_!RJv_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.png 848w, https://substackcdn.com/image/fetch/$s_!RJv_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.png 1272w, https://substackcdn.com/image/fetch/$s_!RJv_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F410c99fa-2381-4d66-8399-ebfcbbd8d8d3_535x340.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>Why Now?</h2><p>I&#8217;ve written before about how AI democratizes access to the median professional. AI makes writing boilerplate super easy. It handles the predictable patterns that make up most code. But here&#8217;s the catch: this works best over short time horizons and discrete tasks.</p><p>Tasks like simple question answering from a domain expert&#8217;s perspective? Perfect for AI. Building a complex, production-ready system? That&#8217;s where things get interesting. It&#8217;s why Replit has been emphasizing how long its agents can last on a task: they know the challenge isn&#8217;t starting, it&#8217;s finishing.</p><h2>The Problems Start Compounding</h2><p>Eventually, when you&#8217;re building something new, you have to start innovating and making contact with the real world - infrastructure, security, performance. A common misconception is that programming is very rote, but the best engineers exercise tremendous creative problem solving. Having &#8220;median&#8221; code generated by an LLM leads to diminishing returns fast.</p><p>Vibe coding can lead to serious security issues because deep understanding of systems matters. You can&#8217;t prompt your way around not knowing how authentication actually works.</p><p>In teams, the problems multiply:</p><ul><li><p>Non-technical users throw AI-generated code over the wall to engineering</p></li><li><p>Decades of software development best practices get ignored because they&#8217;re invisible: automated testing, version control for understanding changes and enabling rollbacks, code reviews that disseminate knowledge</p></li><li><p>Nobody wants a 30K line code review, but that&#8217;s exactly what vibe coding platforms often produce</p></li></ul><p>Infrastructure issues are particularly brutal for AI. I&#8217;ve written about debugging a nightmare deployment with Claude Code. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;69c21598-918e-4ebd-a66d-cac86e29590b&quot;,&quot;caption&quot;:&quot;The fix was three words. The investigation? 1,427 lines across four days, chasing 63 suspicious database connections when only 10 mattered.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;I Used Claude Code to Debug a Nightmare&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:127381235,&quot;name&quot;:&quot;darlin&quot;,&quot;bio&quot;:&quot;I'm a software engineer that likes building cool stuff, and frequently wax poetic.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29e363b8-0457-4b09-b998-d7799cc67d0d_2265x2265.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-30T12:35:12.947Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Jz3T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blendingbits.io/p/i-used-claude-code-to-debug-a-nightmare&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:177530643,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:2,&quot;publication_id&quot;:1385884,&quot;publication_name&quot;:&quot;blending bits&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!7YY2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc42a46-70d4-47f5-948d-805bd7da4ddd_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>These problems require systems thinking and a complete mental model. Feedback loops are slow. Setting up a domain name might take hours before you know if it worked. Without a good mental model to debug, you end up in frustrating loops.</p><h2>The Last Mile Problem</h2><p>Here&#8217;s an old engineering joke: coding is the first 90% of work. Then there&#8217;s the other 90%.</p><p>In logistics, the final delivery leg from distribution center to doorstep accounts for 40-50% of shipping costs despite being the shortest distance. It&#8217;s inefficient due to scattered residential stops, traffic, failed deliveries, and individual address complexities.</p><p>In software:</p><ul><li><p>Development to Production = Warehouse to Doorstep</p></li><li><p>&#8220;Works on my machine&#8221; = Code runs in ideal conditions but fails in real environments</p></li><li><p>Disproportionate effort = Last 20% (deployment, debugging, infrastructure) takes 50%+ of total effort</p></li></ul><p>Both reveal the same truth: building the thing is the easy part. Getting it successfully into users&#8217; hands is where the real challenge lies.</p><h2>Real-World Example</h2><p>A friend recently built a simple SaaS app using Lovable. The prototype phase was magical - natural language to working app in under three hours. User authentication, a clean dashboard, data visualization, even AI pixie dust on it. It all worked perfectly on his computer. Then came deployment to Railway, one of the most developer-friendly platforms out there.</p><p>What should have been simple became a multi-day saga. Environment variables were hardcoded. The SQLite database that worked locally needed PostgreSQL in production, breaking some queries with different syntax. Stripe integration looked perfect but failed on webhook signatures and OAuth redirects.</p><p>The killer was performance. What ran instantly locally took 5-10 seconds per page load in production. N+1 query problems everywhere, no pagination, I could go on. Three hours to build, four days to deploy - and this was on Railway, a platform specifically designed to make deployment easy.</p><h2>How Lovable Is Addressing This</h2><p>Their recent announcements show they understand the problem:</p><p><strong><a href="https://x.com/lovable_dev/status/1972680165378650391">Lovable Cloud</a></strong> - A managed backend solution. They&#8217;re trying to become a Platform-as-a-Service faster than PaaS providers become vibe-coders.</p><p><strong><a href="https://x.com/Lovable/status/1980650647096836357">Shopify Integration</a></strong> - Smart move. Shopify is already a well-understood platform with clear constraints. There&#8217;s good overlap with the low-code audience. A developer wouldn&#8217;t need &#8220;text to Shopify&#8221; - Shopify is already easy enough.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xm9h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xm9h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xm9h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xm9h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xm9h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xm9h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!xm9h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xm9h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xm9h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xm9h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc269370-5502-491f-bc08-35a1b9bc4142_2326x1298.jpeg 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><strong><a href="https://x.com/Lovable/status/1986101482014617947">Imagi/OpenAI Partnership</a></strong> - Bringing Lovable to schools. Education was Replit&#8217;s initial audience too. Different use case than professional development.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0NGS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0NGS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.png 424w, https://substackcdn.com/image/fetch/$s_!0NGS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.png 848w, https://substackcdn.com/image/fetch/$s_!0NGS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.png 1272w, https://substackcdn.com/image/fetch/$s_!0NGS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0NGS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.png" width="1456" height="513" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:513,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:894289,&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://blendingbits.io/i/178221981?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.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_!0NGS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.png 424w, https://substackcdn.com/image/fetch/$s_!0NGS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.png 848w, https://substackcdn.com/image/fetch/$s_!0NGS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.png 1272w, https://substackcdn.com/image/fetch/$s_!0NGS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ca7f0d4-6e4d-455c-be13-659f589a8778_2162x762.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>From the Trenches</h2><p>I spoke to a friend with FAANG experience who transitioned from professional designer to developer:</p><p>&#8220;Lovable has super good design sense,&#8221; he told me. &#8220;But it fails at full backend, production quality code.&#8221;</p><p>He described needing to correct the AI over and over. The codebase got too big for Lovable&#8217;s context window. With Claude Code, you need to direct less since it has codebase access, but you&#8217;re still dealing with what I call &#8220;a savant with amnesia.&#8221;</p><p>Niche issues that aren&#8217;t well documented are brutal to debug with any AI tool. They need tons of direction. &#8220;AI doesn&#8217;t know what it doesn&#8217;t know, or what you don&#8217;t know,&#8221; as I put it.</p><p>At one point, Claude Code literally told him: &#8220;You should contact Supabase support.&#8221;</p><p>&#8220;Read the f***ing docs&#8221; prompting has become common. You get stuck in unproductive loops making small edits. &#8220;Replit is clunky,&#8221; he concluded. &#8220;Not meant for professionals.&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Want more insights on AI workflows? Subscribe for deep dives.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Solutions That Actually Work</h2><p><strong>Be intentional about purpose:</strong></p><ul><li><p>Is this a prototype to align stakeholders? Keep it in Lovable, share via their preview links</p></li><li><p>A proof of concept for the engineering team? Export the code early, review together</p></li><li><p>The foundation for a production app? Plan for the handoff from day one</p></li></ul><p><strong>Align processes around purpose:</strong></p><ul><li><p>Work cross-functionally early and often. Have engineers review vibe coded apps weekly, not after &#8220;completion&#8221;</p></li><li><p>Work with internal and external experts on the last mile - bring in DevOps early, not as firefighters</p></li><li><p>Document the evolution of ideas so handoffs are smoother. Have AI generate a decision log after each session</p></li><li><p>Know when to &#8220;graduate&#8221; from one tool to another. Example: PM uses Lovable for wireframing, Engineering rebuilds core logic in Cursor with proper architecture</p></li></ul><p><strong>Create systematic handoff points:</strong></p><ul><li><p>At 1000 lines of code (coarse but useful measure): Architecture review</p></li><li><p>Before any external integrations: Security review</p></li><li><p>Before user data touches the system: Infrastructure planning</p></li><li><p>When the context window fills up: Time to migrate to professional tools</p></li></ul><p><strong>Budget realistically:</strong></p><ul><li><p>The &#8220;last mile&#8221; typically takes 2-3x the initial build time</p></li><li><p>If Lovable got you there in 2 days, budget at least a week for production</p></li><li><p>Factor in costs for monitoring, error tracking, and actual infrastructure</p></li><li><p>Remember: an optimized app can be 10x cheaper to run than a naive implementation</p></li></ul><p>Vibe coding doesn&#8217;t eliminate the need for expertise, it just moves it.</p><h2>The Problem Will Get Worse</h2><p>Building is easier, but building was always the easiest part. As more building occurs, talent and <a href="https://x.com/daniel_mac8/status/1985909488906350747">expertise for the last mile gets spread thinner</a>. For example, today there are more developers than ever, but fewer who understand how to work with databases at a deeper level beyond code.</p><p>The gap between what can be built and what can be shipped is widening. Vibe coding platforms are incentivized to encourage creation, not necessarily helping users deliver business value. An optimized app runs faster and cheaper. It mitigates catastrophes like security breaches.</p><h2>Moving Forward</h2><p>The vibe coding revolution is real and valuable. It&#8217;s democratizing software creation in ways we couldn&#8217;t imagine three years ago. But let&#8217;s be honest about what it is and isn&#8217;t.</p><p>It&#8217;s a powerful tool for exploration, validation, and rapid prototyping. It isn&#8217;t a replacement for the deep expertise required to ship production software that scales, performs, and protects user data.</p><p>If you&#8217;re experiencing this gap between prototype and production, you&#8217;re not alone. The tools are evolving, but in the meantime, knowing when and how to bring in expertise for that crucial last mile makes all the difference.</p><p>After all, friends don&#8217;t let friends ship vibe coded apps... without a plan for the last mile.</p><div><hr></div><p><em>Are you stuck in the gap between a working prototype and production-ready app? I help teams navigate the last mile of vibe coded applications. <a href="https://darlin.io">Get in touch</a> if this resonates with your current challenges.</em></p>]]></content:encoded></item><item><title><![CDATA[I Used Claude Code to Debug a Nightmare]]></title><description><![CDATA[Here's What I Learned]]></description><link>https://blendingbits.io/p/i-used-claude-code-to-debug-a-nightmare</link><guid isPermaLink="false">https://blendingbits.io/p/i-used-claude-code-to-debug-a-nightmare</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Thu, 30 Oct 2025 12:35:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Jz3T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_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_!Jz3T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jz3T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Jz3T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Jz3T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Jz3T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jz3T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e08efe19-0c4b-46e1-9723-ab91e3eec8c6_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;:2832815,&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://blendingbits.io/i/177530643?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_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_!Jz3T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Jz3T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Jz3T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Jz3T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08efe19-0c4b-46e1-9723-ab91e3eec8c6_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 fix was three words. The investigation? 1,427 lines across four days, chasing 63 suspicious database connections when only 10 mattered.</p><p>I recently debugged a bug that brought my entire application to its knees. What I learned about AI-assisted debugging turned out to be more valuable than the fix itself.</p><p>I&#8217;ll get technical in places (it&#8217;s unavoidable given the nature of the bug), but the broader lessons about AI-assisted debugging apply whether you&#8217;re writing code or not.</p><h3><strong>TL;DR</strong></h3><p>What I learned:</p><ul><li><p>Why async/sync boundaries are debugging nightmares</p></li><li><p>How to structure AI-assisted investigations</p></li><li><p>When human intuition beats AI exhaustiveness</p></li><li><p>Why documentation is your debugging superpower</p></li></ul><p><strong>For the curious:</strong> You can find the full investigation and lessons learned technical documentation <a href="https://gist.github.com/dalberto/bf2c969314c00c1e481d4332018f3f14">here</a>. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><p></p><h3><strong>The Setup</strong></h3><p>I&#8217;m building a product that streams AI responses to users&#8212;think ChatGPT&#8217;s typing effect. This requires <a href="https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events">server-sent events</a> (SSEs) because LLMs take seconds to generate responses, and nobody wants to stare at a blank screen. I also designed my architecture around SSEs because I expected all kinds of events being sent; some events would be based on user input, and some would not.</p><p>I used <a href="https://www.djangoproject.com/">Django</a> because I know it well, it has spectacular documentation and powerful database functionality. Because of the nature of this architecture, I decided to be async-first; this would allow efficient scaling and resource usage.</p><blockquote><p><em>Async I/O (async) is like having a single waiter managing multiple tables instead of one waiter per table standing around waiting for each customer to finish chewing.</em></p><p><em>Traditional (synchronous) I/O:</em></p><p><em>Your program asks for data &#8594; sits idle waiting &#8594; gets the data &#8594; continues</em></p><p><em>Like calling someone and staying on hold until they answer. Your entire program is blocked.</em></p><p><em>Async I/O:</em></p><p><em>Your program asks for data &#8594; immediately moves on to other work &#8594; gets notified when data arrives &#8594; handles it</em></p><p><em>Async I/O lets your app handle way more users and requests simultaneously without buying more servers. It&#8217;s the difference between a web server handling 10,000 concurrent users versus 100 with the same hardware.</em></p></blockquote><p>However, async support within Django and broadly within Python is relatively new, given the maturity and age of both projects<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. Async Python was introduced in 2015, and Django added preliminary async support in 2019 (Python&#8217;s been around since 1991 and Django since 2005).</p><p>There are libraries and projects that are async-first, but the overall ecosystem is bifurcated into synchronous libraries and asynchronous libraries. <strong>This was the crux of the problem</strong><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a>: throughout my stack, some components were asynchronous and some were not leading to inexplicable hangs in the interface.</p><h3><strong>When Everything Froze</strong></h3><p>Click around too fast and the entire app would freeze. No requests could get through. Only fix? Restart the server. This also did not represent a ton of requests, and it caused concern. While I reproduced the issue by clicking around quickly, my intuition was that this would occur when even a handful of users used the app concurrently. This was the opposite of what I wanted! The whole point of the async-first architecture was supporting many concurrent users efficiently. And the only resolution was restarting the web server.</p><p>I knew it was related to async because of the nature of the stack; many components were unproven in an async environment. However, it was unclear where to start. Was it the database? Was it the API serializers? Was it thread pool exhaustion? It was time to debug and find out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TB-z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TB-z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!TB-z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!TB-z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!TB-z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TB-z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/714ca15f-883a-494b-a213-657e2c784c70_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;:1930762,&quot;alt&quot;:&quot;&quot;,&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://blendingbits.io/i/177530643?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_1024x1024.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_!TB-z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!TB-z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!TB-z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!TB-z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F714ca15f-883a-494b-a213-657e2c784c70_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><h3><strong> The Investigation Strategy</strong></h3><p>I started where any reasonable engineer would: the obvious culprits. Database configuration? Check. Thread pool exhaustion? Nope. When these quick wins didn&#8217;t pan out, I knew I was in for a proper debugging session. I&#8217;d dealt with concurrency bugs before - they&#8217;re the software equivalent of trying to catch smoke.</p><p>Here&#8217;s where it gets interesting: I was already using Claude Code for development, so why not use it for debugging too? But I didn&#8217;t just throw the problem at it and hope for magic. I structured the process the same way I would tackle it manually.</p><p>Every hypothesis, every test, every outcome got documented in real-time. Think of it as leaving breadcrumbs, except instead of getting eaten by birds, these breadcrumbs would actually help Claude (and future-me) understand what we&#8217;d already tried.</p><p>The workflow: I&#8217;d direct Claude to investigate specific areas. It would run tests, document findings, and I&#8217;d steer toward the next hypothesis. I ran it in maximal thinking mode because this wasn&#8217;t straightforward&#8212;it was a deep integration issue between async and sync components that required careful reasoning.</p><p>The real engineering challenge became creating a faster feedback loop. The original bug took several clicks and some waiting to manifest. That&#8217;s brutal when you&#8217;re testing multiple hypotheses. So part of the process was figuring out how to make the bug appear faster and more reliably. The quicker I could reproduce it, the quicker I could validate whether a fix actually worked.</p><p>This hybrid approach - AI doing the grunt work while I provided direction and manual verification - turned what could have been weeks of solo debugging into a more systematic investigation. Claude couldn&#8217;t replace my intuition about where to look next, but it could exhaustively check those places and document everything along the way.</p><h3><strong>Timeline</strong></h3><p>Here&#8217;s how several days of investigation actually played out:</p><p><strong>Day 1: The Obvious Suspects</strong></p><p>Started with the most likely culprits. First thought: maybe the system was running out of worker threads (think of these like employees handling customer requests). Bumped the limit from 10 to 100. The hang still occurred with only 4 threads busy. Definitely not that.</p><p>Next theory: maybe the database was holding onto information too long during user sessions. Disabled that feature. Still hung.</p><p>Then I tried something drastic - completely disabled the streaming connections that let users see updates in real-time. If those were the problem, this should fix it. It didn&#8217;t. The app still hung even on normal page loads. So much for the easy wins.</p><p><strong>Day 2: The Convincing Red Herring</strong></p><p>Checked the database during a hang and saw 63 idle connections just sitting there, all from the same security check. This looked damning - like leaving 63 phone lines open instead of hanging up. <em>This has to be it</em>.</p><p>Made a change to force the system to hang up after every call instead of keeping lines open. The app worked! Problem solved, right?</p><p>Wrong. During the next hang, I checked again: only 9 connections. Then 31 during another test. The database could handle 100 connections easily. This wasn&#8217;t about too many connections at all - it just happened to look that way during my first check.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lNpL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lNpL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!lNpL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!lNpL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!lNpL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lNpL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3fd9cbb-0801-469d-93fd-069068aa6621_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;:1747263,&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://blendingbits.io/i/177530643?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_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_!lNpL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!lNpL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!lNpL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!lNpL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3fd9cbb-0801-469d-93fd-069068aa6621_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><p><strong>Day 3: The Grind</strong></p><p>Tried everything: different security checking approaches, adjusting how the development proxy handled requests, various configurations for managing the async/sync boundary. None worked.</p><p>Set up better monitoring tools to watch what was happening in real-time. Claude Code documented each attempt systematically. The investigation file grew longer with each dead end.</p><p><strong>Day 4: Finding the Smoking Gun</strong></p><p>Decided to test a wild theory: what if I just skipped the security check entirely in the streaming manager? Just let everyone through temporarily to see what happens.</p><p>Started rapidly clicking between conversations in the app. Connection count stayed at 3. No hang. No errors. Perfect performance.</p><p>Found it. The security check at the start of each stream was grabbing a database connection and never letting go - not for the quick moment it needed, but for the <em>entire time</em> the stream stayed open (potentially minutes or hours). When I rapidly switched between 10 conversations, each stream grabbed its own connection and held it. After 10 switches, all available connections were taken. Request number 11 had to wait, timing out after 10 seconds.</p><p>The confusing part? Only 10 connections were actually held, not 63. But those 10 connections were enough to exhaust the pool when they never got released.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HyNb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HyNb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.png 424w, https://substackcdn.com/image/fetch/$s_!HyNb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.png 848w, https://substackcdn.com/image/fetch/$s_!HyNb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.png 1272w, https://substackcdn.com/image/fetch/$s_!HyNb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HyNb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.png" width="714" height="571.609756097561" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1116,&quot;width&quot;:1394,&quot;resizeWidth&quot;:714,&quot;bytes&quot;:318130,&quot;alt&quot;:&quot;&quot;,&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://blendingbits.io/i/177530643?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe299ef91-2cde-4044-83a2-91666141e32c_1428x1116.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_!HyNb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.png 424w, https://substackcdn.com/image/fetch/$s_!HyNb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.png 848w, https://substackcdn.com/image/fetch/$s_!HyNb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.png 1272w, https://substackcdn.com/image/fetch/$s_!HyNb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33e535de-8dc6-4a0f-8977-a0f82d575de4_1394x1116.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><strong>The Fix</strong></p><p>Added a wrapper function that forces the database connection to close immediately after the security check completes, rather than keeping it open for the stream&#8217;s lifetime.</p><p>The change: three words added to one line of code.</p><p>The investigation: 1,427 lines of documentation across four days.</p><p>That&#8217;s debugging.</p><h3><strong>Where AI Falls Short</strong></h3><p><strong>Claude struggled with distinguishing root causes from legitimate issues.</strong> Claude can&#8217;t distinguish between &#8220;not the problem&#8221; and &#8220;not a problem.&#8221; It marked legitimate bugs as resolved simply because they didn&#8217;t explain the hang. I had to circle back manually to fix these issues later.</p><p>This speaks to a broader limitation: LLMs can&#8217;t maintain a nuanced &#8220;mental model&#8221; where something can be simultaneously &#8220;not the root cause&#8221; and &#8220;still needs fixing.&#8221;</p><p><strong>Temporal reasoning remains a weak spot.</strong> Claude&#8217;s sense of time is consistently off. The investigation documents suggest this took weeks, but it actually took days. This mirrors temporal issues I&#8217;ve noticed elsewhere: when planning projects, Claude thinks everything will take weeks. When doing AI-powered research, models struggle with understanding that one source supersedes another simply because it&#8217;s more recent. The temporal confusion was most apparent in the &#8220;lessons learned&#8221; document Claude generated after reading the full investigation - it assumed the ordeal spanned weeks rather than days, presumably because the depth of investigation <em>felt</em> like it should take that long.</p><p><strong>Documentation accuracy was directionally right but not always precise.</strong> The overall narrative held up, though not everything Claude documented matched exactly what happened. The core issue is how it handles granularity and structure: Claude didn&#8217;t quite grasp that hypotheses and solutions are independent &#8220;atoms&#8221; of investigation. Instead, it treated the entire documentation as one continuous stream, making it harder to distinguish between what we tried, when we tried it, and what we learned from it.</p><p><strong>I still had to direct the investigation.</strong> Despite Claude&#8217;s ability to run tests and document findings, I needed to point it toward the right logs, suggest which areas to investigate next, and make judgment calls about what mattered. It&#8217;s like having a brilliant research assistant who can exhaustively check everything you point them to, but can&#8217;t quite develop investigative intuition on their own.</p><p><strong>Manual reproduction was unavoidable.</strong> The debugging process was deeply manual. I had to physically click through the app to trigger the hang, over and over. In the future, I&#8217;d love to try something like a Playwright MCP or similar automation to let Claude drive the debugging process itself. But UI automation is notoriously flaky - anyone who&#8217;s maintained Selenium tests knows the pain. Perhaps tools like <a href="https://www.stagehand.dev/">Stagehand</a>, which are AI-native, could help bridge this gap. Until then, the human remains an essential component of the debugging loop.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>What This Taught Me About AI-Assisted Development</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BeWQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BeWQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!BeWQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!BeWQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!BeWQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BeWQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3587210b-36eb-4fff-98ee-fa3ccd63c552_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;:1804842,&quot;alt&quot;:&quot;&quot;,&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://blendingbits.io/i/177530643?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_1024x1024.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_!BeWQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!BeWQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!BeWQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!BeWQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3587210b-36eb-4fff-98ee-fa3ccd63c552_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><p><strong>Context engineering is the difference between a helpful assistant and an expensive parrot.</strong> When Claude had good documentation to work from, it could build on previous findings and make useful inferences about where to look next. This is where AI coding agents shine - their uniform ability to reference specific artifacts (@my_file) is crucial. I wish this function laity existed outside of coding assistants. I had Claude document learnings separately and more concisely so they could serve as future reference and best practices. These findings echo the <a href="https://blendingbits.io/p/my-modular-ai-context-stack">context stack</a> I described earlier this year. Organizing context isn&#8217;t glamorous, but neither is debugging. Both require the same discipline.</p><p><strong>Human-in-the-loop isn&#8217;t a bug, it&#8217;s a feature</strong> Similar to my <a href="https://blendingbits.io/p/beyond-the-fine-print">learnings with Atticus</a>, current AI technology is too early to be completely autonomous. What worked really well in this workflow was being able to redirect Claude when I saw it going down the wrong path. This is why Claude Code currently has the best coding agent experience: it uses tools I use, in my development environment, and I can supervise and jump in when needed. This design philosophy becomes striking when comparing against other AI coding agents that try to do everything autonomously and end up doing nothing useful.</p><p><strong>Artifacts are the infrastructure layer of AI debugging.</strong> In this case: code Claude could run, and documentation it could reference. Without easy access to these artifacts, Claude would be left guessing about what&#8217;s been tried and how to verify changes. The ability to create, reference, and modify concrete artifacts transforms an AI from a chatbot into a genuine debugging partner.</p><p>The broader lesson? AI assistance works best when you treat it like a skilled junior developer who&#8217;s really good at following instructions and running experiments, but needs you to provide the investigative intuition and strategic direction.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Funny enough, Python 3.14 (released after this debugging saga) includes <a href="https://docs.python.org/3.14/whatsnew/3.14.html#pdb">improvements</a> specifically for debugging async tasks. Would&#8217;ve saved me some pain.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>If you&#8217;ve read &#8220;<a href="https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/">What color is your function?</a>&#8220; you know mixing async and sync is dangerous. This was my most direct contact with that danger.</p></div></div>]]></content:encoded></item><item><title><![CDATA[My Modular AI Context Stack]]></title><description><![CDATA[Building a Personal Knowledge OS for the AI Era]]></description><link>https://blendingbits.io/p/my-modular-ai-context-stack</link><guid isPermaLink="false">https://blendingbits.io/p/my-modular-ai-context-stack</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Thu, 12 Jun 2025 12:37:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AMem!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.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_!AMem!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AMem!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!AMem!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!AMem!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!AMem!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AMem!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9bae14ae-4a8a-4bb2-8bc2-0f8768461697_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;:1932380,&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://blendingbits.io/i/165658662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_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_!AMem!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!AMem!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!AMem!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!AMem!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bae14ae-4a8a-4bb2-8bc2-0f8768461697_1024x1024.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>After months of experimenting with AI assistants across different projects, I've developed what I call a "modular AI context stack" &#8211; a systematic approach to managing knowledge that transforms how I work with AI. It's not just about better prompts; it's about building a reusable infrastructure for thought.</p><p>But let me be clear upfront: this is messy, manual, and very much a work in progress. I'm not selling you a polished system &#8211; I'm sharing an evolving experiment that's been valuable despite its rough edges.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2>The Multi-Assistant Advantage</h2><p>I previously wrote about LLMs as thought partners: </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b6b71818-a016-4118-9924-1e238c0be441&quot;,&quot;caption&quot;:&quot;An esoteric use-case for which I find myself increasingly turning to LLMs is as a thought partner. I don't mean using AI as a therapist or as a girlfriend, like some other prevalent uses. Instead, I'm leveraging LLMs to help me think through complex decision-making and planning processes. While this use-case might seem odd at first, I believe it will be&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;LLMs as Thought Partners&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:127381235,&quot;name&quot;:&quot;darlin&quot;,&quot;bio&quot;:&quot;I'm a software engineer that likes building cool stuff, and frequently wax poetic.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29e363b8-0457-4b09-b998-d7799cc67d0d_2265x2265.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-10-20T12:02:57.199Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blendingbits.io/p/llms-as-thought-partners&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:150460818,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;blending bits&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb21b58c2-e7dc-4395-8024-965e6867e84b_1024x1024.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I explored how AI can help us think through complex decisions. But here's what I've discovered since: using multiple AI assistants isn't just helpful &#8211; it's transformative. I regularly pit Claude, ChatGPT, and Gemini against each other on the same problems, not because I can't pick a favorite, but because their different biases and approaches create productive friction.</p><p>Think of it like assembling your own advisory board, where each member brings distinct perspectives. Claude might offer nuanced analysis, ChatGPT provides creative alternatives, and Gemini excels at technical precision. The magic happens when you compare their responses &#8211; suddenly you're seeing blind spots and opportunities you'd miss with a single assistant.</p><p>The reality? This means having three browser tabs open, manually copying prompts between them, and doing the synthesis work myself. There's no elegant orchestration layer here &#8211; just good old-fashioned manual labor. But the insights are worth the friction.</p><h2>The Atomic Document Revolution</h2><p>The breakthrough came when I started treating context like code &#8211; modular, reusable, and version-controlled. Instead of dumping everything into massive prompts, I create focused, single-purpose documents that live in Google Docs.</p><p>For <a href="https://www.blazer.so">Blazer</a>, my SERP analysis tool, this looks like:</p><ul><li><p><strong>Brand Guidelines</strong>: Visual identity, tone, and messaging principles</p></li><li><p><strong>Product Strategy</strong>: Market positioning, competitive analysis, and roadmap</p></li><li><p><strong>Technical Specifications</strong>: API design patterns and data structures</p></li><li><p><strong>Customer Insights</strong>: Interview summaries and usage patterns</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_QDZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_QDZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.png 424w, https://substackcdn.com/image/fetch/$s_!_QDZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.png 848w, https://substackcdn.com/image/fetch/$s_!_QDZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.png 1272w, https://substackcdn.com/image/fetch/$s_!_QDZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_QDZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.png" width="482" height="504" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f017fb5e-f844-4270-a934-714d029b16d4_482x504.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:504,&quot;width&quot;:482,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:35596,&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://blendingbits.io/i/165658662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.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_!_QDZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.png 424w, https://substackcdn.com/image/fetch/$s_!_QDZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.png 848w, https://substackcdn.com/image/fetch/$s_!_QDZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.png 1272w, https://substackcdn.com/image/fetch/$s_!_QDZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff017fb5e-f844-4270-a934-714d029b16d4_482x504.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>Each document is atomic &#8211; it stands alone, focuses on one thing, and acts as the "Directly Responsible Individual" (DRI) for that knowledge domain. Just as microservices revolutionized software architecture, this approach transforms AI context management.</p><p>Except, unlike microservices, there's no automatic discovery or loading. I'm manually sharing Google Doc links with Claude, or copy-pasting entire documents when link sharing doesn't work. Sometimes I forget which document has what, leading to a frantic search through my Drive. It's inelegant, but it beats starting from scratch every time.</p><h2>From Documentation Avoider to Context Architect</h2><p>Here's a confession: as a manager, writing documentation was always my Achilles' heel. I'd rather build ten prototypes than write one process document. But AI has completely flipped this script.</p><p>Why? Because the payback is immediate and multiplicative. When I document a decision framework today, tomorrow's AI conversation starts from that foundation rather than square one. It's like compound interest for knowledge work &#8211; every well-crafted document becomes a force multiplier across all future AI interactions.</p><p>This shift has been profound. I've gone from avoiding documentation to actively seeking opportunities to memorialize insights. The key difference? I'm not writing for some hypothetical future reader &#8211; I'm building tools for my AI collaborators to help me think better, faster, and more consistently.</p><p>That said, maintaining this system is its own burden. Documents get stale. I'll reference a strategy doc in an AI conversation only to realize it's three iterations behind my current thinking. The overhead of keeping everything updated is real, and I don't have a good solution yet.</p><h2>The Power of Portable Context</h2><p>Storing these atomic documents in Google Docs might seem mundane, but it's strategically brilliant. The documents live in a format that's broadly accessible &#8211; I can share them with any AI assistant, paste them into any chat interface, or reference them across platforms. No vendor lock-in, no migration headaches &#8211; just pure portability.</p><p>This approach also solves the context window problem elegantly. Instead of cramming everything into a single conversation, I can selectively load only the relevant modules. Working on brand design? Pull in the visual guidelines. Discussing technical architecture? Load the API specifications. It's precision context at scale.</p><p>The manual nature is both a feature and a bug. On one hand, I have complete control over what context each AI assistant sees. On the other, I'm the integration layer &#8211; constantly copying, pasting, and managing which documents go where. When I'm on mobile, the friction multiplies.</p><p>Looking ahead, protocols like MCP (Model Context Protocol) could transform this manual process into something more automated &#8211; imagine AI assistants directly querying your document repository based on conversation context. But for now, I'm the human API between my knowledge base and AI tools.</p><h2>Building Your Own Context Stack</h2><p>The principles for effective atomic artifacts are surprisingly simple:</p><ul><li><p><strong>Single Focus</strong>: Each document should have one clear purpose</p></li><li><p><strong>Self-Contained</strong>: Minimize dependencies between documents</p></li><li><p><strong>Broadly Accessible</strong>: Use formats that work everywhere</p></li><li><p><strong>Living Documents</strong>: Update them as you learn</p></li></ul><p>What makes this approach powerful isn't the individual documents &#8211; it's the system. You're essentially building a knowledge management OS that amplifies AI's capabilities while maintaining your unique perspective and expertise.</p><p>But here's what they don't tell you: figuring out the right granularity is an art. Too atomic, and you're drowning in documents. Too broad, and you lose the modularity benefits. I'm constantly refactoring my document structure, splitting some, merging others. It's very much a learning process.</p><h2>The Meta-Skill of Context Management</h2><p>As AI tools proliferate, the differentiating skill isn't knowing which model to use or how to craft clever prompts. It's becoming a master of context &#8211; knowing what information to provide, when to provide it, and how to structure it for maximum leverage.</p><p>This modular approach has transformed how I work. Complex projects that once required lengthy briefings now start with a few strategic document references. Consistency across projects has improved dramatically because core principles live in reusable modules rather than my fallible memory.</p><p>More importantly, it's made AI feel less like a tool and more like a true collaborator. When your AI assistant has access to your accumulated wisdom, structured thoughtfully, the conversations become richer and the outputs more aligned with your goals.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2>The Honest Truth</h2><p>This system is held together with digital duct tape and determination. It's manual where it should be automated, fragile where it should be robust, and constantly evolving as I discover better approaches. Some days I wonder if I'm overengineering something that should be simple.</p><p>But despite all the friction, it works. The manual copy-pasting, the constant document updates &#8211; they're all worth it for the leverage this approach provides. I'm building a personal knowledge infrastructure one Google Doc at a time, and while it's not pretty, it's mine.</p><p>The future of AI isn't just about better models &#8211; it's about better collaboration between human expertise and AI capabilities. Building your own modular context stack is the first step toward that future. Start small, document one process or framework, and watch how it transforms your next AI interaction. The compound effects might surprise you.</p><p>Just don't expect it to be elegant. Expect it to be useful.</p>]]></content:encoded></item><item><title><![CDATA[MCP: A First Look at the Protocol Reshaping AI Application Development]]></title><description><![CDATA[Breaking: Two major developments this week have catapulted MCP from promising experiment to industry standard practically overnight:]]></description><link>https://blendingbits.io/p/mcp-a-first-look-at-the-protocol</link><guid isPermaLink="false">https://blendingbits.io/p/mcp-a-first-look-at-the-protocol</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Thu, 27 Mar 2025 12:45:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bQ7z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_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_!bQ7z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bQ7z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bQ7z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bQ7z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bQ7z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bQ7z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bebe766f-756d-4791-bc2c-74febbd3af8d_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;:2053549,&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://blendingbits.io/i/159944735?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_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_!bQ7z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bQ7z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bQ7z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bQ7z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbebe766f-756d-4791-bc2c-74febbd3af8d_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><strong>Breaking:</strong> Two major developments this week have catapulted MCP from promising experiment to industry standard practically overnight:</p><ol><li><p>OpenAI announced they'll be supporting MCP across their products, with integration available today in their agents SDK and support for ChatGPT desktop app and responses API coming soon.</p></li><li><p>Anthropic shared that a new version of the MCP spec was finalized today, introducing critical improvements including an auth framework based on OAuth 2.1, streamable HTTP transport replacing the previous HTTP+SSE implementation, support for JSON-RPC batching, and tool annotations for better describing tool behavior.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CFlM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CFlM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png 424w, https://substackcdn.com/image/fetch/$s_!CFlM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png 848w, https://substackcdn.com/image/fetch/$s_!CFlM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png 1272w, https://substackcdn.com/image/fetch/$s_!CFlM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CFlM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png" width="604" height="217" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:217,&quot;width&quot;:604,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image.png" title="image.png" srcset="https://substackcdn.com/image/fetch/$s_!CFlM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png 424w, https://substackcdn.com/image/fetch/$s_!CFlM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png 848w, https://substackcdn.com/image/fetch/$s_!CFlM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png 1272w, https://substackcdn.com/image/fetch/$s_!CFlM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6829f6-b48a-4937-a6e4-87a36c1c3b56_604x217.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>In just four months, MCP has evolved from an idea at Anthropic about making integrations easier for developers to becoming the de facto standard for AI app integrations across the industry.</p><p>Here are my initial thoughts on this rapidly evolving technology and what it means for both builders and users.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><p></p><h2><strong>What Is MCP, Really?</strong></h2><p>Let's cut through the marketing: MCP is a protocol, not a product. Think of it as today's equivalent of early USB or OAuth standards. It defines a way for AI assistants like Claude to communicate with external applications through specialized "servers" without requiring custom code for each integration.</p><p>The promise is compelling: write integration code once as an MCP server, and any compatible AI assistant (or application) can use it. This standardization could eliminate countless redundant implementations and eventually make AI-to-application connections as seamless as authenticating with "Login with Google."</p><h2><strong>The Builder's Perspective</strong></h2><p>As someone who's built AI products, I approach MCP with cautious optimism. The protocol doesn't eliminate the need to write code &#8212; someone still needs to build those MCP servers. What it does is create the potential for standards that allow that code to be written once and used across multiple AI hosts.</p><p>Currently, implementing MCP servers requires more technical savvy than most users possess. You're still editing JSON files and managing API keys. This technical barrier means we're firmly in early adopter territory.</p><p>Initially, MCP looked like Anthropic's version of Android to OpenAI's iOS. While OpenAI had built a closed-garden approach with GPT Store and plugins, Anthropic appeared to be betting on an open ecosystem that other AI companies might rally behind to compete collectively against the market leader.</p><p>With today's announcement from Sam Altman, this dynamic has shifted significantly. OpenAI's embrace of MCP suggests we may be moving toward a more standardized ecosystem rather than competing walled gardens. This could accelerate developer adoption dramatically, as building MCP servers now potentially grants access to both Claude and ChatGPT users.</p><p><strong>The User Experience</strong></p><p>For users, MCP's promise is enabling AI assistants to actually <em>do things</em> rather than just talk about them. Instead of asking Claude to write a script to download regulatory documents, you could simply ask Claude to download them directly. That's powerful.</p><p>In practice, however, the experience remains hit-or-miss. Even after installing an MCP server, you might find yourself repeatedly prompting "Please use the database server" while Claude seemingly ignores your request. The non-deterministic nature of LLMs means you can't guarantee your MCP server will be called even when it's the perfect tool for the job.</p><p>When it works, though, it's genuinely impressive. I've seen demos where Claude analyzes database contents or updates blog tags across platforms. These experiences feel magical compared to traditional interfaces.</p><h2><strong>The Missing Pieces</strong></h2><p>Earlier this month, several crucial elements still needed addressing for MCP to reach mainstream adoption:</p><ol><li><p><strong>Installation and discovery</strong> - There was no centralized marketplace or one-click installation process</p></li><li><p><strong>Authentication and permissions</strong> - The protocol lacked built-in OAuth-like functionality for managing access across users</p></li><li><p><strong>Function namespace collision</strong> - All functions lived in the same namespace, creating challenges as collections of MCP servers grew</p></li><li><p><strong>Testing and reliability</strong> - Building evaluation frameworks was difficult when you couldn't predict which model would process your requests</p></li></ol><p>Remarkably, today's spec update directly addresses several of these concerns. The addition of an OAuth 2.1-based authentication framework resolves one of the most significant barriers to enterprise adoption. Just as I predicted earlier, we're seeing internet protocols building on top of each other - MCP isn't reinventing authentication but leveraging established standards.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QcdN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QcdN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.png 424w, https://substackcdn.com/image/fetch/$s_!QcdN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.png 848w, https://substackcdn.com/image/fetch/$s_!QcdN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.png 1272w, https://substackcdn.com/image/fetch/$s_!QcdN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QcdN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.png" width="607" height="309" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:309,&quot;width&quot;:607,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image 2.png&quot;,&quot;title&quot;:&quot;image 2.png&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image 2.png" title="image 2.png" srcset="https://substackcdn.com/image/fetch/$s_!QcdN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.png 424w, https://substackcdn.com/image/fetch/$s_!QcdN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.png 848w, https://substackcdn.com/image/fetch/$s_!QcdN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.png 1272w, https://substackcdn.com/image/fetch/$s_!QcdN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db258f2-6044-4f2c-a016-06d2fd474c26_607x309.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>This pattern of layered protocols mirrors how the internet itself developed. Each new protocol builds upon existing foundations rather than starting from scratch. MCP represents a new layer connecting probabilistic AI systems to deterministic applications, following the same evolutionary pattern.</p><h2><strong>Interfaces of the Future</strong></h2><p>Is MCP bound to be used only in AI assistants, and will conversational interfaces become dominant, or are they just a transitional technology?</p><p>While natural language reduces the barrier to discovering functionality (no more remembering exact menu options), the cognitive load of expressing yourself through language remains significant. Most users don't want to craft perfect prompts &#8212; they want buttons, visual elements, and guided experiences.</p><p>The most likely future combines these approaches: purpose-built applications with clear visual interfaces for common tasks, augmented by conversational capabilities for flexibility and exploration.</p><p>MCP is valuable regardless of interface evolution because it standardizes how AI-native applications connect to traditional software, creating a consistent bridge between probabilistic and deterministic systems. Whether accessed through chat, buttons, or voice commands, the underlying protocol enables seamless integration across application types.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><p></p><h2><strong>Looking Forward</strong></h2><p>With both OpenAI and Anthropic firmly behind MCP, the question of industry adoption seems settled &#8211; this protocol is now poised to become the standard way AI assistants interact with external applications. The speed of this convergence is unprecedented in protocol development, compressing what would typically take years into mere months.</p><p>The rapid evolution of the MCP spec itself is equally impressive. The inclusion of OAuth-based authentication, streamable HTTP transport, and improved tool annotations addresses several of the key limitations I observed just weeks ago. This pace of improvement suggests we may see solutions to remaining challenges like function namespace collision and testing frameworks sooner rather than later.</p><p>For builders, this represents a clear signal to invest in MCP development. Building MCP servers now grants access to both Claude and ChatGPT users &#8211; covering the vast majority of the consumer AI assistant market. This dramatically changes the ROI calculation for developers who were hesitant to commit resources to an unproven protocol.</p><p>These are just my initial impressions as the landscape evolves incredibly quickly. By the time you read this, more details about implementation timelines or additional improvements to the spec may have emerged. The AI ecosystem changes daily, and we're all figuring this out in real-time.</p><p>What's clear is that MCP represents a fundamental shift in how AI systems interact with external applications. Just as HTTP standardized web communications and OAuth standardized authentication, MCP is standardizing the bridge between probabilistic AI systems and deterministic applications &#8211; creating the foundation for the next wave of AI-native software.</p><p></p>]]></content:encoded></item><item><title><![CDATA[Beyond the Fine Print]]></title><description><![CDATA[What Building an AI Legal Assistant Taught Me About the Future]]></description><link>https://blendingbits.io/p/beyond-the-fine-print</link><guid isPermaLink="false">https://blendingbits.io/p/beyond-the-fine-print</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Thu, 27 Feb 2025 12:30:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KLgx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg" 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_!KLgx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KLgx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KLgx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KLgx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KLgx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KLgx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg&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;:null,&quot;alt&quot;:&quot;replicate-prediction-50b1rdyx6srme0cn8fmrhn5we4.jpg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="replicate-prediction-50b1rdyx6srme0cn8fmrhn5we4.jpg" title="replicate-prediction-50b1rdyx6srme0cn8fmrhn5we4.jpg" srcset="https://substackcdn.com/image/fetch/$s_!KLgx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KLgx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KLgx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KLgx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4132584f-908a-40ec-a723-91f0120325ec_2496x1664.jpeg 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 recently shutdown Atticus, my first consumer AI product that aimed to make legal contracts accessible to everyone. The journey of building and launching it taught me invaluable lessons about AI product development, market dynamics, and the future of technology.</p><p>Atticus was born in June 2023 during the initial AI boom when my friend Dylan approached me with a simple question: could AI help analyze his girlfriend's gym contract? Over the next year, we built one of the early consumer-facing AI legal tools. The journey took us through the Vercel AI Accelerator, gave us early access to GPT-4's expanded capabilities, landed us coverage in tech newsletters, and brought paying customers from around the globe.</p><p>At its core, Atticus analyzed contracts by breaking them down into plain English, determining if clauses favored the selected party, and assigning risk scores to concerning terms. Users could also engage with their contracts through an open-ended chat interface.</p><p>After a year and a half of learning, iterating, and serving users across multiple continents, I made the decision to shut it down - not because it wasn't useful (we were still making sales!), but because the path forward revealed deeper insights about the future of AI that I'll share in this post.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! </p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h3><strong>The Genesis Story</strong></h3><p>Dylan and I had been consulting on an AI project when he approached me about building a tool to analyze consumer contracts. Initially, we envisioned it as a simple consumer product like <a href="https://wordcounter.net">WordCounter</a>.</p><p>I was excited because early findings suggested LLMs were particularly well-suited for legal problems. I wrote:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k85f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k85f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png 424w, https://substackcdn.com/image/fetch/$s_!k85f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png 848w, https://substackcdn.com/image/fetch/$s_!k85f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png 1272w, https://substackcdn.com/image/fetch/$s_!k85f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k85f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png" width="1372" height="117" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:117,&quot;width&quot;:1372,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image.png" title="image.png" srcset="https://substackcdn.com/image/fetch/$s_!k85f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png 424w, https://substackcdn.com/image/fetch/$s_!k85f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png 848w, https://substackcdn.com/image/fetch/$s_!k85f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png 1272w, https://substackcdn.com/image/fetch/$s_!k85f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe55b19-853f-4768-ba16-ce625fdcd6cc_1372x117.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>I flagged that costs might make a freemium model prohibitive, but decided to build it anyway, confident that <a href="https://blendingbits.io/p/a-birds-eye-view-of-the-competitive-6f4">LLM prices would drop</a> over time. I set a one-week deadline to build and start validating the idea with our networks to mitigate the risk of dropping other opportunities.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HkG-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HkG-!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif 424w, https://substackcdn.com/image/fetch/$s_!HkG-!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif 848w, https://substackcdn.com/image/fetch/$s_!HkG-!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif 1272w, https://substackcdn.com/image/fetch/$s_!HkG-!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HkG-!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif" width="480" height="287" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:287,&quot;width&quot;:480,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;unveiling.gif&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="unveiling.gif" title="unveiling.gif" srcset="https://substackcdn.com/image/fetch/$s_!HkG-!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif 424w, https://substackcdn.com/image/fetch/$s_!HkG-!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif 848w, https://substackcdn.com/image/fetch/$s_!HkG-!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif 1272w, https://substackcdn.com/image/fetch/$s_!HkG-!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8aed123d-1591-446e-bad0-18ee7cd38b07_480x287.gif 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 very first demo of Atticus, one week after initially discussing the idea.</figcaption></figure></div><p>We launched within a week and immediately recognized that running Atticus wouldn't be cheap. In June 2023, the LLM price reductions we now take for granted hadn't kicked in. We applied to the Vercel AI Accelerator for free AI credits and access to models that weren't widely available, including Claude (with its then class-leading 100K context window) and GPT-4-32K.</p><h3><strong>Technical Architecture</strong></h3><p>I built Atticus' backend with Langchain, using a multi-step pipeline to analyze contracts:</p><ol><li><p><strong>Extract text</strong> from uploaded documents (PDFs, docx, etc.)</p></li><li><p><strong>Determine contract type</strong> and extract key information like dates and parties</p></li><li><p><strong>Generate analysis criteria</strong> - the clauses an experienced attorney would look for in that contract type</p></li><li><p><strong>Compare the contract</strong> against these criteria, analyzing how favorable each clause was</p></li></ol><p>This approach had several advantages:</p><ul><li><p>Reduced perceived latency by splitting the analysis into stages</p></li><li><p>Improved effectiveness by focusing the model on specific tasks</p></li><li><p>Enabled caching by separating contract type analysis from specific instances</p></li><li><p>Provided a dynamic, non-deterministic approach that still yielded consistent results</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cYIp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cYIp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.png 424w, https://substackcdn.com/image/fetch/$s_!cYIp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.png 848w, https://substackcdn.com/image/fetch/$s_!cYIp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.png 1272w, https://substackcdn.com/image/fetch/$s_!cYIp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cYIp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.png" width="1044" height="901" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:901,&quot;width&quot;:1044,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;mermaid-diagram-2025-01-30-175515.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="mermaid-diagram-2025-01-30-175515.png" title="mermaid-diagram-2025-01-30-175515.png" srcset="https://substackcdn.com/image/fetch/$s_!cYIp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.png 424w, https://substackcdn.com/image/fetch/$s_!cYIp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.png 848w, https://substackcdn.com/image/fetch/$s_!cYIp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.png 1272w, https://substackcdn.com/image/fetch/$s_!cYIp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F472182d6-e5db-4d2b-9eff-b971352bdc54_1044x901.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>Initially, I spent significant time optimizing our pipeline to reduce costs, trying different RAG techniques and models. Between the Vercel AI credits and my belief that costs would eventually decrease, I pivoted to focus on launching faster.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!--Hw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!--Hw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!--Hw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!--Hw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!--Hw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!--Hw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg" width="768" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:768,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;B1006F28-B9ED-4C3C-82C1-6DC774EB7604_1_105_c.jpeg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="B1006F28-B9ED-4C3C-82C1-6DC774EB7604_1_105_c.jpeg" title="B1006F28-B9ED-4C3C-82C1-6DC774EB7604_1_105_c.jpeg" srcset="https://substackcdn.com/image/fetch/$s_!--Hw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!--Hw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!--Hw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!--Hw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdffac46e-8df3-45f1-9472-03c3ea240a26_768x1024.jpeg 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 first public IRL demo at Betaworks!</figcaption></figure></div><h3><strong>The Search for PMF</strong></h3><p>After launch, we found that people in our networks liked the concept but didn't need a tool like Atticus consistently. We explored different ICPs over the next few months - content creators, tech consultants, construction contractors, and startup founders. I even cold emailed ~60 construction companies in NYC (0% response rate &#128557;).</p><p>While our rapid experimentation approach was valuable, in retrospect, we should have gone deeper with each potential ICP rather than quickly switching between them. For instance, with construction companies, phone calls might have been more effective than email outreach.</p><p>We got most of our users through:</p><ul><li><p><strong>LinkedIn</strong>, where our "build in public" approach resonated with professional networks</p></li><li><p><strong>In-person demos</strong> at meetups (though mostly to AI enthusiasts rather than target users)</p></li><li><p><strong>Hacker News</strong> posts (briefly reaching page 1 of Show HN)</p></li><li><p><strong>Tech newsletters</strong> like <a href="https://bensbites.com">Ben's Bites</a> and <a href="https://theresanaiforthat.com/">There's An AI for That</a>, which drove significant organic traffic</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DDhs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DDhs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DDhs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DDhs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DDhs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DDhs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg" width="1024" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg&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;:null,&quot;alt&quot;:&quot;3E243E54-C26E-4909-855F-01C6ED811316_1_105_c.jpeg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="3E243E54-C26E-4909-855F-01C6ED811316_1_105_c.jpeg" title="3E243E54-C26E-4909-855F-01C6ED811316_1_105_c.jpeg" srcset="https://substackcdn.com/image/fetch/$s_!DDhs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DDhs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DDhs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DDhs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6dc190ec-09f8-486e-8d31-5ea9ddbdadd2_1024x768.jpeg 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">Presenting at Bloomberg Beta in October &#8216;23</figcaption></figure></div><h3><strong>Show Me the Money</strong></h3><p>In the fall, Lunar and Dylan redesigned Atticus into something that looked like a real product:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bPZB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bPZB!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif 424w, https://substackcdn.com/image/fetch/$s_!bPZB!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif 848w, https://substackcdn.com/image/fetch/$s_!bPZB!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif 1272w, https://substackcdn.com/image/fetch/$s_!bPZB!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bPZB!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif" width="480" height="301" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:301,&quot;width&quot;:480,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;atticus-redesign.gif&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="atticus-redesign.gif" title="atticus-redesign.gif" srcset="https://substackcdn.com/image/fetch/$s_!bPZB!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif 424w, https://substackcdn.com/image/fetch/$s_!bPZB!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif 848w, https://substackcdn.com/image/fetch/$s_!bPZB!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif 1272w, https://substackcdn.com/image/fetch/$s_!bPZB!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc399585-bdd0-4e16-a218-a73823d7e2fb_480x301.gif 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"></figcaption></figure></div><p>Around this time, Dylan noticed we had users returning frequently, so we implemented usage-based billing - 4 analyses for $20. We set up Stripe within a couple of days and got our first paying customer in October 2023! Sales continued to trickle in consistently until the day right before I decided to shut down.</p><p>We applied to YC and got an interview, though we didn't get funded. Their feedback centered on Atticus not being venture-scale, which I didn't fully disagree with.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AyeH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AyeH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.png 424w, https://substackcdn.com/image/fetch/$s_!AyeH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.png 848w, https://substackcdn.com/image/fetch/$s_!AyeH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.png 1272w, https://substackcdn.com/image/fetch/$s_!AyeH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AyeH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.png" width="1456" height="515" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:515,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image 2.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image 2.png" title="image 2.png" srcset="https://substackcdn.com/image/fetch/$s_!AyeH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.png 424w, https://substackcdn.com/image/fetch/$s_!AyeH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.png 848w, https://substackcdn.com/image/fetch/$s_!AyeH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.png 1272w, https://substackcdn.com/image/fetch/$s_!AyeH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ea6537d-dfed-4927-8281-44fbea1bf6c9_3124x1106.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">We did too many takes for our YC app &#128557;</figcaption></figure></div><p>In retrospect, the YC rejection was the death knell for Atticus. I processed the rejection emotionally but moved on without fully internalizing or actively rejecting the feedback - a missed opportunity to make a more deliberate strategic decision.</p><p>After scaling down resources to reduce operating costs and switching to more affordable models, Atticus continued to generate sales. It was bittersweet to see my prediction about falling LLM costs play out in real life. &#129394;</p><h3><strong>Why It Didn't Work</strong></h3><p>A concept like Atticus requires changing people's expectations of what technology can do for them. While technology evolves rapidly, people and institutions change much more slowly. As Tyler Cowen said in a <a href="https://www.dwarkeshpatel.com/p/tyler-cowen-4">recent interview</a>: "the number one bottleneck to AI progress is humans."</p><p>Atticus excited early AI adopters but faced barriers to broader adoption. One model we explored was offering AI-augmented legal services, using AI to handle monotonous low-value work while connecting lawyers with high-value work.</p><p>However, lawyers showed little enthusiasm for disrupting their own industry. The legal system is built around billable hours, and persuading professionals to change a system that financially benefits them proved extremely difficult. As Upton Sinclair noted: "It is difficult to get a man to understand something, when his salary depends on his not understanding it."</p><p>Potential customers (startup founders and operators) recognized the value, feeling the pain of inefficient legal processes. But we faced a chicken-and-egg problem: delivering the service required lawyers who weren't ready to adopt the technology.</p><p>An idea this disruptive could succeed, but it needs a long-term plan (10+ years) with sustainable phases along the way. Think of Amazon, which aimed to be the "everything store" but started with books before expanding category by category. We lacked such a patient approach.</p><p>Another challenge: AI products aren't well-suited to traditional software business models. Unlike deterministic software, AI models are probabilistic and sometimes make mistakes. This contradicts customer expectations that software will work the same way every time.</p><p>In retrospect, the "services as software" model that <a href="https://thenewstack.io/service-as-software-how-ai-agents-are-transforming-saas/">has since emerged</a> seems most promising for AI products and agents. But this approach requires domain experts, bringing us back to the challenge of convincing technology-resistant lawyers to participate.</p><h3><strong>What </strong><em><strong>Did</strong></em><strong> Work</strong></h3><p>Despite these challenges, several things went right:</p><p><strong>Speed and iteration.</strong> We got an MVP in front of users within a week and built in public, garnering attention and support. A few months in, we implemented monetization and made our first sale within days of launching Stripe integration.</p><p>Usage-based pricing aligned well with our users' needs, as most didn't require ongoing analysis. Personally, making money directly from customers was exhilarating - a milestone "you can just do things" moment after years at early-stage startups.</p><p><strong>Ignoring the "thin wrapper" stigma.</strong> In 2023, many believed model providers would capture all the value in AI. Our experience proved otherwise - users didn't care <em>how</em> Atticus worked, only that it solved their problem. Several users familiar with ChatGPT still valued our bespoke solution.</p><p><strong>Cost projections proving correct.</strong> LLM prices plummeted as predicted, making Atticus more viable over time. GPT-4-32K initially cost $60 per million input tokens and $120 per million output tokens. Today, GPT-4o costs just $2.50 and $10 respectively - over 90% lower in less than two years.</p><h3><strong>Falling Forward: Learning the Hard Way</strong></h3><p>Building and shutting down Atticus taught me lessons no book could provide. Perhaps most surprising was realizing how different AI product development is from traditional software development - you're constantly navigating probabilities and edge cases rather than deterministic behaviors.</p><p>This insight has shaped <a href="https://ascention.works">Ascention</a>, my venture that helps teams adopt AI while building AI-based products. My vision is for Ascention to be to the AI age what 37signals was for the SaaS era &#8211; creating products and methodologies that define best practices in this new paradigm.</p><p>I've realized that the magic happens at the intersection of deterministic systems and AI capabilities. These systems require fundamentally different approaches to design, development, and user expectations.</p><p>The marketing journey revealed unexpected global interest - about 60% of our traffic came from outside the US. Legal documentation is clearly a universal pain point, though this complicated our approach given the jurisdictional complexities of legal assistance.</p><p>I confirmed my passion for 0-to-1 building and high-ambiguity environments. Starting with a blank slate and rapidly testing hypotheses energizes me in ways that later-stage product development doesn't. For truly transformative ideas like Atticus, however, you need a 10-year vision with sustainable phases along the way.</p><p>Technically, I discovered that frameworks like Langchain eventually became obstacles as I developed deeper familiarity with LLMs. The technology evolved at breakneck speed - features we built with considerable effort later became standard in LLM APIs, and expanding context windows made our document chunking strategies increasingly unnecessary.</p><p>The most practical lesson? Experiment quickly, but establish clear criteria for continuation or exit. Monetize early, even imperfectly - revenue validates your concept and provides emotional fuel through inevitable challenges.</p><p>Perhaps the most profound discovery was about agency - the power of "just doing things." There's something liberating about taking an idea from concept to reality and having strangers value it enough to pay for it. It reminds me of Theodore Roosevelt's "Man in the Arena" speech: "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood..." Despite its outcome, I wouldn't trade the Atticus experience and the growth it fostered.</p><p>While Atticus didn't become the venture-scale business we envisioned, I remain bullish on AI's transformative potential in legal services and beyond. We were right about where the puck was going but underestimated what it would take to survive until it got there. These lessons have fundamentally shaped how I'll approach building products through Ascention - creating systems that harness AI's potential while acknowledging its unique characteristics.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><h3><strong>Acknowledgements</strong></h3><p>This journey wouldn't have been possible without my incredible collaborators:</p><p><strong><a href="https://www.linkedin.com/in/dylanadtran/">Dylan</a></strong> was the catalyst that set everything in motion. From our initial conversations to driving key decisions around rapid launches and monetization, his technical prowess and entrepreneurial instincts were invaluable. Dylan's ability to transform abstract ideas into working code gave Atticus its initial momentum. He's now channeling his considerable talents into his own venture, and I have no doubt it will be exceptional.</p><p><strong><a href="https://www.linkedin.com/in/gregdocter/">Greg</a></strong> brought strategic organization and clarity amidst the chaos of early-stage building. His remarkable talent for driving alignment and "sharpening thinking" helped us navigate crucial decision points. Greg has that rare ability to synthesize complex information, identify core issues, and orchestrate teams toward coherent action.</p><p><strong><a href="https://www.linkedin.com/in/lunarle/">Lunar</a></strong>, my friend of over a decade, transformed Atticus from a functional tool into an experience users genuinely loved. Her extraordinary design sensibility elevated everything we built. In a world where skeptics dismiss AI products as "thin wrappers," Lunar's design expertise created an interface so thoughtful that users consistently praised the experience.</p><p>The Atticus journey reinforced something I've always believed: extraordinary collaborators make all the difference. I'm profoundly grateful to have worked alongside such talented individuals, and I look forward to watching their continued impact on the technology landscape.</p>]]></content:encoded></item><item><title><![CDATA[The Personal Software Revolution]]></title><description><![CDATA[When Code Becomes Personal Again]]></description><link>https://blendingbits.io/p/the-personal-software-revolution</link><guid isPermaLink="false">https://blendingbits.io/p/the-personal-software-revolution</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Thu, 21 Nov 2024 13:03:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!J3Vk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.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_!J3Vk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J3Vk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.png 424w, https://substackcdn.com/image/fetch/$s_!J3Vk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.png 848w, https://substackcdn.com/image/fetch/$s_!J3Vk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.png 1272w, https://substackcdn.com/image/fetch/$s_!J3Vk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J3Vk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.png" width="1344" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:737044,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!J3Vk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.png 424w, https://substackcdn.com/image/fetch/$s_!J3Vk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.png 848w, https://substackcdn.com/image/fetch/$s_!J3Vk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.png 1272w, https://substackcdn.com/image/fetch/$s_!J3Vk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98ecb2b-c66c-412a-a16b-54f5f0e57466_1344x768.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 few months ago, Klarna made waves by announcing they were replacing Salesforce and Workday with AI-built solutions. But this wasn't just another cost-cutting move. It was a signal of a profound shift in how software gets created: the democratization of software development itself.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h1XD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518919ef-8623-4547-ad68-7bff47f54921_1802x1456.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h1XD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518919ef-8623-4547-ad68-7bff47f54921_1802x1456.png 424w, https://substackcdn.com/image/fetch/$s_!h1XD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518919ef-8623-4547-ad68-7bff47f54921_1802x1456.png 848w, https://substackcdn.com/image/fetch/$s_!h1XD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518919ef-8623-4547-ad68-7bff47f54921_1802x1456.png 1272w, https://substackcdn.com/image/fetch/$s_!h1XD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518919ef-8623-4547-ad68-7bff47f54921_1802x1456.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h1XD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518919ef-8623-4547-ad68-7bff47f54921_1802x1456.png" width="1456" height="1176" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/518919ef-8623-4547-ad68-7bff47f54921_1802x1456.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1176,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:613500,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h1XD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518919ef-8623-4547-ad68-7bff47f54921_1802x1456.png 424w, https://substackcdn.com/image/fetch/$s_!h1XD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518919ef-8623-4547-ad68-7bff47f54921_1802x1456.png 848w, https://substackcdn.com/image/fetch/$s_!h1XD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518919ef-8623-4547-ad68-7bff47f54921_1802x1456.png 1272w, https://substackcdn.com/image/fetch/$s_!h1XD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F518919ef-8623-4547-ad68-7bff47f54921_1802x1456.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></figure></div><h2>The Great Software Unbundling</h2><p>We've seen this pattern before. In the 1980s, the personal computer wrested control from the priesthood of mainframe operators. Before PCs, computing meant costly machines in air-conditioned rooms, operated by specialists in white coats. The PC revolution wasn't just about smaller computers&#8212;it democratized computing itself, enabling anyone to write a BASIC program or run VisiCalc.</p><p>In the 1990s, desktop publishing transformed an industry dominated by printing presses and typesetters. Tools like PageMaker and laser printers didn't just make publishing cheaper&#8212;they enabled entirely new forms of expression and business models. Small newsletters and magazines flourished, giving voice to communities that traditional publishers never served.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8dRS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8dRS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.png 424w, https://substackcdn.com/image/fetch/$s_!8dRS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.png 848w, https://substackcdn.com/image/fetch/$s_!8dRS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.png 1272w, https://substackcdn.com/image/fetch/$s_!8dRS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8dRS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.png" width="1456" height="1506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1506,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1046329,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8dRS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.png 424w, https://substackcdn.com/image/fetch/$s_!8dRS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.png 848w, https://substackcdn.com/image/fetch/$s_!8dRS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.png 1272w, https://substackcdn.com/image/fetch/$s_!8dRS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5f8252-e494-42ef-a243-37b55c998e80_1816x1878.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></figure></div><p>Today, we're seeing similar signs in software development:</p><ul><li><p>A developer builds a workout/diet planner that generates personalized meal plans and exercise routines with a single prompt</p></li><li><p>Claude artifacts <a href="https://simonwillison.net/2024/Oct/21/claude-artifacts/">enable building 14 different tools</a> in a week, from QR code decoders to audio processing apps</p></li><li><p>GitHub launches <a href="https://githubnext.com/projects/github-spark">Spark</a>, promising to turn ideas into instantly deployable applications through natural language</p></li></ul><p>But more importantly, look at what these tools are enabling. That workout planner isn't just a static app&#8212;it evolves through natural interaction, integrating with nutrition APIs and adapting its interface based on user feedback. The audio processing tool isn't just a simple converter&#8212;it interfaces directly with OpenAI's API to enable rich voice interactions. These aren't just faster ways to build the same old apps&#8212;they're enabling entirely new categories of personal software.</p><h2>Coding's YouTube Moment</h2><p>We're witnessing what many are calling "coding's YouTube moment." Just as YouTube transformed video creation, AI is reshaping software development. The parallels are striking:</p><p>Pre-YouTube:</p><ul><li><p>Video hosting required expensive setup and infrastructure</p></li><li><p>Professional editing tools cost thousands</p></li><li><p>Quality production needed specialized equipment</p></li></ul><p>Post-YouTube:</p><ul><li><p>Free hosting and distribution</p></li><li><p>Mobile-first editing tools</p></li><li><p>High-quality phone cameras</p></li></ul><p>Similarly, software development is undergoing its own transformation:</p><p>Before:</p><ul><li><p>Deployment required complex infrastructure knowledge</p></li><li><p>Development needed extensive technical expertise</p></li><li><p>Testing and iteration cycles took days or weeks</p></li></ul><p>Now:</p><ul><li><p>Platforms handle deployment and scaling automatically</p></li><li><p>Natural language interfaces lower technical barriers</p></li><li><p>Rapid prototyping and iteration happens in minutes</p></li></ul><p>Just as Hollywood initially dismissed YouTube as a platform for "cat videos," some developers today argue that AI-assisted coding can't create "serious" software. But this misses the point entirely. YouTube didn't replace Hollywood&#8212;it created entirely new categories of content and creators. Similarly, AI-assisted development won't replace traditional software engineering&#8212;it will enable new types of software and developers.</p><h2>The Missing Piece: Infrastructure</h2><p>The final piece of this transformation is deployment infrastructure. Companies like GitHub and Replit are racing to build platforms that make deploying and running applications as seamless as the development process itself.</p><p>The ideal platform needs to deliver:</p><ol><li><p>One-click deployment that's truly free</p></li><li><p>Unlimited bandwidth with a fair revenue-sharing model</p></li><li><p>An approachable interface that hides complexity without limiting capability</p></li></ol><p>GitHub Spark is tackling this with a fully managed runtime environment where deployment happens automatically as you create. Replit offers a similar vision but with more traditional development tools. Claude's artifacts showcase yet another approach through instantly runnable prototypes.</p><p>These platforms aren't just making deployment easier&#8212;they're reimagining what software distribution could look like in an AI-first world. Instead of separating development, deployment, and distribution into distinct phases, they're creating integrated environments where ideas can flow directly into running applications.</p><p>This infrastructure layer is crucial because it completes the democratization cycle. Just as YouTube needed both easy video creation tools AND seamless distribution to transform content creation, software needs both AI-assisted development AND friction-free deployment to enable truly personal software.</p><h2>Beyond The Code</h2><p>Furthermore, the cost of writing code dropping to zero doesn't eliminate all challenges. The true costs of software remain:</p><ul><li><p>Determining which problems are worth solving</p></li><li><p>Managing complexity as applications grow</p></li><li><p>Maintaining and improving systems over time</p></li><li><p>Understanding user needs and feedback</p></li></ul><p>This is why some enterprise software will persist. The dividing line isn't between AI-built and human-built software, but between commodity and strategic applications. Companies must ask: "Is this application core to our competitive advantage?"</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5s1l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5s1l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.png 424w, https://substackcdn.com/image/fetch/$s_!5s1l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.png 848w, https://substackcdn.com/image/fetch/$s_!5s1l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.png 1272w, https://substackcdn.com/image/fetch/$s_!5s1l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5s1l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.png" width="1216" height="1040" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1040,&quot;width&quot;:1216,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:264481,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5s1l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.png 424w, https://substackcdn.com/image/fetch/$s_!5s1l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.png 848w, https://substackcdn.com/image/fetch/$s_!5s1l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.png 1272w, https://substackcdn.com/image/fetch/$s_!5s1l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20b6a53b-6bc2-4ed3-80f6-c60eccd27eab_1216x1040.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">caption...</figcaption></figure></div><h2>The Path Forward</h2><p>We're entering an era where software becomes truly personal again. Just as the PC revolution transformed computing from a specialized discipline to a universal tool, AI is transforming software development from a technical challenge to a creative endeavor.</p><p>This will reshape the industry:</p><ul><li><p>Development focuses on problem definition rather than implementation</p></li><li><p>Enterprise software must compete on strategic value, not just features</p></li><li><p>New categories of applications emerge that weren't feasible before</p></li></ul><p>The barriers between users and creators are dissolving. We're moving toward a world where personalizing our software becomes as natural as customizing our desktop environment. This isn't just about making development faster or cheaper&#8212;it's about enabling everyone to create tools that precisely fit their needs.</p><p>The question isn't whether this transformation will happen, but what new possibilities it will unlock. As with YouTube, the most interesting innovations will likely come not from replicating existing software patterns, but from enabling entirely new categories of applications we haven't even imagined yet.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Friend Today, Competitor Tomorrow: AI's New Power Dynamics]]></title><description><![CDATA[This week in AI feels like watching several games of chess being played simultaneously, but all the players keep switching sides.]]></description><link>https://blendingbits.io/p/friend-today-competitor-tomorrow</link><guid isPermaLink="false">https://blendingbits.io/p/friend-today-competitor-tomorrow</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Fri, 01 Nov 2024 13:01:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QfCF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg" 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_!QfCF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QfCF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QfCF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QfCF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QfCF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QfCF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg" width="1344" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:384483,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&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_!QfCF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!QfCF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!QfCF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!QfCF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf52fa4c-6f9e-4125-ae82-9847e812d711_1344x768.jpeg 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></p><p>This week in AI feels like watching several games of chess being played simultaneously, but all the players keep switching sides. Google rolled out search grounding for Gemini, ChatGPT finally unveiled its web search, and Microsoft &#8211; in a particularly spicy move &#8211; announced it's bringing competing models to GitHub Copilot. Meanwhile, Anthropic quietly shipped desktop apps and voice features, while OpenAI started designing its own chips. What's going on here?</p><p>Let's unpack this tangled web of competition and cooperation, because it tells us something important about where the AI industry is headed.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><h2><strong>The Search Wars Heat Up</strong></h2><p>Remember when Google declared its "code red" over ChatGPT? Well, we're seeing the results of that scramble. Google's announcement of grounding with Google Search is a classic incumbent move &#8211; leveraging their moat in search to enhance their AI capabilities. It's a smart play that highlights Google's key advantage: fresh, authoritative web data at scale.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QDUd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75a52393-6961-44fa-b196-69be0349bbf5_692x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QDUd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75a52393-6961-44fa-b196-69be0349bbf5_692x640.png 424w, https://substackcdn.com/image/fetch/$s_!QDUd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75a52393-6961-44fa-b196-69be0349bbf5_692x640.png 848w, https://substackcdn.com/image/fetch/$s_!QDUd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75a52393-6961-44fa-b196-69be0349bbf5_692x640.png 1272w, https://substackcdn.com/image/fetch/$s_!QDUd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75a52393-6961-44fa-b196-69be0349bbf5_692x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QDUd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75a52393-6961-44fa-b196-69be0349bbf5_692x640.png" width="692" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75a52393-6961-44fa-b196-69be0349bbf5_692x640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:692,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:220446,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QDUd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75a52393-6961-44fa-b196-69be0349bbf5_692x640.png 424w, https://substackcdn.com/image/fetch/$s_!QDUd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75a52393-6961-44fa-b196-69be0349bbf5_692x640.png 848w, https://substackcdn.com/image/fetch/$s_!QDUd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75a52393-6961-44fa-b196-69be0349bbf5_692x640.png 1272w, https://substackcdn.com/image/fetch/$s_!QDUd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75a52393-6961-44fa-b196-69be0349bbf5_692x640.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"><a href="https://x.com/OfficialLoganK/status/1852032947714510860">source</a></figcaption></figure></div><p>But OpenAI isn't sitting still. ChatGPT's new search capabilities, while still in their infancy, represent a direct challenge to Google's territory. The timing feels deliberate too &#8211; almost like OpenAI wanted to front-run Google's announcement. The real question isn't about who announced what first though; it's about who can build the most compelling fusion of search and AI.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wODS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wODS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.png 424w, https://substackcdn.com/image/fetch/$s_!wODS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.png 848w, https://substackcdn.com/image/fetch/$s_!wODS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.png 1272w, https://substackcdn.com/image/fetch/$s_!wODS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wODS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.png" width="691" height="667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:667,&quot;width&quot;:691,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74735,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wODS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.png 424w, https://substackcdn.com/image/fetch/$s_!wODS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.png 848w, https://substackcdn.com/image/fetch/$s_!wODS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.png 1272w, https://substackcdn.com/image/fetch/$s_!wODS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f97e2e6-2a99-4bd0-9369-02348db6ab95_691x667.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"><a href="https://x.com/OpenAI/status/1852033101855097151">source</a></figcaption></figure></div><p>The implications extend beyond just these tech giants. Every developer building a knowledge-intensive application &#8211; from legal research tools to medical databases &#8211; now has multiple options for integrating up-to-date search capabilities. The competition at the top is creating opportunities at every layer of the stack.</p><h2>Desktop Dreams and Platform Plays</h2><p>Anthropic joined the native app party this week, following ChatGPT and Perplexity's lead. They also added voice dictation, though it's more "speak-to-text" than ChatGPT's more sophisticated voice mode. These moves might seem minor, but they're part of a larger pattern: AI companies are racing to become your default digital interface.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1re9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1re9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.png 424w, https://substackcdn.com/image/fetch/$s_!1re9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.png 848w, https://substackcdn.com/image/fetch/$s_!1re9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.png 1272w, https://substackcdn.com/image/fetch/$s_!1re9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1re9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.png" width="688" height="851" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:851,&quot;width&quot;:688,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:228372,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1re9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.png 424w, https://substackcdn.com/image/fetch/$s_!1re9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.png 848w, https://substackcdn.com/image/fetch/$s_!1re9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.png 1272w, https://substackcdn.com/image/fetch/$s_!1re9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ad4269-fb4a-47ae-8a6b-c324bc000f2d_688x851.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"><a href="https://x.com/AnthropicAI/status/1852003248208552331">source</a></figcaption></figure></div><p>Think about it &#8211; we're watching the early stages of a platform war. Each company is trying to become your go-to AI assistant, whether through web interfaces, desktop apps, or voice interactions. The stakes? Only the future of human-computer interaction.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mZxC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867aa594-35e0-46f1-8899-50714f404474_692x853.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mZxC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867aa594-35e0-46f1-8899-50714f404474_692x853.png 424w, https://substackcdn.com/image/fetch/$s_!mZxC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867aa594-35e0-46f1-8899-50714f404474_692x853.png 848w, https://substackcdn.com/image/fetch/$s_!mZxC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867aa594-35e0-46f1-8899-50714f404474_692x853.png 1272w, https://substackcdn.com/image/fetch/$s_!mZxC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867aa594-35e0-46f1-8899-50714f404474_692x853.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mZxC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867aa594-35e0-46f1-8899-50714f404474_692x853.png" width="692" height="853" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/867aa594-35e0-46f1-8899-50714f404474_692x853.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:853,&quot;width&quot;:692,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:149529,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mZxC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867aa594-35e0-46f1-8899-50714f404474_692x853.png 424w, https://substackcdn.com/image/fetch/$s_!mZxC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867aa594-35e0-46f1-8899-50714f404474_692x853.png 848w, https://substackcdn.com/image/fetch/$s_!mZxC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867aa594-35e0-46f1-8899-50714f404474_692x853.png 1272w, https://substackcdn.com/image/fetch/$s_!mZxC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F867aa594-35e0-46f1-8899-50714f404474_692x853.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"><a href="https://x.com/AnthropicAI/status/1852029352608674206">source</a></figcaption></figure></div><p>But here's what's different from previous platform wars: the underlying AI capabilities are becoming increasingly commoditized and accessible. You don't need to be a tech giant to build sophisticated AI applications anymore. The real innovation is happening in the verticals &#8211; specialized tools built on top of these foundational models.</p><h2>The Partnership Paradox</h2><p>But the most fascinating developments are happening behind the scenes. Microsoft's decision to bring Claude and Gemini to GitHub Copilot is particularly telling. This is the same Microsoft that invested $10 billion in OpenAI. What gives?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MwQr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MwQr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.png 424w, https://substackcdn.com/image/fetch/$s_!MwQr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.png 848w, https://substackcdn.com/image/fetch/$s_!MwQr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.png 1272w, https://substackcdn.com/image/fetch/$s_!MwQr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MwQr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.png" width="1051" height="937" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:937,&quot;width&quot;:1051,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:729627,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MwQr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.png 424w, https://substackcdn.com/image/fetch/$s_!MwQr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.png 848w, https://substackcdn.com/image/fetch/$s_!MwQr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.png 1272w, https://substackcdn.com/image/fetch/$s_!MwQr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516cc92b-f2e3-4134-9976-d1a543311c95_1051x937.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"><a href="https://github.blog/news-insights/product-news/bringing-developer-choice-to-copilot/">source</a></figcaption></figure></div><p>The answer lies in a strategy as old as tech itself: commoditize your complements. Microsoft doesn't want to be dependent on any single AI provider, even one they've heavily invested in. They're creating optionality while ensuring no single player becomes too powerful.</p><p>Meanwhile, OpenAI's reported chip development efforts with Broadcom and TSMC show they're thinking along similar lines. In the AI world, today's partner could be tomorrow's competitor, and everyone's trying to control their destiny by securing key infrastructure.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j47r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78accdad-575b-471e-aa3d-6cb21167851a_689x229.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j47r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78accdad-575b-471e-aa3d-6cb21167851a_689x229.png 424w, https://substackcdn.com/image/fetch/$s_!j47r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78accdad-575b-471e-aa3d-6cb21167851a_689x229.png 848w, https://substackcdn.com/image/fetch/$s_!j47r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78accdad-575b-471e-aa3d-6cb21167851a_689x229.png 1272w, https://substackcdn.com/image/fetch/$s_!j47r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78accdad-575b-471e-aa3d-6cb21167851a_689x229.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j47r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78accdad-575b-471e-aa3d-6cb21167851a_689x229.png" width="689" height="229" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78accdad-575b-471e-aa3d-6cb21167851a_689x229.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:229,&quot;width&quot;:689,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:33137,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!j47r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78accdad-575b-471e-aa3d-6cb21167851a_689x229.png 424w, https://substackcdn.com/image/fetch/$s_!j47r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78accdad-575b-471e-aa3d-6cb21167851a_689x229.png 848w, https://substackcdn.com/image/fetch/$s_!j47r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78accdad-575b-471e-aa3d-6cb21167851a_689x229.png 1272w, https://substackcdn.com/image/fetch/$s_!j47r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78accdad-575b-471e-aa3d-6cb21167851a_689x229.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><a href="https://www.reuters.com/technology/artificial-intelligence/openai-builds-first-chip-with-broadcom-tsmc-scales-back-foundry-ambition-2024-10-29/">source</a></figcaption></figure></div><p>This dynamic is creating a fascinating opportunity for startups and developers. As the giants battle it out, they're inadvertently creating a more competitive market for AI capabilities. Need a language model? You've got options. Want to integrate search? Take your pick. Building the next great AI application is becoming less about having privileged access to foundational technology and more about understanding your specific domain and users.</p><h2>What This Means for the Future</h2><p>We're witnessing the AI industry's awkward teenage phase &#8211; lots of growth, plenty of drama, and constant identity crises. The partnerships and rivalries forming today will shape the AI landscape for years to come.</p><p>For developers and users, this competitive chaos is actually good news. More competition means more innovation, better products, and hopefully, lower prices. The trick will be navigating the increasingly complex ecosystem of tools and platforms. Smart developers are already taking advantage of this, building specialized applications that leverage multiple providers rather than betting everything on a single platform.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><p>One thing's certain: in the AI industry, the only constant is change. Today's alliances are tomorrow's rivalries, and everyone's playing the long game. Keep your friends close, your enemies closer, and your API keys for multiple providers handy. The real winners in this new era? The builders who can navigate this shifting landscape while staying focused on solving real problems for real users.</p>]]></content:encoded></item><item><title><![CDATA[Click, Type, Think: Claude Gets a Mouse]]></title><description><![CDATA[Anthropic's latest feature lets AI navigate computers like humans do]]></description><link>https://blendingbits.io/p/click-type-think-claude-gets-a-mouse</link><guid isPermaLink="false">https://blendingbits.io/p/click-type-think-claude-gets-a-mouse</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Mon, 28 Oct 2024 01:01:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!q1nC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg" 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_!q1nC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q1nC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!q1nC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!q1nC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!q1nC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q1nC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg" width="1344" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:193663,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&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_!q1nC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!q1nC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!q1nC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!q1nC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd99f1cdd-2b14-4712-aa9a-d21265438678_1344x768.jpeg 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>Imagine if AI could use your computer just like you do - clicking buttons, filling forms, and navigating websites. That's exactly what Anthropic is enabling with 'computer use', <a href="https://www.anthropic.com/news/3-5-models-and-computer-use">announced this week</a> alongside updates to their Claude models. While I've tested the new flagship "Claude 3.5 Sonnet (new)" and found it even more natural-sounding in conversation, it's <a href="https://docs.anthropic.com/en/docs/build-with-claude/computer-use">computer use</a> that represents the most significant advancement. By allowing Claude to understand and interact with existing computer GUIs, this feature fundamentally transforms how AI can interact with software.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>This advancement turns foundation models into general purpose software automation platforms. Rather than developing software to fit models in the form of bespoke "tools" (as has been the case for over a year), the model itself has some understanding of existing software. Anthropic aptly describes this as "... the model fit the tools" as opposed to "... made tools fit the model". This is analogous to how LLMs themselves are a general purpose tool for what previously had been several models in NLP, computer vision, etc. As a consequence of this generality, this opens up many possibilities for agents. With computer use, foundation models are able to drive legacy software, rather than requiring programmers write custom integrations. Put another way: existing LLMs supercharges writing new software because they are very good at coding; computer use supercharges using LLMs with the iceberg that is legacy software. It's worth noting that this holy grail of automation has been tackled from different angles over the years; RPA platforms like UiPath have been automating legacy enterprise software for years, and AI-native entrants like <a href="https://www.adept.ai">Adept</a> have been tackling the same problems.</p><p>What makes Anthropic's release interesting is the generality of the solution: the same model that processes human language, computer code, and images can now drive GUIs. Foundation models like Claude are having their iPhone moment - just as Jobs famously introduced what seemed like three devices but was actually one revolutionary product in 2007, LLMs are consolidating multiple AI capabilities into a single, general-purpose system. The iPhone was revolutionary in large part because it aggregated disparate demand for computing in a single, portable device. LLMs have exhibited a similar march over the last 2 years. To start, LLMs aggregated what were previously separate models in NLP including sentiment analysis,&nbsp; named entity recognition, amongst others. Then, LLMs became multi-modal, with support for images and audio. With computer use, these models gain yet another capability that previously required separate models.</p><p>Anthropic notes that computer use is in beta, and has a number of limitations. To get a sense of what's possible I decided to try it out with a simple example. I ran Anthropic's sandbox for computer use, which basically just set up an environment with a Linux desktop, and a browser. I asked Claude to help me get a refund for a fictional Delta flight. Earlier this year I had to go through the process, and while not entirely onerous I found it tedious.</p><p>The process entailed 1) performing a web search 2) determining which case I fell under, and 3) filling out a form in a modal with flight and transaction details. The 2nd step is usually the most complex, as it involves a fair amount of reasoning to determine if a refund is even applicable, and if so which form needs to be filled out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TR0d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TR0d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.png 424w, https://substackcdn.com/image/fetch/$s_!TR0d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.png 848w, https://substackcdn.com/image/fetch/$s_!TR0d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.png 1272w, https://substackcdn.com/image/fetch/$s_!TR0d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TR0d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.png" width="742" height="371" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:371,&quot;width&quot;:742,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image 3.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image 3.png" title="image 3.png" srcset="https://substackcdn.com/image/fetch/$s_!TR0d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.png 424w, https://substackcdn.com/image/fetch/$s_!TR0d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.png 848w, https://substackcdn.com/image/fetch/$s_!TR0d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.png 1272w, https://substackcdn.com/image/fetch/$s_!TR0d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F091e47ca-0170-40d6-b45e-965cee8f32e1_742x371.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">This isn&#8217;t entirely easy to navigate&#8230;</figcaption></figure></div><p>I also liked this example because it's a mini-version of what computer use promises: integrating with legacy software that does not have clean, easy-to-use APIs. Delta's forms were alright but even on a desktop computer, the process can be difficult to navigate.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0LiH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0LiH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.png 424w, https://substackcdn.com/image/fetch/$s_!0LiH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.png 848w, https://substackcdn.com/image/fetch/$s_!0LiH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.png 1272w, https://substackcdn.com/image/fetch/$s_!0LiH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0LiH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.png" width="840" height="1091" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1091,&quot;width&quot;:840,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image 2.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image 2.png" title="image 2.png" srcset="https://substackcdn.com/image/fetch/$s_!0LiH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.png 424w, https://substackcdn.com/image/fetch/$s_!0LiH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.png 848w, https://substackcdn.com/image/fetch/$s_!0LiH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.png 1272w, https://substackcdn.com/image/fetch/$s_!0LiH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc377d4a1-3afc-4a53-a4ba-eb497df2148f_840x1091.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">welcome to form hell</figcaption></figure></div><p>I had to run the same process a few times because the results were sporadic:</p><ul><li><p>The first time I ran it, Claude correctly identified what needed to be done. When I asked it to fill out the form, it refused, citing that it cannot work with PII. This is a known limitation of computer use, which Anthropic has documented.</p></li><li><p>The 2nd time, Claude concluded that nothing needed to be done, which I don't believe is correct under all circumstances. I think this is a problem with missing context; I provided a very broad prompt, but it would be more helpful for Claude to have more context around my (fictional) situation.</p></li><li><p>The 3rd time around, Claude hallucinated a URL but recovered from it. It decided to summarize what manual steps I needed to take in order to get a refund, instead of executing. Again, this is likely due to prompt underspecification.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fQyg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fQyg!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif 424w, https://substackcdn.com/image/fetch/$s_!fQyg!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif 848w, https://substackcdn.com/image/fetch/$s_!fQyg!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!fQyg!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fQyg!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;claude computer use.gif&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="claude computer use.gif" title="claude computer use.gif" srcset="https://substackcdn.com/image/fetch/$s_!fQyg!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif 424w, https://substackcdn.com/image/fetch/$s_!fQyg!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif 848w, https://substackcdn.com/image/fetch/$s_!fQyg!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!fQyg!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b68796d-21cb-4714-897f-01e771ad1c73_960x480.gif 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Claude gets to work</figcaption></figure></div><p>Key Takeaways from Testing Computer Use:</p><ul><li><p>Computer use is slow and costly; each run cost me about $1 and my issue wasn't fully resolved. As noted above, with better prompting a full resolution probably would have been reached, but it probably would have been 2x as costly. This implies that developers need to be judicious with the use-cases they apply this new capability to, while the technology and costs improve.</p></li><li><p>Anthopic's constraints on passing sensitive data makes sense, but is very limiting. One of the biggest promises of AI agents is the ability for them to act on your behalf, and that involves PII. Human assistants have access to and utilize privileged information all the time, and so I hope there is some evolution on this front.</p></li><li><p>I used Anthropic's ready-to-run computer use sandbox, but this is not necessary. Developers can actually control the agent's loop, which opens up a lot of possibilities, like different kinds of input control. Since developers also control the execution of GUI actions, this also allows for different isolation/sandboxing schemes, and application-specific error-handling; basically you're free to implement whatever agent architecture you want.</p></li></ul><p>When I chatted with Claude about setting up the sandbox, I was amused by this very natural response in the new 3.5 Sonnet model:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yxQO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yxQO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png 424w, https://substackcdn.com/image/fetch/$s_!yxQO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png 848w, https://substackcdn.com/image/fetch/$s_!yxQO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png 1272w, https://substackcdn.com/image/fetch/$s_!yxQO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yxQO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png" width="1103" height="214" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:214,&quot;width&quot;:1103,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image.png" title="image.png" srcset="https://substackcdn.com/image/fetch/$s_!yxQO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png 424w, https://substackcdn.com/image/fetch/$s_!yxQO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png 848w, https://substackcdn.com/image/fetch/$s_!yxQO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png 1272w, https://substackcdn.com/image/fetch/$s_!yxQO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f7b148a-03ab-4a66-9d07-483909def03d_1103x214.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>My initial impression is that Anthropic has trained a model that is vastly superior in vision capabilities, with specific capabilities as it relates to GUIs.&nbsp; Notably, Anthropic mentions that this model was trained to be able to <a href="https://www.anthropic.com/news/developing-computer-use">count individual pixels</a>.&nbsp; One outcome from this is that Claude may have very good vision capabilities that apply to other domains. For example, it looks like Claude can <a href="https://x.com/emollick/status/1849168452914938082">identify plane models with very few cues</a>. On the agentic front, my initial impression is that computer use, is very useful for <em>interpreting</em> GUIs but it might be better to use other tools for other parts of a workflow. For example, I wouldn't waste time asking Claude to perform a web search. Instead, I would provide screenshots of web pages that have already been filtered for relevance. Similarly, for web applications specifically, I might use Claude to "direct" traditional automation software like Selenium or Playwright, rather than having Claude execute everything itself.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><p></p><p>All that being said, I've been impressed by what computer use has to offer on day one. While current limitations around speed, cost, and handling sensitive data need to be addressed, the potential is clear: we're moving toward a future where AI can seamlessly interact with existing software interfaces, potentially revolutionizing how we think about automation. The evolution of this technology will be fascinating to watch.</p>]]></content:encoded></item><item><title><![CDATA[LLMs as Thought Partners]]></title><description><![CDATA[An Emerging Use-Case]]></description><link>https://blendingbits.io/p/llms-as-thought-partners</link><guid isPermaLink="false">https://blendingbits.io/p/llms-as-thought-partners</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Sun, 20 Oct 2024 12:02:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!A8qr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.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_!A8qr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A8qr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png 424w, https://substackcdn.com/image/fetch/$s_!A8qr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png 848w, https://substackcdn.com/image/fetch/$s_!A8qr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png 1272w, https://substackcdn.com/image/fetch/$s_!A8qr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A8qr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png" width="1344" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:598559,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!A8qr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png 424w, https://substackcdn.com/image/fetch/$s_!A8qr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png 848w, https://substackcdn.com/image/fetch/$s_!A8qr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.png 1272w, https://substackcdn.com/image/fetch/$s_!A8qr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306ace1f-db14-4420-88ce-caf2e65bcaa2_1344x768.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>An esoteric use-case for which I find myself increasingly turning to LLMs is as a thought partner. I don't mean using AI as a therapist or as a girlfriend, like some other prevalent uses. Instead, I'm leveraging LLMs to help me think through complex decision-making and planning processes. While this use-case might seem odd at first, I believe it will become mainstream in due time. Surprisingly, this application is under-discussed in the broader AI community.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>So what do I mean by a thought partner? I use AI (primarily Claude) to answer open-ended questions that help me think through both technical and non-technical problems. Here's a recent example: I was contemplating whether to self-host my media collection or simply pay for a higher storage iCloud tier. I initially consulted Claude because I suspected my decision-making wasn't entirely rational; I have a strong bias towards DIY and self-hosting. However, after an in-depth conversation with Claude, I had a complete change of heart. Claude even created a simple breakeven analysis of my situation:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rOLr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rOLr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.png 424w, https://substackcdn.com/image/fetch/$s_!rOLr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.png 848w, https://substackcdn.com/image/fetch/$s_!rOLr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.png 1272w, https://substackcdn.com/image/fetch/$s_!rOLr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rOLr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.png" width="875" height="467" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:467,&quot;width&quot;:875,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image.png" title="image.png" srcset="https://substackcdn.com/image/fetch/$s_!rOLr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.png 424w, https://substackcdn.com/image/fetch/$s_!rOLr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.png 848w, https://substackcdn.com/image/fetch/$s_!rOLr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.png 1272w, https://substackcdn.com/image/fetch/$s_!rOLr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f87fca9-1915-4bfe-869b-857fdbde7256_875x467.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></figure></div><p>Despite how productive this conversation was, I still find current products lacking for true thought-partnership. To start, you must explicitly prompt the LLM to consider opposing points of view. I believe a great thought partner illuminates gaps in your thinking, and as such, healthy debate is necessary to reach better ideas. A good thought partner also challenges your thinking and asks you to specify your assumptions. LLMs are often too agreeable, making explicit prompting for debate necessary. For example, I prompted Claude as follows:</p><blockquote><p><em>I generally agree with this assessment, but give me an in-depth bull case for self-hosting and an in-depth bear case for the cloud.</em></p></blockquote><p>This type of prompting raises another issue: effective brainstorming is usually a highly non-linear process. The linear chat UX can be frustrating because what I really want is a branching conversation, somewhat like brainstorming on <a href="https://miro.com">Miro</a>. Branching would also help manage LLM context more effectively, as LLMs tend to forget and get confused during long conversations (not unlike humans &#128517;). Branching enables sending only the necessary context for a given conversation thread. For example, in my case, the "bull case" and "bear case" would function better as separate branches rather than a single command. In theory, this also allows the model more "time to think."</p><p>Branching is crucial for <a href="https://en.wikipedia.org/wiki/Divergent_thinking">divergent thinking</a> in a brainstorming session. However, great brainstorming sessions also feature <a href="https://en.wikipedia.org/wiki/Convergent_thinking">convergent thinking</a>, where the ideas discussed are synthesized and unified. To this end, I would love for a thought partner AI to summarize key points at different "checkpoints" in a conversation. These "checkpoints" are fairly arbitrary and abstract because they depend on the specific conversation. To draw an analogy, in a human-led brainstorming session, someone is likely jotting down notes of key points raised and discussed. This is critical, as much of brainstorming involves productive meandering; a lot of the conversation content may be irrelevant to the final outcome but is a necessary part of the process.</p><p>A more advanced feature for a thought partner AI that combines both convergent and divergent thinking would be comparing the results of two different models. This is akin to asking your personal board of directors a question and comparing individuals' responses. Currently, I do this manually by providing both ChatGPT and Claude the same prompt. I then compare their answers to determine areas of agreement, disagreement, and which assistant exhibited the best reasoning. Due to the subpar UX for this type of conversation, I often short-circuit the process by continuing the conversation with the most thoughtful assistant.</p><p>These are just some initial ideas on this emerging use-case. I'll continue to refine this concept, but I'd love to hear if others are using LLM assistants in this way and if these ideas resonate with them.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Zero to Hero: Neon - Serverless Postgres for Stellar Startups]]></title><description><![CDATA[I came for the serverless, and stayed for the vibes]]></description><link>https://blendingbits.io/p/zero-to-hero-neon-serverless-postgres</link><guid isPermaLink="false">https://blendingbits.io/p/zero-to-hero-neon-serverless-postgres</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Fri, 11 Oct 2024 12:01:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Y4Ir!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg" 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_!Y4Ir!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y4Ir!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Y4Ir!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Y4Ir!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Y4Ir!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y4Ir!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg" width="1344" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:312552,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&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_!Y4Ir!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Y4Ir!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Y4Ir!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Y4Ir!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb03a70df-4ad6-4ef8-be46-119374c480cc_1344x768.jpeg 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><em>From Zero to Hero is a series dedicated to empowering software developers, small teams, and founders with game-changing tools and services. Each edition spotlights a low-barrier, high-leverage solution that can dramatically accelerate your project's journey from concept to reality. Drawing from years of experience in building products from the ground up, this series offers practical insights, real-world applications, and actionable challenges to help you maximize your productivity and impact. Whether you're a solo developer, a startup founder, or part of a growing team, From Zero to Hero equips you with the knowledge to make informed decisions about the tools that can propel your projects forward. Join me as we explore the solutions that punch above their weight, proving that with the right tools, even the smallest teams can achieve heroic results.</em></p></div><h2>Introduction</h2><p>I'm thrilled to kick off this series with a service I've grown to love over the last year: <a href="https://neon.tech/">Neon</a>. I've recommended it to several people, and today I'll detail why it's so awesome. While my enthusiasm might sound like a paid endorsement, I assure you I'm simply a satisfied paying customer. &#128517;</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2><strong>What is it?</strong></h2><p><a href="https://neon.tech">Neon</a> is a modern, cloud-based database service that offers a serverless version of PostgreSQL, one of the most popular open-source relational database systems. Neon itself is also <a href="https://github.com/neondatabase/neon">open-source</a>. Neon is like having your favorite high-end oven (PostgreSQL) in a cloud kitchen. You get all the power and familiarity of Postgres, but without the hassle of maintaining the hardware or infrastructure &#8211; just show up and start cooking with your data. Let's explore how this analogy plays out in Neon's unique features and benefits.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MYsm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MYsm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png 424w, https://substackcdn.com/image/fetch/$s_!MYsm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png 848w, https://substackcdn.com/image/fetch/$s_!MYsm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png 1272w, https://substackcdn.com/image/fetch/$s_!MYsm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MYsm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png" width="484" height="136" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:136,&quot;width&quot;:484,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:16149,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MYsm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png 424w, https://substackcdn.com/image/fetch/$s_!MYsm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png 848w, https://substackcdn.com/image/fetch/$s_!MYsm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png 1272w, https://substackcdn.com/image/fetch/$s_!MYsm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f27bc47-651a-4339-af19-f7a7b3a0f968_484x136.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p></p><h2><strong>What are the benefits?</strong></h2><p></p><h3><strong>For the business</strong></h3><h4><strong>Autoscaling to the rescue</strong></h4><p>Neon is a serverless cloud offering, so the immediate benefit to businesses is that it allows usage-based billing that is "right-sized" to your workload. In practice, rather than paying for a static database server, a business pays only for the compute and storage a Neon database utilizes. Neon's core innovation is separating compute and storage<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, and billing for them separately. Compute is what is used at query-time to retrieve data, while storage simply represents all the data in the database and any historical snapshots (more on this later). Separate compute and storage, and separate their separate billing enables businesses to buy "just enough" database rather than under-provisioning to save money, or over-provisioning to mitigate traffic spikes.</p><h4><strong>Autoscaling saves you more than money</strong></h4><p>Neon's serverless core offers more than just potential cost savings; it also helps teams maintain operational excellence. As mentioned earlier, Neon can scale up and down based on traffic. This means your product and site can handle sudden traffic spikes, like after being featured in a popular publication. Scalability like this is made all that much sweeter because it's dead simple to configure. The following is the way I've configured my Neon instance (though there are other ways as 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_!ovHX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ovHX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.png 424w, https://substackcdn.com/image/fetch/$s_!ovHX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.png 848w, https://substackcdn.com/image/fetch/$s_!ovHX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.png 1272w, https://substackcdn.com/image/fetch/$s_!ovHX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ovHX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.png" width="655" height="388" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:388,&quot;width&quot;:655,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image.png" title="image.png" srcset="https://substackcdn.com/image/fetch/$s_!ovHX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.png 424w, https://substackcdn.com/image/fetch/$s_!ovHX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.png 848w, https://substackcdn.com/image/fetch/$s_!ovHX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.png 1272w, https://substackcdn.com/image/fetch/$s_!ovHX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72891304-9654-4392-bb0a-9cfd42f3b8f8_655x388.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>Because of configuration like this you can also be sure about what your minimum and maximum spend will be for the month; this is a subtle but important distinction, since many teams are frustrated that a lot cloud services do not afford pricing transparency. Autoscaling without cost transparency is like driving a car without side mirrors or seatbelts - risky and potentially disastrous.</p><p><strong>Neon helps you to better serve your customers</strong></p><p>Neon's scaling benefits extend well beyond a single database instance or application; provisioning new databases can be done programmatically, and its provisioning is <em>fast</em> (a few seconds vs a few minutes in traditional managed database services). This opens up possibilities for businesses, like a multi-tenant architecture where every customer has <a href="https://neon.tech/use-cases/database-per-tenant">their own database</a>. Having worked in B2B Saas for over 10 years, a capability like this is music to my ears because oftentimes multi-tenancy is a hard requirement for customers. Furthermore, the autoscaling makes such an architecture cost-effective. For example, your biggest customer can get a beefy database instance that rarely or never suspends, while your lower tier customers can use cheaper autoscaling instances that scale to 0 when not in use.</p><h4><strong>An insurance policy</strong></h4><p>Neon supports a killer feature that I consider a huge insurance policy against incidents and anomalies: <a href="https://neon.tech/docs/guides/time-travel-assist">time travel</a>. Specifically, Neon allows developers to issue queries against a specific point-in-time or database transaction. The importance of this cannot be understated. Imagine if you have a new developer starting with your team and they mistakenly issue a disastrous query that deletes a bunch of customer data. Not only can you create query before the incident to ascertain the damage, you can also restore the database entirely. It's worth noting that PITR (point-in-time-recovery) is a fairly standard feature amongst managed database services. What makes Neon's offering unique are speed and the developer experience. In Neon performing a PITR is painless and fast. Neon also offers a time travel query editor, which is a unique offering I have not seen elsewhere. The retention window for history is also configurable, up to 30 days, depending on tier. To be clear: this is an additional safeguard and is <strong>not</strong> a replacement for backups. It's a pretty sweet safeguard though, because it's impactful and easy to use. Finally, I'd be remised if I didn't mention that time travel can be used as a poor man's data warehouse since an engineer or analyst can issue historical queries. Similarly, this is not a replacement for a proper data warehouse, but it can be fairly effective in a pinch, especially for a small team.</p><h4><strong>Closing</strong></h4><p>In essence, Neon's business benefits extend far beyond cost savings. It's about empowering your team to focus on innovation rather than infrastructure management, providing peace of mind with robust safeguards, and offering the flexibility to adapt to your business's unique needs. Whether you're a startup or an established enterprise, Neon's serverless PostgreSQL can be a game-changer for your database strategy.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><h3><strong>For developers</strong></h3><p>We've covered how Neon can help drive business outcomes, but what about the developer experience? After all, while the business may benefit from a good strategic decision, it's ultimately developers that will be responsible for maintaining and leveraging a service like Neon.</p><p></p><h4><strong>The Neon team &#10084;&#65039; Postgres</strong></h4><p>Here's a hot take: it's crucial that the people building in a technology ecosystem genuinely care about both the ecosystem and the technology itself. The reason is simple: if they're not nerding out about the tech, how can you trust they're putting out the best work? How can you trust you won't eventually be hampered by their decisions? I don't know much about the Neon team itself, but in this respect their actions speak volumes. First, Neon is completely Postgres-compatible, so they're not fighting to replace the venerable database. As mentioned earlier, Neon itself is open source.</p><p>The Neon team's ethos is important, but delivering value to customers and developers matters too. And here they excel as well. On launch day, Neon <a href="https://neon.tech/blog/postgres-17">supported the latest and greatest</a>: Postgres 17. That's an impressive turnaround, and I can tell you from experience this is not the norm for managed database services. This is an important indicator in my view because it means that as an engineering team, you can leverage the latest and greatest as soon as possible. Postgres is rock-solid in terms of stability, and so the ability to leverage any new developer features is huge. In the past, I've found new Postgres features are able to improve significant portions of an application almost overnight. New features also typically open up new use-cases. One notable improvement&nbsp; in Postgres 17 specifically, is the updated <a href="https://www.postgresql.org/docs/17/sql-merge.html">MERGE</a> command. This updated command can dramatically improve upsert queries, and move them away from the application, which in turn improves overall stability.</p><p>Neon also embraces the broader Postgres ecosystem, so developers are fully empowered to innovate. It supports <a href="https://neon.tech/docs/extensions/extensions-intro">major open source extensions</a>, including Postgis for geospatial applications, timescaledb for time-series data, amongst others. On the AI front, Neon has stellar support for <a href="https://neon.tech/docs/extensions/pgvector">pgvector</a>, which can serve as a very good vector database. Similar to Postgres major versions, I've observed the Neon team supports new versions of extensions very quickly; this is especially important with regards to pgvector, which is evolving rapidly as teams build out AI applications.</p><p></p><h4><strong>A delightful developer experience</strong></h4><p>While Neon's robust Postgres support is great, it's the exceptional developer experience that truly sets it apart.</p><p>I've discussed history in the context of business continuity but it's also an invaluable developer tool. Neon makes it so frictionless to use historical data that it's very practical to use it to troubleshoot bugs. Imagine this scenario: a bizarre bug crops up at 1:31 AM, and replicating your system's state to reproduce it seems impossible. With Neon, it's a breeze: simply branch your production data as of 1:31 AM and use that new branch in your local development environment. Oh, I forgot to mention, Neon has branching for your data! This is what makes using history so seamless. Basically, like git, different "versions" of a database instance can exist as different branches. Branches can be forked and cloned, and these operations are <em>fast</em>. This extends beyond debugging too. If you're developing a new feature and want realistic data, what's better than just forking production? Each branch gets its own unique endpoint that can be referenced wherever you like. After a branch is forked, the branch histories diverge, just like git; changes in a base branch do not affect the base branch. The ability to treat data like code is such a superpower, I can't overstate its importance.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gF9H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gF9H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gF9H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gF9H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gF9H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gF9H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg" width="700" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:700,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;8g4ezkjp5fh31.jpg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="8g4ezkjp5fh31.jpg" title="8g4ezkjp5fh31.jpg" srcset="https://substackcdn.com/image/fetch/$s_!gF9H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gF9H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gF9H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gF9H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba649ae-3753-4989-bf13-713f3ab9e239_700x700.jpeg 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"><em>Pictured: me expressing my excitement for Neon's branching feature.</em></figcaption></figure></div><p>This feature's potential goes even further. Neon has a <a href="https://github.com/neondatabase/preview-branches-with-fly?tab=readme-ov-file">Github actions integration</a> that allows you to create branches on a PR-basis. If you have a preview environment capability for your application (which most PaaS support), this effectively means you have a complete replica of your production environment. Branching won't be feasible for all teams out-of-the-box. In particular, some teams may need to scrub sensitive customer data before allowing access to developers (eg financial services, health tech). However, teams can address this with 3rd party vendors that specialize in data scrubbing, or automate it themselves.</p><p>The cherry on top of Neon's developer tooling is its comprehensive and <a href="https://api-docs.neon.tech/reference/getting-started-with-neon-api">well-documented API</a>. If your team has specialized needs, you have the power to implement them. All the aforementioned features, like branching, creating databases, and editing scaling parameters are scriptable via the API.</p><p>The final notable developer tooling feature that I want to cover is endpoints. I've mentioned how branches each get their own endpoint, but this is not limited to branches. Each Postgres database (not to be confused with the Neon database <em>instance</em>) gets its own endpoint. Each endpoint can then be separately configured with its own scaling parameters. This combination is powerful because it allows for more flexible architecture choices. For example, if separate database <em>instances</em> is not your preferred architecture for multi-tenancy, you can simply create separate <em>databases</em> within a single instance, each with it's own endpoint (and by extension its own scaling). Similarly, Neon also has a native read replication functionality, which leverages endpoints. So for example, a complex analytics query won't take down your production endpoint, and in fact your read replica can be scaled independently from your production configuration.</p><p></p><blockquote><p>One small thing I recommend developers look out for: make sure your database connections are correctly configured in whatever framework or library you're using. I spent some time debugging my Neon instance because it would scale to zero (as I configured), but my backend then tried connecting to a closed connection; my backend automatically caches database connections.</p><p>This is trivial to address, but it's not something I've had to do coming from non-serverless databases. In Django, I configured <code>CONN_HEALTH_CHECKS</code> so that Django's ORM first checks the status of the connection before attempting to use it. Similarly, in Sqlalchemy, I configured <code>pool_pre_ping</code>, which works much the same way as Django's setting.</p></blockquote><p></p><h4><strong>Closing</strong></h4><p>As you can see, Neon has a complete toolbelt to make developers' lives easier and more productive. From lightning-fast provisioning to intuitive branching and historical querying, Neon has reimagined what a cloud database service can offer. It's not just about storing data; it's about empowering developers to work smarter, faster, and with greater confidence. In a world where developer productivity is paramount, Neon stands out as a tool that truly understands and enhances the developer experience.</p><h2><strong>Low Barrier, High Leverage Assessment</strong></h2><p>Now, let's summarize Neon's offering and rate it as a low-barrier, high-leverage solution. I also discuss some areas where I think it could be improved.</p><h4><strong>Barrier Lowerers</strong></h4><ul><li><p>Neon is open source and Postgres compatible, so getting started is a breeze.</p></li><li><p>Autoscaling reduces the amount of decision-making teams need to make around workloads.</p></li><li><p>Neon's branching feature allows for easy testing and development without affecting production data, reducing the barrier to experimentation.</p></li><li><p>The comprehensive API enables teams to integrate Neon seamlessly into their existing workflows and automation pipelines.</p></li></ul><h4><strong>Leverage Lifters</strong></h4><ul><li><p>Neon's developers tools are top-notch.</p></li><li><p>Neon's support for the latest Postgres versions and extensions ensures your team can leverage cutting-edge database features as they become available.</p></li><li><p>The ability to create separate databases with individual endpoints allows for flexible architectural choices that can evolve with your business needs.</p></li><li><p>As your team and business grow, Neon's scalability and branching features support increasingly complex development workflows and multi-tenancy requirements without requiring a fundamental change in your database strategy.</p></li></ul><h4><strong>Areas for Improvement</strong></h4><ul><li><p>I didn't cover this earlier, but Neon has connection pooling support. However, it requires using a separate endpoint. Connection pooling is generally considered a best practice, and I would love if this were the default out of the box, and didn't require separate configuration.</p></li><li><p>I love Neon's history feature because it serves as both an insurance policy and as a developer power-up. I wish history could be configured completely independently of the tiering. Currently, the first paid tier tops out at 7 days of retention, and the next tier up is good for 30 days. I would like to pay for this independently of the other features, but I understand why this tiering makes sense from a customer segmentation perspective.</p></li><li><p>Neon currently supports instances in AWS, and Azure support just launched in beta. I think it's inevitable but I look forward to having Neon on all major clouds, so it's a no-brainer for any team. I know of at least one team that cannot use it because they are using GCP. Technically, anyone can use the existing instances, but using a database in a different cloud is a suboptimal.</p></li></ul><h4><strong>Scoring</strong></h4><p>I'm scoring Neon a <code>9/10</code> for having a low barrier to entry, and a <code>10/10</code> for the leverage it affords teams, for a combined score of <code>9.5/10</code>. </p><p>I subtracted a point for lowering the barrier to entry because of the areas where Neon can improve. Neon is a startup, so I expect these minor shortcomings to be addressed in time (with the exception being paying for the history feature independently, which is more of a pricing strategy complaint).</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Conclusion</strong></h2><p>I've been itching to dive deep into Neon for a while now, and for good reason. It's a rare gem in the database world that combines the robustness of PostgreSQL with cloud-native innovations like autoscaling, branching, and time travel. From its business benefits of cost-efficiency and operational excellence to its developer-friendly features that boost productivity, Neon is reshaping how I think about and interact with databases. I've recommended it to numerous teams, and the feedback has been consistently positive. Whether you're a startup looking for a scalable solution or an enterprise seeking to modernize your database infrastructure, Neon deserves a serious look. It's not just a database service; it's a catalyst for better, faster, and more innovative software development.</p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>It's worth mentioning that serverless database products predate Neon, in Amazon Aurora and other offerings. However, Neon is the first offering I'm aware of that is open-source and not tied to a specific cloud.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[Agents with Senses: OpenAI's DevDay]]></title><description><![CDATA[Remember Intel's famous tick-tock model?]]></description><link>https://blendingbits.io/p/agents-with-senses-openais-devday</link><guid isPermaLink="false">https://blendingbits.io/p/agents-with-senses-openais-devday</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Fri, 04 Oct 2024 11:30:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!sMDl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg" 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_!sMDl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sMDl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sMDl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sMDl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sMDl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sMDl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg" width="1344" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:471699,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&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_!sMDl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sMDl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sMDl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sMDl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7b92b33-8f1f-4cc8-986b-ff2c2acdaae4_1344x768.jpeg 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>Remember Intel's famous <a href="https://en.wikipedia.org/wiki/Tick%E2%80%93tock_model">tick-tock</a> model? Big changes ("tocks") followed by refinements ("ticks"). While "ticks" seemed minor, they drove rapid progress. I see OpenAI's DevDay as their "tick" &#8211; a slew of developer-facing changes that will ripple through applications in the coming months.</p><p>Here's my quick recap of the announcements and initial impressions.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h3><strong>Realtime API</strong></h3><p>OpenAI's new <a href="https://openai.com/index/introducing-the-realtime-api/">Realtime API</a> is a game-changer. It lets developers create their own versions of OpenAI's Advanced Voice Mode, enabling low-latency voice interactions. The possibilities are vast &#8211; from customer support to AI tutors. But what caught my eye was the pricing:</p><blockquote><p><em>This equates to approximately $0.06 per minute of audio input and $0.24 per minute of audio output.</em></p></blockquote><p>Let's crunch the numbers: at ~$15 per hour (based on output pricing), it's already competitive with many call center roles. Having tinkered with advanced voice mode, I can attest to its impressive capabilities. The Realtime API's support for function-calling is the cherry on top &#8211; it allows for dynamic information retrieval and action-taking based on conversation flow. We're one step closer to building assistant experiences straight out of <em><a href="https://en.wikipedia.org/wiki/Her_%28film%29">Her</a></em>.</p><p></p><h3>Prompt Caching</h3><p>OpenAI has joined the prompt caching party, following Anthropic and Google's Gemini. Their <a href="https://openai.com/index/api-prompt-caching/">implementation</a> stands out for its automatic nature &#8211; no explicit requests needed. It's an Apple-esque move, prioritizing simplicity for developers. However, the cost savings (50%) pale in comparison to Anthropic's "up to ~90%", and latency improvements remain unclear. Let's break it down:</p><ul><li><p>OpenAI: Automatic, 50% cost savings, unspecified latency improvements</p></li></ul><ul><li><p>Anthropic: Explicit requests, variable savings (50-90%)</p></li><li><p>Google: Most flexible, with configurable TTL for cached prompts</p></li></ul><p>While I'd love to see configurable TTL across the board, flexilibity is tricky to balance with simplicty.</p><p>I expect the proliferation of prompt caching to have substantial but subtle downstream effects:</p><ol><li><p>UX is going to improve</p></li><li><p>They'll be a wider proliferation of "chat with data" use cases, and AI more broadly.</p></li></ol><p>Prompt caching is set to revolutionize AI app UX through reduced latency. Picture this: an entire book cached, ready for instant Q&amp;A. While OpenAI's specific latency improvements are yet to be quantified, this addresses a key pain point in AI-native apps.</p><p>The cost reduction from prompt caching opens doors for more "chat with data" features across applications. While RAG with dynamic data might not benefit, simpler implementations &#8211; where document corpora are injected into prompts &#8211; are ripe for caching. As context windows expand, it's becoming increasingly cost-effective to load extensive context into a single prompt.</p><p>Prompt caching isn't just a minor upgrade &#8211; it's a quality-of-life improvement that could dramatically expand the horizons of what developers can create.</p><p></p><h3>Model Distillation</h3><p>Model distillation is a technique in machine learning where knowledge from a larger, more complex model (often called the 'teacher' model) is transferred to a smaller, more efficient model (the 'student' model). This is typically done by training the student model to mimic the outputs or intermediate representations of the teacher model, rather than training directly on the original dataset. Think of it as a master chef (the larger model) teaching a novice cook (the smaller model) to prepare gourmet dishes by demonstrating techniques and sharing insights, rather than just handing over a recipe book.</p><p>While developers have been distilling models for a while, OpenAI's <a href="https://openai.com/index/api-model-distillation/">latest announcement</a> is a game-changer. It streamlines the process by integrating multiple steps &#8211; including automatic prompt saving and evals for fine-tuning smaller models &#8211; directly into their platform. This integration isn't just convenient; it's a catalyst for rapid iteration and experimentation.</p><p>This addition implies a few things:</p><ol><li><p>OpenAI is continuing to differentiate itself as not just a model provider, but a developer <em>platform</em>.</p></li><li><p>As a consequence of 1, many AI infra startups are in trouble. There's still use-cases that necessitate this tooling outside of model providers, but the bar has been raised.</p></li></ol><p>As LLMs become commodities, OpenAI is pivoting towards becoming a full-fledged developer <em>platform</em>. This strategy echoes the early 2010s cloud evolution:</p><ul><li><p>OpenAI's journey:</p><ul><li><p>2023: Launched Assistants API, offering higher-level abstractions</p></li><li><p>Now: Integrating model distillation and fine-tuning</p></li></ul></li><li><p>Parallel with AWS's evolution:</p><ul><li><p>Started with basic services (blob storage, virtual servers)</p></li><li><p>Moved "up the stack" with managed services like RDS</p></li></ul></li></ul><p>The rationale? Just as cloud services became commoditized in the 2010s, LLMs are following suit in the 2020s. OpenAI's platform approach not only differentiates their offering but also increases stickiness and workload share. The Assistants API, while not as flexible as custom solutions, opens the LLM playground to a broader developer base.</p><p>OpenAI's developer platform endangers AI infrastructure startups that are superficial wrappers on top of the model providers. It's the classic case of bundling and defaults. Why would a developer or organization choose an external vendor for fine-tuning and distillation, when they get it all for "free" with OpenAI? </p><p>I don't think the cost-benefit analysis is universally in OpenAI's favor, but the inclusion of this suite of features raises the bar for startups and the completeness of their offerings. One obvious reason developers will continue to use external vendors for this kind of work is to avoid vendor lock-in, and have uniform tooling for their portfolio of models, since advanced AI applications typically use more than one model provider.&nbsp; </p><p>There's yet another cloud analogy: as multiple cloud providers rose to prominence, and the vision of the cloud came into fruition, tools like terraform enabled teams to seamlessly manage multi-cloud deployments. However, tools like terraform made a name for themselves by creating substantial value beyond simply wrapping the cloud providers. I expect something similar will happen with AI infrastructure startups: the best ones will deliver on a vision that's so compelling, you'll use them because you <em>want</em> to, not just to avoid vendor lock-in.</p><p></p><h3><strong>Vision Fine-Tuning</strong></h3><p>OpenAI also <a href="https://openai.com/index/introducing-vision-to-the-fine-tuning-api/">announced</a> it's now possible to fine-tune GPT-4o for both text and vision. My excitement for vision fine-tuning is second only to the Realtime API because it will enable substantially better performance on vision-related tasks. OpenAI's models (and other leading LLMs) were already remarkably good at computer vision tasks, and it didn't require training with a custom dataset. With vision fine-tuning, developers now have a clear path for improving performance of these tasks.</p><p>Some use-cases I suspect will take off:</p><ul><li><p>Better structured extraction from documents.</p></li><li><p>Automation of (currently) manual data labeling tasks, which facilitates training smaller, more efficient models.</p></li><li><p>UI automation (browser + desktop) because the model can be trained on specific sites + apps.</p></li></ul><p>I think vision fine-tuning will essentially "unlock" vision use-cases, the same way GPT-4 was enough of a leap from GPT3.5 that it enabled a litany of new applications. And what's even more remarkable is that OpenAI suggests the performance of many tasks can improve substantially with as little as 100 samples!</p><p></p><h3>Conclusion</h3><p>Phew! We've covered a lot, but there's even more: free limited-time fine-tuning (clever customer acquisition!), the summer's cheaper model becoming the default, and a slew of new developer tools in the OpenAI playground.</p><p>Can you feel my excitement? These updates are transformative. The Realtime API and vision fine-tuning pave the way for agents with voice, hearing, and sight. As you scale, model distillation and prompt caching offer powerful optimization tools. Buckle up &#8211; we're in for an exhilarating season of AI innovation &#129299;.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Architecting the Future of AI Agents]]></title><description><![CDATA[Rethinking AI Agent Design with O1-Powered Reasoning at its Heart]]></description><link>https://blendingbits.io/p/architecting-the-future-of-ai-agents</link><guid isPermaLink="false">https://blendingbits.io/p/architecting-the-future-of-ai-agents</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Sun, 29 Sep 2024 12:03:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!z_6B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.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_!z_6B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z_6B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.webp 424w, https://substackcdn.com/image/fetch/$s_!z_6B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.webp 848w, https://substackcdn.com/image/fetch/$s_!z_6B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!z_6B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z_6B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.webp" width="1344" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;replicate-prediction-774mtc9nw5rg80cj79hbgp4md0.webp&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="replicate-prediction-774mtc9nw5rg80cj79hbgp4md0.webp" title="replicate-prediction-774mtc9nw5rg80cj79hbgp4md0.webp" srcset="https://substackcdn.com/image/fetch/$s_!z_6B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.webp 424w, https://substackcdn.com/image/fetch/$s_!z_6B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.webp 848w, https://substackcdn.com/image/fetch/$s_!z_6B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!z_6B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09303412-16f7-427c-b9e9-9a0c9b125693_1344x768.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've been exploring OpenAI's o1 over the last couple of weeks, particularly its potential for reasoning. o1 takes a variable amount of time to "think" through problems, making it well-suited for complex reasoning tasks. In my last post, I delved into how this represents system 2 thinking - deliberative and time-consuming.</p><p>One consequence of this idea, is enabling more interesting architectures for agents. I also covered agents in my last post, but to recap:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><blockquote><p><em>An AI agent is software that can perform tasks or make decisions on behalf of a user, similar to how a person might delegate responsibilities to a trusted representative.</em></p></blockquote><p>Now, let's explore what a software architecture might look like with o1 at an agent's core. Buckle up!</p><h3><strong>Components</strong></h3><p>In brief, my proposed AI agent architecture would consist of the following components:</p><ul><li><p>A <strong>preamble prompt</strong> that summarizes the agent's purpose, the user's goals, and relevant interactions.</p></li><li><p>A <strong>reasoning engine</strong>, which would be built around a model like o1.</p></li><li><p><strong>Tools/functions</strong> for task-specific functionality.</p></li><li><p>A <strong>customer experience model</strong>, whose entire purpose is to translate the agent's thoughts, actions and outputs to the user in an intelligible and personable way.</p></li><li><p>General purpose <strong>memory</strong> that the agent, tools and other components can use to query relevant information.</p></li></ul><p>Let's double click into each component to understand how they each fit into the agent.</p><h3><strong>Preamble Prompt</strong></h3><p>An agent frequently needs to recall several key pieces of information for almost any user interaction: its purpose, the user's details, and a summary of past interactions.</p><p>Let's start with <strong>purpose</strong>: <a href="https://learnprompting.org/docs/basics/roles">role-playing</a> is a powerful prompting technique crucial for an agent to understand its role. Without it, an agent defaults to a generic personality dependent on the model provider (e.g., generic ChatGPT for OpenAI's APIs). Technically, role-playing serves as contextual priming for LLMs, activating specific knowledge domains and behavioral patterns. By specifying a role, we narrow the model's vast knowledge base to a specific context, potentially improving response efficiency and accuracy.</p><p>Next, let's consider the <strong>user</strong>. At a basic level, an agent needs to know a user's name and other useful identifiers (e.g., IDs). Depending on the application, this could extend to include a comprehensive user profile.</p><p>The final part of the preamble prompt is more fluid: a <strong>summary of interactions</strong>. Think of this as short-term working memory. Just as you might not remember every lunch with a colleague but recall the recent ones, this summary is application-specific and requires experimentation. While not strictly necessary, it's worth considering what frequently-accessed data could benefit the agent.</p><p>This information is a preamble because it should precede any prompt, leveraging the model's tendency to pay closest attention to the beginning and end of data.</p><p>At the end of the day, the <strong>preamble prompt</strong> is just a dynamically generated text string; I'm not proposing something very sophisticated. However, it is useful because you'll likely need the same basic piece of context over and over again. Rather than having all components re-implement this time and time again, it pays dividends to design this upfront.</p><h3><strong>Reasoning Engine</strong></h3><p>Now let's circle back to my recent obsession:&nbsp; o1 as a reasoning engine. I conceptualize a reasoning engine as a model capable of routing requests to appropriate tools with appropriate parameters. Simple enough? Well, in practice this is not so. I've previously leveraged <a href="https://platform.openai.com/docs/guides/function-calling">function/tool calling</a> in OpenAI's models to serve this purpose. However, I've found performance to be lacking, mainly because calling the right tools at the right time requires a fair amount of reasoning over context.</p><p>Let me illustrate with a real-world example. Recently, while ordering chicken and waffles for breakfast, I considered adding lemonade. I inquired about it, and the cashier added it to my order without my knowledge. To correct this, I said, "I don't want both... just the chicken and waffles." Surprisingly, this was misinterpreted as keeping only the lemonade (&#129318;&#127997;).</p><p>This mixup was the result of a few things:</p><ol><li><p>Long-lived context. The interaction included several messages, and meaning of later partial messages was influenced by earlier messages.</p></li><li><p>An understanding of preference. My hesitancy around adding the lemonade <em>should have</em> provided context around what I wanted to keep in the order.</p></li></ol><p>While o1 isn't quite ready to man a cash register at your local eatery, I believe its reasoning capabilities bring us much closer to "getting it right" in multi-step and ambiguous situations.</p><p>Note: o1 currently lacks native function/tool calling, but as the model evolves this capability is inevitable. Furthermore, function/tool calling is not strictly necessary and is more often than not a developer convenience (a much welcomed one at that!).</p><p><em>TLDR: a model like o1 serves as both the brain and air traffic control for an agent.</em></p><h3><strong>Tools</strong></h3><p>An agent isn't very interesting if it can't do <em>stuff</em>. That's where I imagine tools coming in. Tools serve as a very broad label for subroutines that do stuff. A tool can be as simple as a function call, or as a complex as a separate RAG pipeline that has several inference steps. It's a very broad spectrum. I'm excited to see that tool interfaces are standardizing around JSON schema specifications, with OpenAI and Anthropic, the leading model providers essentially using the API. Standardization like this will make it easier to share best practices, and hit the ground running for AI application developers. Standardization also makes switching providers easier, what's not to love?</p><p>When designing tools I think about a few characteristics. First, tools should follow the Unix Philosophy, namely:</p><blockquote><p><em>Make each program do one thing well.</em></p></blockquote><p>AI app development is challenging enough, and tools offer a great way to manage overall complexity. Moreover, I believe tools are the most impactful component for introducing determinism into an agent. LLMs are inherently probabilistic, flipping traditional programming on its head - the same input <em>can</em> lead to different outputs, unlike traditional software. Tools provide an opportunity to inject more determinism through entirely deterministic code. However, this isn't guaranteed, as tools can also call LLMs and other models for additional inference.</p><p>Finally, tools are yet another opportunity to imbue agents with system 2, deliberative thinking. When leveraging LLMs in tools, it's advantageous to break up complex steps into multi-step RAG pipelines, essentially affording any underlying models more time to "think". For example, suppose you wanted to use an LLM model with vision capabilities to provide users an estimate of macronutrient content in a picture of a meal (<em><a href="https://amelia.coach">ahem</a></em> ). Instead of performing this as a single step, such a tool could be decomposed into the following:</p><ol><li><p>Determine whether the picture consists of food in the first place</p></li><li><p>Identify the foods in the picture</p></li><li><p>Identify the portion sizes in the picture</p></li><li><p>For each food and portion size estimate, estimate macronutrient content</p></li><li><p>Combine the results for the entire meal</p></li></ol><p>By breaking the task down, the model essentially has more time to "think", &#224; la o1, which leads to better quality results.</p><p>The design space for tools is very big, and tools are a pillar of this proposed architecture. As such, I believe this component has the most room for creative software design and engineering.</p><h3><strong>CX model</strong></h3><p>So far, we've covered fairly technical, behind-the-scenes aspects of an overall agent architecture. Most agents will need to communicate with humans, whether internal or external to an organization. Human communication differs significantly from inter-component communication, even when both use natural language. For instance, communication between the food logging tool and the reasoning engine might be programmed as: "A sandwich with 40g carbs, 20g protein and 10g fat was logged on behalf of the user". This terse, impersonal message suffices for software components that understand human language, like the reasoning engine.</p><p>When communicating with a person, the requirements are likely to be different:</p><ol><li><p>You likely want to ensure the response matches your brand voice. You do not want to sound like a generic ChatGPT wrapper.</p></li><li><p>You likely want the model to be more affable. While people appreciate brevity, they also appreciate feeling heard.</p></li><li><p>On a technical level, you may want to have a model that responds <em>fast</em>. After inference is complete, you likely do not want the response to become a bottleneck. Relatedly, this is an opportunity for cost-optimization: this model can be a smaller fine-tuned variant of a simpler model. Think: fine-tuned gpt-4o-mini rather than gpt-4o.</p></li></ol><p>While I believe a fine-tuned small model is best,&nbsp; I also think separating this into a separate component allows developers to leverage models that are better communicators out-of-the-box. Personally, I enjoy and prefer using Claude for writing, and would consider using it here if a fine-tuned model is not initially feasible.</p><p>For now, I'm calling this the "customer experience model", but I'm open to more catchy names, especially since it's not exclusive to customers - any human interaction could benefit from such a model. Got any ideas? I'm all ears!</p><h3><strong>Memory</strong></h3><p>This is where things get a bit hazy (pun intended!). While memory is intuitively core to any AI application or agent, it's currently the most ill-defined and least understood component. A slew of startups are attempting to build this as a separate service, with varying degrees of success.</p><p>In my experience, a good memory component would accomplish the following:</p><ol><li><p>Allow "querying" for disparate facts. Querying can be highly structured (think: SQL) or unstructured (eg "what important things do I know about this user?"). Folks are using knowledge graphs to bridge the gap between structured and unstructured data. It remains to be seen if this is a viable long-term solution.</p></li><li><p>It should be usable by all components, as presumably all components benefit from contextual understanding of what's going on.</p></li></ol><p>As alluded to in "querying", this component would likely be backed by several databases:</p><ul><li><p>Potentially a knowledge graph, like Neo4j,&nbsp; for more flexible querying of facts.</p><ul><li><p>Example Query: "Who are known associates of this user?"</p></li></ul></li><li><p>A relational database like PostgreSQL for highly structured querying.</p><ul><li><p>Example Query: "When was the last time this user logged in?"</p></li></ul></li><li><p>A vector database for semantic searches</p><ul><li><p>Example Query: "The user asked about the health of their product line, retrieve all documents related to sales and revenue."</p></li></ul></li></ul><p>Memory is also the subject of a lot of interesting research, some of which at least tries to emulate human memory. Most notably, <a href="https://arxiv.org/abs/2304.03442">Generative Agents: Interactive Simulacra of Human Behavior</a> discusses a novel architecture that compresses memory and adds a time-decay to them. In brief:</p><blockquote><p><em>Generative agents are AI characters that can simulate believable human behavior in interactive environments. The key to their abilities is a novel memory architecture that stores experiences as natural language, retrieves relevant memories, and synthesizes them into higher-level reflections to guide behavior. This allows the agents to form relationships, spread information, and coordinate activities in emergent ways. While not perfect, the architecture enables more coherent and context-aware behavior compared to previous approaches, opening up new possibilities for interactive AI characters in games, simulations, and other applications.</em></p></blockquote><p>Memory is a domain I'm watching closely, as it holds the potential to be just as transformative for AI agents as advanced reasoning capabilities.</p><h3><strong>Putting it all together</strong></h3><p>To summarize, this is the proposed architecture:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!idMc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!idMc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.png 424w, https://substackcdn.com/image/fetch/$s_!idMc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.png 848w, https://substackcdn.com/image/fetch/$s_!idMc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.png 1272w, https://substackcdn.com/image/fetch/$s_!idMc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!idMc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.png" width="1044" height="901" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:901,&quot;width&quot;:1044,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;mermaid-diagram-2024-09-28-175418.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="mermaid-diagram-2024-09-28-175418.png" title="mermaid-diagram-2024-09-28-175418.png" srcset="https://substackcdn.com/image/fetch/$s_!idMc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.png 424w, https://substackcdn.com/image/fetch/$s_!idMc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.png 848w, https://substackcdn.com/image/fetch/$s_!idMc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.png 1272w, https://substackcdn.com/image/fetch/$s_!idMc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd298b81-b00a-4e2a-9c24-144696dd6eb5_1044x901.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><h3><strong>Wrapping Up: Where Do We Go From Here?</strong></h3><p>Let's bring this home. We've just taken a whirlwind tour of a potential AI agent architecture, from preamble prompts to reasoning engines and everything in between. But we're still feeling our way through the dark. This isn't the definitive blueprint for AI agent design - far from it. We're in the "throw spaghetti at the wall and see what sticks" phase, and that's thrilling.</p><p>This reminds me of the wild west days of web development. Remember when we were all writing PHP spaghetti code, mixing business logic and presentation with reckless abandon? Then frameworks like Rails and Django swooped in, making MVC the new standard. They didn't invent MVC, but they certainly democratized it.</p><p>I can't help but wonder if we're on the brink of a similar watershed moment for AI agents. Perhaps this architecture, or something like it, will bring some order to the chaos. Or maybe it'll be something entirely different that we haven't even conceived yet. That's the thrill of innovation, isn't it?</p><p>One thing's certain: the AI landscape is evolving at breakneck speed. Today's cutting-edge could be tomorrow's old news. So let's stay flexible, keep experimenting, keep building, and above all, keep sharing our insights.</p><p>Now, I'm eager to hear your thoughts. Have you ventured into building AI agents? What triumphs or spectacular failures have you encountered? Does this architecture seem promising, or am I way off base? Share your insights in the comments - let's spark a discussion. After all, collective wisdom is how we'll navigate this new frontier.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[o1: The Missing Link in AI Agency?]]></title><description><![CDATA[How OpenAI's Latest Models Could Usher in the Era of Autonomous AI Assistants]]></description><link>https://blendingbits.io/p/o1-the-missing-link-in-ai-agency</link><guid isPermaLink="false">https://blendingbits.io/p/o1-the-missing-link-in-ai-agency</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Thu, 19 Sep 2024 11:58:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LYQT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic" 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_!LYQT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LYQT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic 424w, https://substackcdn.com/image/fetch/$s_!LYQT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic 848w, https://substackcdn.com/image/fetch/$s_!LYQT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic 1272w, https://substackcdn.com/image/fetch/$s_!LYQT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LYQT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic&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;:135996,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&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_!LYQT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic 424w, https://substackcdn.com/image/fetch/$s_!LYQT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic 848w, https://substackcdn.com/image/fetch/$s_!LYQT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic 1272w, https://substackcdn.com/image/fetch/$s_!LYQT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F64b2589d-a0ac-4791-a9d6-ff1e1de2b79e_1024x1024.heic 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>Last week, <a href="https://blendingbits.io/p/can-openais-o1-build-an-mvp-in-5">I discussed</a> my initial impressions of OpenAI's new model family: o1. I deliberately used a toy example to put o1 through its paces, knowing full well that it might not be satisfactory for all use cases. This week, I'm diving into what I believe this enables: agents.</p><p>OpenAI's o1 and o1-mini models represent a potential paradigm shift in AI capabilities, bridging the gap between reactive language models and truly agentic AI systems. By providing superior reasoning and planning abilities, these models could catalyze the development of autonomous AI assistants capable of handling complex, multi-step tasks.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Quick Update: Improved Usage Limits</strong></h2><p>First, a quick update: the usage limits on o1 and o1-mini have been substantially improved for paying users. This is a great benefit as everyone learns to leverage these models.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H4mq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H4mq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.png 424w, https://substackcdn.com/image/fetch/$s_!H4mq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.png 848w, https://substackcdn.com/image/fetch/$s_!H4mq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.png 1272w, https://substackcdn.com/image/fetch/$s_!H4mq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H4mq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.png" width="1206" height="624" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:624,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image 3.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image 3.png" title="image 3.png" srcset="https://substackcdn.com/image/fetch/$s_!H4mq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.png 424w, https://substackcdn.com/image/fetch/$s_!H4mq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.png 848w, https://substackcdn.com/image/fetch/$s_!H4mq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.png 1272w, https://substackcdn.com/image/fetch/$s_!H4mq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff578ee25-9653-4cb9-b8b3-075e51a8b8a7_1206x624.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></figure></div><p>The increased limit for o1-mini is particularly impressive, essentially enabling usage that's on par with normal models.</p><p>Speaking of o1-mini, I suspect it will be a sleeper hit. It's substantially cheaper but performs similarly to full-blown o1:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MoVt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MoVt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.png 424w, https://substackcdn.com/image/fetch/$s_!MoVt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.png 848w, https://substackcdn.com/image/fetch/$s_!MoVt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.png 1272w, https://substackcdn.com/image/fetch/$s_!MoVt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MoVt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.png" width="1456" height="953" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:953,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image 4.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image 4.png" title="image 4.png" srcset="https://substackcdn.com/image/fetch/$s_!MoVt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.png 424w, https://substackcdn.com/image/fetch/$s_!MoVt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.png 848w, https://substackcdn.com/image/fetch/$s_!MoVt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.png 1272w, https://substackcdn.com/image/fetch/$s_!MoVt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a5047b-07f6-4b41-b07e-b678b2e649c0_2262x1480.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><a href="https://openai.com/index/openai-o1-mini-advancing-cost-efficient-reasoning/">Source</a></p><p>However, it's worth noting that o1-mini has a specific focus:</p><blockquote><p><em>Due to its specialization on STEM reasoning capabilities, o1-mini&#8217;s factual knowledge on non-STEM topics such as dates, biographies, and trivia is comparable to small LLMs such as GPT-4o mini.</em></p></blockquote><p>It remains to be seen how limiting this specialization truly is, but I'm optimistic that <a href="https://en.wikipedia.org/wiki/Retrieval-augmented_generation">RAG</a> can help fill in any knowledge gaps.</p><h2><strong>Defining AI Agents: More Than Just Chatbots</strong></h2><p>People have been discussing "AI agents" for well over a year now, and I would argue that their promise has largely been unfulfilled, except in very constrained use cases like customer support chatbots. To further complicate matters, there are numerous definitions of what constitutes an "agent".</p><p>Here's my attempt to define it as simply as possible:</p><div class="pullquote"><p><em>An AI agent is software that can perform tasks or make decisions on behalf of a user, similar to how a person might delegate responsibilities to a trusted representative.</em></p></div><p>Examples of human agents include sales representatives, travel booking agents, and customer support representatives. AI agents can be thought of similarly: software designed to perform tasks typically associated with specific job roles. A key question to consider is:</p><blockquote><p>Can this AI software effectively carry out the responsibilities of an existing professional role?</p></blockquote><p>There are differing opinions on what constitutes an AI agent, but I like this definition for how parsimonious, predictive, and explanatory it is. It's straightforward to identify and evaluate an agent when it's getting the same work done as a person. I also think this is one of the holy grails of AI: having technology do impactful work for people.</p><p>One small wrinkle: I believe "impactful work" can happen entirely in the digital world and doesn't have to translate to the physical world. However, I think this expectation will change as robotics improves.</p><h2><strong>Prior Art and Current Developments: The o1 Advantage</strong></h2><p>With definitions out of the way, let's dive into how o1 might differ from existing LLMs. People have, in fact, been attempting to design agentic systems with LLMs for some time. Papers like <a href="https://arxiv.org/abs/2210.03629">ReACT</a> proposed designs as early as October 2022. And as I mentioned previously, prompting techniques like <a href="https://learnprompting.org/docs/intermediate/chain_of_thought">chain of thought</a> (CoT) has been widely adapted in AI-native applications for some time as well. What's different about o1 is that the "thinking" is performed natively within the model. This is somewhat analogous to multimodality in models: instead of needing text to be fed into them, some models can natively support audio and image input and output.</p><p>o1 learns "productive" CoT through reinforcement learning1:</p><blockquote><p><em>Similar to how a human may think for a long time before responding to a difficult question, o1 uses a chain of thought when attempting to solve a problem. Through reinforcement learning, o1 learns to hone its chain of thought and refine the strategies it uses. It learns to recognize and correct its mistakes. It learns to break down tricky steps into simpler ones.</em></p></blockquote><p>Having CoT natively&nbsp; confers a few advantages for applications as far as I can see: performance and latency. I suspect that OpenAI's massive user base through ChatGPT helped it in compiling useful data for its CoT reinforcement learning. This likely translates to better performance out-of-the-box than&nbsp; that which most organizations could achieve, simply because OpenAI has a data advantage.</p><p>CoT occurring at the model-layer may avoid performing RAG with additional context, and its associated database lookups. This might reduce the number of roundtrips to OpenAI's API, and by extension perceived latency. However, it should be noted that the o1 family of models does not have consistent performance; different requests/queries may lead to different overall latencies.</p><p>These advantages notwithstanding, I intuitively believe most applications would still benefit from domain-specific CoT. The reason is straightforward: a lot of the o1 model family's CoT learning has been centered around specific technical domains. OpenAI emphasized benchmarks and reasoning ability for STEM. However, I'm excited for more research into broader reasoning ability. It's possible these models would benefit from <a href="https://en.wikipedia.org/wiki/Transfer_of_learning">transfer learning</a>; having strong analytical skills in a handful of technical domains may translate to reasoning competency in other domains. This is similar to humans: your friend who's a talented musician may also be a proficient programmer.</p><h2><strong>From Language Models to Autonomous Agents</strong></h2><p>While LLMs have shown impressive capabilities, they often fall short when it comes to complex reasoning and planning. This is where OpenAI's o1 models could be truly transformative. To understand why, let's dive into a useful mental model: system 1 vs system 2 thinking.</p><h3><strong>System 1 vs System 2: A Tale of Two Thinkers</strong></h3><p>You might be familiar with the concept of system 1 and system 2 thinking, popularized by Daniel Kahneman in his book "Thinking, Fast and Slow." If not, here's a quick primer:</p><p>Think of System 1 as your brain's autopilot. It's quick, intuitive, and doesn't require much effort. It's what you use when you're driving a familiar route or recognizing a friend's face. It's all about snap judgments and gut feelings.</p><p>System 2, on the other hand, is more like your brain's analytical powerhouse. It kicks in when you need to focus, solve complex problems, or make careful decisions. It's slower but more deliberate and logical. This is what you're using when you're doing your taxes or learning a new skill.</p><p>The cool thing is, we use both systems all the time, often without even realizing it. They work together to help us navigate the world. Sometimes System 1 can lead us astray with biases or rushed judgments, and that's when it's good to consciously engage System 2 to double-check our thinking.</p><h3>LLMs: The System 1 Thinkers of AI</h3><p>Traditional LLMs, in their raw form, excel at System 1-like thinking. They're great at rapid-fire responses, pattern recognition, and generating human-like text. This is why they're so good at tasks like casual conversation, creative writing, or quick information retrieval.</p><p>However, when it comes to tasks requiring deep analysis, step-by-step reasoning, or complex problem-solving, these models often fall short. We've been engineering workarounds, like chain-of-thought prompting, to coax more System 2-like thinking out of them. But it's been an uphill battle.</p><h3><strong>Enter o1: The System 2 Powerhouse</strong></h3><p>This is where o1 could be a game-changer. By incorporating chain-of-thought reasoning directly into its architecture, o1 is poised to become a powerful System 2 thinker right out of the box. It's not just spitting out pre-learned patterns; it's actively reasoning through problems.</p><p>Think about the best colleagues you've worked with. They weren't just good at executing specific tasks, right? The truly exceptional ones excelled at planning, prioritizing, and exercising good judgment. They didn't just have knowledge; they knew how to apply it effectively.</p><p>That's what o1 brings to the table. It's like having a highly effective manager on your AI team. It can break down complex problems, plan out approaches, and guide other AI components to execute those plans.</p><h3>A Symphony of Models</h3><p>Here's where things get really interesting. I don't think o1 is going to replace other models entirely. Instead, I see a future where we leverage multiple specialized models in concert:</p><ol><li><p>o1 as the "reasoning engine" and planner</p></li><li><p>GPT-4o or even 4o-mini as the "front office" for conversation and user interaction</p></li><li><p>Specialized models for specific tasks (e.g., code generation, data analysis, document processing)</p></li><li><p>Dedicated RAG pipelines for injecting domain-specific knowledge</p></li></ol><p>Imagine o1 as the conductor, orchestrating this AI symphony to tackle complex, multi-step tasks that were previously out of reach for autonomous systems.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wWsz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wWsz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.png 424w, https://substackcdn.com/image/fetch/$s_!wWsz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.png 848w, https://substackcdn.com/image/fetch/$s_!wWsz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.png 1272w, https://substackcdn.com/image/fetch/$s_!wWsz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wWsz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.png" width="1206" height="940" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:940,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;image 5.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="image 5.png" title="image 5.png" srcset="https://substackcdn.com/image/fetch/$s_!wWsz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.png 424w, https://substackcdn.com/image/fetch/$s_!wWsz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.png 848w, https://substackcdn.com/image/fetch/$s_!wWsz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.png 1272w, https://substackcdn.com/image/fetch/$s_!wWsz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4abe1f91-9193-4aa8-a64a-03dd31e9f32c_1206x940.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="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2><strong>The Path to True AI Agents</strong></h2><p>This multi-model approach, with o1 at its core, could be the missing link in creating truly autonomous AI agents. We're talking about systems that can:</p><ol><li><p>Understand a user's high-level goals</p></li><li><p>Break those goals down into actionable steps</p></li><li><p>Determine which specialized tools or models to use for each step</p></li><li><p>Execute the plan, adjusting course as needed</p></li><li><p>Deliver results in a user-friendly manner</p></li></ol><p>It's not hard to see how this could revolutionize fields like personal assistants, customer service, or even software development. The AI agent of the future might use o1 to plan out a complex task, GPT-4o to handle user communication, and a variety of specialized models to execute individual steps.</p><p>Of course, we're still in the early days. There will be challenges to overcome, from model integration to handling edge cases. But o1's ability to bring robust, built-in reasoning capabilities to the table is a significant step forward on the path to truly autonomous AI agents.</p>]]></content:encoded></item><item><title><![CDATA[Can OpenAI's o1 build an MVP in 5 mins?]]></title><description><![CDATA[Originally I planned to write on a different topic this week, but then OpenAI dropped a new model series, o1, which I had to try out.]]></description><link>https://blendingbits.io/p/can-openais-o1-build-an-mvp-in-5</link><guid isPermaLink="false">https://blendingbits.io/p/can-openais-o1-build-an-mvp-in-5</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Fri, 13 Sep 2024 16:59:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MuIU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Originally I planned to write on a different topic this week, but then OpenAI dropped a <a href="https://openai.com/o1/">new model series, o1</a>, which I <em>had</em> to try out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MuIU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MuIU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MuIU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MuIU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MuIU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MuIU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg" width="1344" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467415,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&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_!MuIU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!MuIU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!MuIU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!MuIU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27f486-35d4-4366-b329-6631297ebc08_1344x768.jpeg 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><strong>What is o1?</strong></h2><p>First, why a new model series. <a href="https://platform.openai.com/docs/guides/reasoning">OpenAI explains</a>:</p><div class="pullquote"><p><em>OpenAI o1 series models are new large language models trained with reinforcement learning to perform complex reasoning. o1 models think before they answer, and can produce a long internal chain of thought before responding to the user.</em></p></div><p>Essentially, these models are designed around giving the model time to "think" rather than answer immediately. The "internal chain of thought" (CoT) is notable in that CoT has been <a href="https://learnprompting.org/docs/intermediate/chain_of_thought">utilized in prompting</a> for a while, now it comes natively to the model itself. OpenAI does not expose the internal chain of thought, but does provide a summary in ChatGPT (more on this later).</p><p>OpenAI highlights some key points about o1:</p><blockquote><p><em>These enhanced reasoning capabilities may be particularly useful if you&#8217;re tackling complex problems in science, coding, math, and similar fields.</em></p></blockquote><p>And:</p><blockquote><p><em>For applications that need image inputs, function calling, or consistently fast response times, the GPT-4o and GPT-4o mini models will continue to be the right choice.</em></p></blockquote><p>So these new models are not a complete replacement for other models, and are not strictly superior to previous model. Instead, they can be used in a more specialized role for planning and reasoning. Planning and reasoning is something that so far, application developers have had to engineer into their applications, so it's a big upgrade to have the model handle some of this (though I suspect most applications will still benefit from engineering bespoke CoT workflows ).</p><p>Along with the base o1 model, OpenAI also introduced o1-mini, which trades off some capability for better speed and latency. Speaking of cost, <strong><a href="https://openai.com/api/pricing/">o1 is about 5-6x more expensive than GPT-4o</a></strong>. This further drives home the point that this model is not a drop-in replacement for all inference needs.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!091N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!091N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg 424w, https://substackcdn.com/image/fetch/$s_!091N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg 848w, https://substackcdn.com/image/fetch/$s_!091N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!091N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!091N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg" width="620" height="235" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:235,&quot;width&quot;:620,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot 2024-09-13 at 7.51.40&#8239;AM copy.jpg&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-13 at 7.51.40&#8239;AM copy.jpg" title="Screenshot 2024-09-13 at 7.51.40&#8239;AM copy.jpg" srcset="https://substackcdn.com/image/fetch/$s_!091N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg 424w, https://substackcdn.com/image/fetch/$s_!091N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg 848w, https://substackcdn.com/image/fetch/$s_!091N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!091N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8938245e-3f39-438a-9c7f-5d991686d744_620x235.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QBig!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QBig!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png 424w, https://substackcdn.com/image/fetch/$s_!QBig!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png 848w, https://substackcdn.com/image/fetch/$s_!QBig!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png 1272w, https://substackcdn.com/image/fetch/$s_!QBig!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QBig!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png" width="815" height="134" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:134,&quot;width&quot;:815,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12376,&quot;alt&quot;:&quot;Screenshot 2024-09-13 at 7.53.27&#8239;AM.png&quot;,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-13 at 7.53.27&#8239;AM.png" title="Screenshot 2024-09-13 at 7.53.27&#8239;AM.png" srcset="https://substackcdn.com/image/fetch/$s_!QBig!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png 424w, https://substackcdn.com/image/fetch/$s_!QBig!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png 848w, https://substackcdn.com/image/fetch/$s_!QBig!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png 1272w, https://substackcdn.com/image/fetch/$s_!QBig!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb34a15d-04e9-4dc3-9b2d-881393e48590_815x134.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>You can also try o1 and o1-mini through ChatGPT, though take note, the quota is much more limited:</p><blockquote><p><em>Both o1-preview and o1-mini can be selected manually in the model picker, and at launch, weekly rate limits will be 30 messages for o1-preview and 50 for o1-mini.</em></p></blockquote><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Build me an app in 5 mins</h2><p>To put the new o1 model through its paces, I decided to "speed run" creating a simple app as quickly as possible. I especially wanted to try this out because of o1's purported improvements in coding ability. Because o1 is more expensive and deliberative, this is not how I would actually design an application, but this is ok for fun little experiment.</p><p>Here's my prompt to Claude, which I used to refine my requirements for o1:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xjcp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xjcp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.png 424w, https://substackcdn.com/image/fetch/$s_!xjcp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.png 848w, https://substackcdn.com/image/fetch/$s_!xjcp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.png 1272w, https://substackcdn.com/image/fetch/$s_!xjcp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xjcp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.png" width="747" height="520" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:520,&quot;width&quot;:747,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot 2024-09-13 at 7.57.38&#8239;AM.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-13 at 7.57.38&#8239;AM.png" title="Screenshot 2024-09-13 at 7.57.38&#8239;AM.png" srcset="https://substackcdn.com/image/fetch/$s_!xjcp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.png 424w, https://substackcdn.com/image/fetch/$s_!xjcp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.png 848w, https://substackcdn.com/image/fetch/$s_!xjcp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.png 1272w, https://substackcdn.com/image/fetch/$s_!xjcp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c0e6d6b-77eb-4323-9720-d1ddfbae3051_747x520.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>o1's limited quota makes every query feel very substantial, like firing a .50 cal gun. So I did some prep work in other LLMs to get o1's prompt just right. To quickly summarize: I wanted to create an app that could take a picture and output an ICS file (a standard calendar file format) that I can later import into my calendar (coincidentally Apple is bringing this feature to the new iPhone 16 through its <a href="https://www.theverge.com/2024/9/9/24240094/apple-visual-intelligence-camera-control-iphone-16-ai-camera-control-google-lens">visual intelligence feature</a>). I'd be using GPT-4o and its new <a href="https://openai.com/index/introducing-structured-outputs-in-the-api/">structured output</a> feature to extract structured data from images. Structured outputs, released in August 2024, allow for more predictable and easily parseable responses from the model. As I'm often reminded, being on the cutting edge often leads to bleeding (more on this later).</p><p></p><p>After some back and forth with Claude, I got a <a href="https://gist.github.com/dalberto/49a581ac4ffb40cf4bd0439c585dee0f">quick requirements document</a> that I then passed to o1. o1 did a good job initially, taking ~40 seconds to devise a plan and generate the necessary. I had a further back and forth with o1 in refining the specs, once the initial implementation was complete. The full conversation can be found <a href="https://chatgpt.com/share/66e45c0b-0544-8002-bf2b-c1d7edb20d52">here</a>.</p><p></p><p><strong>In the end o1 got about 90% to a working solution</strong>. It was very impressive, but still required my human input to refine its work. Besides the planning and prep work, o1 actually only took a few minutes. And o1 was exhaustive (when prompted appropriately), having generated a complete working structure:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!11ZF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!11ZF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.png 424w, https://substackcdn.com/image/fetch/$s_!11ZF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.png 848w, https://substackcdn.com/image/fetch/$s_!11ZF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.png 1272w, https://substackcdn.com/image/fetch/$s_!11ZF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!11ZF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.png" width="275" height="269" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:269,&quot;width&quot;:275,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot 2024-09-13 at 11.42.28&#8239;AM.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-13 at 11.42.28&#8239;AM.png" title="Screenshot 2024-09-13 at 11.42.28&#8239;AM.png" srcset="https://substackcdn.com/image/fetch/$s_!11ZF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.png 424w, https://substackcdn.com/image/fetch/$s_!11ZF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.png 848w, https://substackcdn.com/image/fetch/$s_!11ZF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.png 1272w, https://substackcdn.com/image/fetch/$s_!11ZF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa87d6547-0254-4d12-9bf1-1e7930d9efa4_275x269.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's a screenshot of the working app:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ruQr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ruQr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.png 424w, https://substackcdn.com/image/fetch/$s_!ruQr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.png 848w, https://substackcdn.com/image/fetch/$s_!ruQr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.png 1272w, https://substackcdn.com/image/fetch/$s_!ruQr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ruQr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.png" width="469" height="683" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:683,&quot;width&quot;:469,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot 2024-09-13 at 11.50.09&#8239;AM.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-13 at 11.50.09&#8239;AM.png" title="Screenshot 2024-09-13 at 11.50.09&#8239;AM.png" srcset="https://substackcdn.com/image/fetch/$s_!ruQr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.png 424w, https://substackcdn.com/image/fetch/$s_!ruQr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.png 848w, https://substackcdn.com/image/fetch/$s_!ruQr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.png 1272w, https://substackcdn.com/image/fetch/$s_!ruQr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9cfc1d5-f987-48dc-92fd-8ab18f4b8903_469x683.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>I say it only got 90% there because the frontend had trouble sending data to the backend. Specifically, the date and time formats used on the frontend differed from the backend. This was exacerbated by subpar prompting that didn't extract very structured data. Ironically, the integration between frontend and backend is a common gotcha for flesh-and-blood developers too. Integration work remains a pain! Better data modeling and thinking about architecture would have avoided these issues, and those are precisely the skills great software engineers possess.</p><h2><strong>Observations and Learnings</strong></h2><p>I spent about an hour getting this all to work, and I was impressed with the initial results. That being said, it was great to see where there may be limitations for this new class of model.</p><p>Here are my initial impressions and insights:</p><ul><li><p>As prescribed by OpenAI, o1 is best used as reasoner/planner, not for grunt work. Perhaps in my next experiment, I'll have it generate a detailed spec for GPT-4o to follow. My use of o1 as the "individual contributor" seems suboptimal. I suspected as much going in but it was good to experience first-hand.</p></li><li><p>Problem specification still matters a lot.</p><ul><li><p>Using Claude / GPT-4o to refine your thinking and preparing it for a more capable reasoning model like o1 seems like a good tradeoff.</p></li><li><p>Using Claude / GPT-4o as a "thought partner" for refining your problem and the associated solution seems especially useful. I used these models not only to provide the final specification, but also to think through what it was I wanted out of my little app.</p></li><li><p>This part actually took the longest; it's why I think software engineering is going to evolve. Not everyone is going to want to sit down and deconstruct a problem. The skills of the best "traditional" software engineers and the software engineers of tomorrow are largely the same in this regard.</p></li></ul></li><li><p>Like all models, o1 has a knowledge cutoff that hampered its ability to use the latest and greatest.</p><ul><li><p>For this reason, <a href="https://en.wikipedia.org/wiki/Retrieval-augmented_generation">RAG</a> still has a very important role to play, even as models get more powerful.</p></li><li><p><strong>Ironically, o1 experienced egregious hallucinations regarding AI model names and API calls. It kept wanting to use gpt-4, despite strong prompting indicating newer models with newer capabilities, like multimodality were available.</strong> I even provided snippets of documentation and told it to reference that.</p><ul><li><p>It struggled with structured outputs especially, even when an example was specified.</p></li></ul></li></ul></li><li><p>While getting to a working prototype is very useful, iteration remains king.</p><ul><li><p>I integrated some specific knowledge about LLM calls, like tuning the temperature parameter to better serve the task at hand. This is not something that's easy to discern early on.</p></li></ul></li><li><p>"Last mile" knowledge like how to deploy an app is still immensely valuable and hard to prompt for.</p></li><li><p>Latency is very task dependent, which was cool to see. This makes sense, because like humans, some tasks require more thinking than others.</p><ul><li><p>One response took ~40 seconds, another ~20 seconds.</p></li><li><p>This can also be problematic for real-time applications, but as mentioned before, o1 excels as reasoning, so real time is not the best use-case.</p></li></ul></li><li><p>The speed at which o1 can generate a working prototype suggests that the role of software developers may evolve more towards problem definition, architecture design, and fine-tuning rather than writing every line of code from scratch. I did not review or care for any of the code generated.</p></li></ul><p>Unrelated to anything I tried, but pointed out by a friend, o1 and o1-mini provide the most output token capacity of any OpenAI models (up to 65k tokens):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!34rV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!34rV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.png 424w, https://substackcdn.com/image/fetch/$s_!34rV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.png 848w, https://substackcdn.com/image/fetch/$s_!34rV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.png 1272w, https://substackcdn.com/image/fetch/$s_!34rV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!34rV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.png" width="999" height="374" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:374,&quot;width&quot;:999,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot 2024-09-13 at 12.17.03&#8239;PM.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-13 at 12.17.03&#8239;PM.png" title="Screenshot 2024-09-13 at 12.17.03&#8239;PM.png" srcset="https://substackcdn.com/image/fetch/$s_!34rV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.png 424w, https://substackcdn.com/image/fetch/$s_!34rV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.png 848w, https://substackcdn.com/image/fetch/$s_!34rV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.png 1272w, https://substackcdn.com/image/fetch/$s_!34rV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3eb8fd9-f865-4de6-b51f-52e99f5c3e82_999x374.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>I speculate that o1 excels at "self-contained" reasoning work, as demonstrated by OpenAI's benchmarks in competitive coding, math and science. Software engineering entails a lot more than coding, including integration between different systems, requirements-gathering, and testing. With this lens, the shortcomings I observed are not surprisingly. Integrating HTML, JS and Python is often times annoying "integration" work that requires experimentation. Many times, after building a prototype you find that you underspecified your requirements, but the only way to find out is by doing.</p><p></p><p>All this being said, I'm less than 24 hours into using o1 so I'm sure I'll learn more about its optimal use over time. &#128517;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><h2><strong>Conclusion</strong></h2><p>o1 represents a significant step forward in AI reasoning capabilities, but it's not a one-size-fits-all solution. Its strengths lie in complex problem-solving and planning, rather than rapid-fire tasks or real-time applications. As we continue to explore and experiment with o1, we'll likely uncover more optimal use cases and integration strategies. The future of AI-assisted development looks promising, but it's clear that human insight and expertise will remain crucial in navigating the complexities of software engineering.</p>]]></content:encoded></item><item><title><![CDATA[JIT comes to knowledge work]]></title><description><![CDATA[Learn It When You Need It]]></description><link>https://blendingbits.io/p/jit-comes-to-knowledge-work</link><guid isPermaLink="false">https://blendingbits.io/p/jit-comes-to-knowledge-work</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Fri, 06 Sep 2024 19:36:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nWdC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.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_!nWdC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nWdC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!nWdC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!nWdC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!nWdC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nWdC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.webp" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca616098-a6b0-418e-8527-48bd666139dc_1024x1024.webp&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;:null,&quot;alt&quot;:&quot;replicate-prediction-c30x2588hnrgc0chs30ttant5c.webp&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="replicate-prediction-c30x2588hnrgc0chs30ttant5c.webp" title="replicate-prediction-c30x2588hnrgc0chs30ttant5c.webp" srcset="https://substackcdn.com/image/fetch/$s_!nWdC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!nWdC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!nWdC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!nWdC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca616098-a6b0-418e-8527-48bd666139dc_1024x1024.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>Hey there, fellow knowledge enthusiasts! Remember that one teacher who actually got it? Mine was a chemical engineering whiz in high school. His golden nugget of wisdom? "You don't need to memorize this stuff to be a great engineer, you just have to remember where to look it up." That little gem has been living rent-free in my head ever since.</p><p>Fast-forward to 2024, and while that advice still slaps, I'd give it a modern twist: "You don't need to know how to do something, you can learn it just-in-time." Let me break it down for you.</p><p>Just-in-time learning is like having a super-smart friend on speed dial. Need to know something? Bam! You learn it right when you need it, no advance cramming required. It's all about learning on the fly and putting that knowledge to work pronto. And guess what? <strong>LLMs are turning this into a reality for knowledge workers everywhere.</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>From Factory Floors to Code Galore</strong></h2><p>Just-In-Time (JIT) isn't the new kid on the block. It first made waves in manufacturing back in the 60s and 70s, with Toyota leading the charge. They figured out that making stuff only when needed was way cooler than piling up inventory like there's no tomorrow. Less waste, lower costs, and quicker production? Yes, please!</p><p>But JIT wasn't content with just revolutionizing factories. In the 90s and early 2000s, it gate-crashed the software development party. Enter Lean and Agile methodologies, bringing that sweet JIT energy to coding. The Agile Manifesto dropped in 2001, and suddenly everyone was all about iterative development and rolling with the punches.</p><p>Now, JIT is making its grand entrance into the world of knowledge work. In an era where we're drowning in information, being able to pluck out exactly what you need, when you need it, is like having a superpower. And with LLMs as our sidekicks? We're talking superhero league stuff here.</p><h2><strong>LLMs: Your 24/7 Tutor on Steroids</strong></h2><p>Gone are the days when you had to remember when to use Avogadro's number (shoutout to my chem teacher). Now, you can just ask an LLM not only when to use it, but also get a crash course on why it matters. It's like having a genius buddy who never sleeps and is always pumped to explain stuff.</p><p>Take Anthropic's Claude, for instance. This AI whiz took tech Twitter by storm faster than you can say "viral tweet." Folks were learning new tricks and shipping MVPs like it was going out of style. And Claude's Artifacts feature? <em>Chef's kiss</em> It's like having your code and explanations served up on a silver platter.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IYxv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46058f04-f6fc-4522-86b4-f316474cc294_1380x696.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IYxv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46058f04-f6fc-4522-86b4-f316474cc294_1380x696.png 424w, https://substackcdn.com/image/fetch/$s_!IYxv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46058f04-f6fc-4522-86b4-f316474cc294_1380x696.png 848w, https://substackcdn.com/image/fetch/$s_!IYxv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46058f04-f6fc-4522-86b4-f316474cc294_1380x696.png 1272w, https://substackcdn.com/image/fetch/$s_!IYxv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46058f04-f6fc-4522-86b4-f316474cc294_1380x696.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IYxv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46058f04-f6fc-4522-86b4-f316474cc294_1380x696.png" width="1380" height="696" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46058f04-f6fc-4522-86b4-f316474cc294_1380x696.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:696,&quot;width&quot;:1380,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot 2024-09-06 at 2.26.04&#8239;PM.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-06 at 2.26.04&#8239;PM.png" title="Screenshot 2024-09-06 at 2.26.04&#8239;PM.png" srcset="https://substackcdn.com/image/fetch/$s_!IYxv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46058f04-f6fc-4522-86b4-f316474cc294_1380x696.png 424w, https://substackcdn.com/image/fetch/$s_!IYxv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46058f04-f6fc-4522-86b4-f316474cc294_1380x696.png 848w, https://substackcdn.com/image/fetch/$s_!IYxv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46058f04-f6fc-4522-86b4-f316474cc294_1380x696.png 1272w, https://substackcdn.com/image/fetch/$s_!IYxv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46058f04-f6fc-4522-86b4-f316474cc294_1380x696.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="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZsL3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZsL3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.png 424w, https://substackcdn.com/image/fetch/$s_!ZsL3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.png 848w, https://substackcdn.com/image/fetch/$s_!ZsL3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.png 1272w, https://substackcdn.com/image/fetch/$s_!ZsL3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZsL3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.png" width="1384" height="1230" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1230,&quot;width&quot;:1384,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1266654,&quot;alt&quot;:&quot;Screenshot 2024-09-06 at 2.26.42&#8239;PM.png&quot;,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-06 at 2.26.42&#8239;PM.png" title="Screenshot 2024-09-06 at 2.26.42&#8239;PM.png" srcset="https://substackcdn.com/image/fetch/$s_!ZsL3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.png 424w, https://substackcdn.com/image/fetch/$s_!ZsL3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.png 848w, https://substackcdn.com/image/fetch/$s_!ZsL3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.png 1272w, https://substackcdn.com/image/fetch/$s_!ZsL3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6689eab1-23dd-4c36-9595-c2e13dccd4dd_1384x1230.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>The hype got so real that there's now a whole meme subculture about using Cursor (an AI-powered IDE) with Claude to build apps at warp speed. Some jokers are even calling it the dawn of the "idea guy" era. Got an idea and some gumption? Boom! You're a tech mogul in the making.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aefD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aefD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.png 424w, https://substackcdn.com/image/fetch/$s_!aefD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.png 848w, https://substackcdn.com/image/fetch/$s_!aefD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.png 1272w, https://substackcdn.com/image/fetch/$s_!aefD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aefD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.png" width="1392" height="1702" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1702,&quot;width&quot;:1392,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot 2024-09-06 at 2.28.30&#8239;PM.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-06 at 2.28.30&#8239;PM.png" title="Screenshot 2024-09-06 at 2.28.30&#8239;PM.png" srcset="https://substackcdn.com/image/fetch/$s_!aefD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.png 424w, https://substackcdn.com/image/fetch/$s_!aefD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.png 848w, https://substackcdn.com/image/fetch/$s_!aefD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.png 1272w, https://substackcdn.com/image/fetch/$s_!aefD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741ef61f-9de5-4721-88e9-381dd3d10bee_1392x1702.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="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WSMp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WSMp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.png 424w, https://substackcdn.com/image/fetch/$s_!WSMp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.png 848w, https://substackcdn.com/image/fetch/$s_!WSMp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!WSMp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WSMp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.png" width="1386" height="1208" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1208,&quot;width&quot;:1386,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot 2024-09-06 at 2.30.21&#8239;PM.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-06 at 2.30.21&#8239;PM.png" title="Screenshot 2024-09-06 at 2.30.21&#8239;PM.png" srcset="https://substackcdn.com/image/fetch/$s_!WSMp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.png 424w, https://substackcdn.com/image/fetch/$s_!WSMp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.png 848w, https://substackcdn.com/image/fetch/$s_!WSMp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.png 1272w, https://substackcdn.com/image/fetch/$s_!WSMp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8630cfa6-854b-4d24-bb9e-10da1f47dc90_1386x1208.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>I've even jumped on this bandwagon for my photography hobby. As someone with more gear than skill (we've all been there, right?), I asked Claude to help me plan an unboxing video. Check out this snazzy diagram it whipped up:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_pha!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_pha!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.png 424w, https://substackcdn.com/image/fetch/$s_!_pha!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.png 848w, https://substackcdn.com/image/fetch/$s_!_pha!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.png 1272w, https://substackcdn.com/image/fetch/$s_!_pha!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_pha!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.png" width="1456" height="1081" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1081,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot 2024-09-06 at 2.43.43&#8239;PM.png&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot 2024-09-06 at 2.43.43&#8239;PM.png" title="Screenshot 2024-09-06 at 2.43.43&#8239;PM.png" srcset="https://substackcdn.com/image/fetch/$s_!_pha!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.png 424w, https://substackcdn.com/image/fetch/$s_!_pha!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.png 848w, https://substackcdn.com/image/fetch/$s_!_pha!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.png 1272w, https://substackcdn.com/image/fetch/$s_!_pha!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5b0017d-39a6-4240-a23b-33b7c0cdd3fa_2494x1852.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>The results? Let's just say I looked like I knew what I was doing, even though I learned it all on the spot. Talk about fake it 'til you make 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_!ALca!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ALca!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif 424w, https://substackcdn.com/image/fetch/$s_!ALca!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif 848w, https://substackcdn.com/image/fetch/$s_!ALca!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif 1272w, https://substackcdn.com/image/fetch/$s_!ALca!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ALca!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif" width="720" height="405" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:405,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14151372,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&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_!ALca!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif 424w, https://substackcdn.com/image/fetch/$s_!ALca!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif 848w, https://substackcdn.com/image/fetch/$s_!ALca!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif 1272w, https://substackcdn.com/image/fetch/$s_!ALca!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0c5d4be-aa9b-4182-b0ef-a10ca900bffe_720x405.gif 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 JIT Jedi: Mastering the Force of Instant Knowledge</h2><p>Now, before you go thinking you can just coast by as an "idea guy," let me hit you with some truth bombs. To really rock this JIT learning thing, you need to level up a few key skills:</p><ol><li><p><strong>Be a Swiss Army Knife</strong>: In this LLM-powered world, being a jack-of-all-trades is your ticket to success. The more adaptable and curious you are, the more you'll thrive.</p></li><li><p><strong>Speak LLM</strong>: Clear communication is your new superpower. The better you can explain what you need, the better results you'll get. It's like learning to speak "computer," but way cooler.</p></li><li><p><strong>Channel Your Inner Bulldog</strong>: Sometimes, getting what you want out of an LLM takes persistence. Embrace your inner tenacious terrier and keep digging until you strike gold.</p></li><li><p><strong>Sharpen Your Mental Katana</strong>: While LLMs can feed you info, you still need to know how to slice and dice it. Keep those problem-solving and critical thinking skills razor-sharp.</p></li><li><p><strong>Know Thyself (and Thy Learning Style)</strong>: Understanding how you learn best is key. It's like having a mental GPS that always knows which knowledge route to take.</p></li></ol><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><h2>The Future is JIT: Are You Ready to Roll?</h2><p>There's never been a better time to be a curious cat with a can-do attitude. As a proud T-shaped generalist, I'm telling you, these LLMs feel like pure magic. They're expanding our mental playgrounds faster than we can say "AI revolution."</p><p>All it takes is a spark of courage to get started. The entry barrier for learning new skills or tackling gnarly problems has never been lower. With LLMs as your always-on study buddy and collaborator, the sky's the limit.</p><p>But hey, don't throw out your expertise just yet. Mastery still matters, especially when it comes to the brain basics like problem-solving and smooth talking. LLMs can help with the nitty-gritty, but that human touch? Still irreplaceable.</p><p>JIT learning, powered by our AI pals, isn't about making experts obsolete. It's about supercharging our brains and making knowledge as easy to access as your smartphone. It's turning us into learning ninjas, ready to take on any challenge that comes our way.</p><p>So, my friends, embrace the JIT mindset. Stay curious, stay hungry, and don't be afraid to dive into the unknown. Remember, the knowledge you need is just a clever prompt away. Now go out there and show the world what you've got!</p>]]></content:encoded></item><item><title><![CDATA[No, You Probably Don't Need an ML Specialist for Your Gen AI Product]]></title><description><![CDATA[Rethinking AI Expertise]]></description><link>https://blendingbits.io/p/no-you-probably-dont-need-an-ml-specialist</link><guid isPermaLink="false">https://blendingbits.io/p/no-you-probably-dont-need-an-ml-specialist</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Thu, 29 Aug 2024 16:21:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!O9kZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg" 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_!O9kZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O9kZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg 424w, https://substackcdn.com/image/fetch/$s_!O9kZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg 848w, https://substackcdn.com/image/fetch/$s_!O9kZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!O9kZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O9kZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg" width="886" height="886" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:886,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:147371,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&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_!O9kZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg 424w, https://substackcdn.com/image/fetch/$s_!O9kZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg 848w, https://substackcdn.com/image/fetch/$s_!O9kZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!O9kZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac8d28c4-824a-4444-ac84-4cca8fa5fbf5_886x886.jpeg 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>Controversial take incoming: If you're building a generative AI product, you might want to think twice before rushing to hire that machine learning specialist. After months of interviewing AI professionals across the industry, from scrappy startups to tech giants, a surprising pattern has emerged. The skills that made someone a rockstar in traditional ML often don't translate directly to success in the new world of large language models (LLMs) and generative AI.</p><p>In fact, for early-stage gen AI product development, a traditional ML background might not just be unnecessary &#8211; it could even be a hindrance. Let's unpack why.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><h2><strong>The Inverted Process of Gen AI Development</strong></h2><p>Developing products with generative AI turns the traditional ML workflow on its head. Instead of starting with data collection, model training, and then prototyping, gen AI often begins with rapid prototyping using commercial LLMs. Only later do teams worry about fine-tuning, gathering domain-specific data, or potentially training custom models.</p><p>This inversion is possible because off-the-shelf LLMs like GPT-4 are astonishingly capable out of the box, especially for natural language tasks. They often outperform specialist models that would have taken months to develop just a few years ago. This shift fundamentally changes the skills needed in early product development.</p><h2><strong>Prompting: The New Critical Skill</strong></h2><p>Enter prompting &#8211; the art and science of coaxing the desired behavior out of LLMs through carefully crafted instructions. Effective prompting has emerged as perhaps the most critical skill in gen AI development, and it requires a very different mindset from traditional ML.</p><p>The best prompters I've encountered share some key attributes:</p><ol><li><p>Strong verbal and analytical skills</p></li><li><p>An ability to break complex problems into smaller, well-defined steps</p></li><li><p>Metacognition &#8211; the capacity to articulate tacit knowledge and "think about thinking"</p></li></ol><p>Interestingly, these skills often align more closely with the strengths of generalists &#8211; product managers, UX researchers, or even philosophers &#8211; than with highly specialized ML engineers.</p><p>This creates what I've started calling an "impedance mismatch" between traditional ML skills and the needs of gen AI development. ML specialists are used to thinking in terms of data distributions, loss functions, and model architectures. But with gen AI, the focus shifts to natural language, cognitive task analysis, and understanding the nuances of human instruction.</p><h2><strong>The Role of Traditional Software Engineers</strong></h2><p>Of course, it's not just ML specialists facing challenges. Traditional software engineers often find themselves in unfamiliar territory with gen AI. The deterministic, rules-based thinking that serves them so well in most domains can be at odds with the probabilistic, fuzzy nature of LLM outputs.</p><p>Yet, solid software engineering practices remain crucial for building reliable, scalable gen AI products. The ability to design robust systems, handle errors gracefully, and create intuitive user interfaces is as important as ever. The best teams I've seen pair AI-savvy engineers with strong prompters, creating a powerful combination of technical rigor and creative problem-solving.</p><h2><strong>The Emerging AI Engineer Role</strong></h2><p>This new landscape is giving rise to a hybrid role that some are calling the "AI Engineer." The recent<a href="https://www.ai.engineer"> AI Engineer Summit</a> highlighted the unique blend of skills required:</p><ul><li><p>A strong foundation in software engineering</p></li><li><p>Familiarity with ML concepts and LLM capabilities</p></li><li><p>Expertise in prompt engineering and RAG (retrieval-augmented generation)</p></li><li><p>Product thinking and UX design sensibilities</p></li></ul><p>It's a tall order, combining technical chops with creativity and strategic thinking. But for those who can master this skill set, the opportunities are immense.</p><h2><strong>When Traditional ML Backgrounds Become Valuable</strong></h2><p>Don't get me wrong &#8211; there's definitely a time and place for deep ML expertise in gen AI. As products mature and scale, skills like building robust evaluation pipelines, fine-tuning models on domain-specific data, and optimizing for latency and cost become crucial. This is where those with traditional ML backgrounds can really shine.</p><p>Additionally, some applications &#8211; like highly regulated industries or specialized scientific domains &#8211; may require custom models from the start. Here, domain knowledge combined with ML expertise is invaluable.</p><h2><strong>Implications and Future Outlook</strong></h2><p>For business leaders, this shift means rethinking hiring criteria for AI roles. Rather than focusing solely on ML credentials, consider candidates with strong analytical thinking, clear communication, and the ability to rapidly prototype and iterate.</p><p>Aspiring AI professionals should broaden their skill sets beyond just technical ML knowledge. Develop your prompt engineering abilities, study cognitive science and UX design, and cultivate a product mindset.</p><p>On an industry level, we may see a democratization of AI development. As the barriers to entry lower, a more diverse range of thinkers and problem-solvers can contribute to shaping the future of AI products.</p><p>However, this democratization also raises ethical concerns. As it becomes easier for anyone to create powerful AI systems, how do we ensure responsible development and deployment? The need for ethical guidelines and best practices in AI engineering has never been greater.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><h2><strong>Conclusion</strong></h2><p>The world of gen AI is evolving at a breakneck pace, and our notions of what makes an "AI expert" need to evolve with it. While deep ML knowledge will always have its place, the immediate future belongs to those who can bridge the gap between human needs and AI capabilities.</p><p>So before you rush to hire that ML specialist for your gen AI product, take a step back. The skills you really need might be found in unexpected places. The next great AI innovator could be a linguist, a psychologist, or even a particularly insightful product manager. Keep an open mind, and you might just stumble upon the perfect blend of talent to bring your AI vision to life.</p>]]></content:encoded></item><item><title><![CDATA[AI's Going Up, Prices Are Going... Wait, What?]]></title><description><![CDATA[In my last post, I discussed how the current AI wave mirrors historical tech trends, with over-investment in infrastructure preceding substantial profits.]]></description><link>https://blendingbits.io/p/ais-going-up-prices-are-going-wait</link><guid isPermaLink="false">https://blendingbits.io/p/ais-going-up-prices-are-going-wait</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Wed, 21 Aug 2024 13:31:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7789f602-cb57-4e0a-b64a-9ebd68b66936_694x550.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In my <a href="https://blendingbits.io/p/the-ai-gold-rush">last post</a>, I discussed how the current AI wave mirrors historical tech trends, with over-investment in infrastructure preceding substantial profits. Today, let's explore another exciting aspect of this AI revolution: the dramatic price drops. These plummeting costs aren't just a footnote&#8212;they're a hallmark of truly transformative, paradigm-shifting technology.</p><h2>a walk down memory lane</h2><p>To put this in perspective, let's revisit a classic example: computer storage. Remember when digital memories came with a hefty price tag? I certainly do.</p><p>Back in 2005, I shelled out $100 for a 1 gigabyte flash drive&#8212;and felt like I was living in the future. Fast forward to 2024, and that same Benjamin can snag you a micro SD card smaller than your fingernail, packing a whopping 1 terabyte of storage. We're talking a 1000x increase in capacity for the same price, in a fraction of the size, in just two decades. Mind-boggling, right?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JNWr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JNWr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JNWr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JNWr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JNWr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JNWr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg" width="518" height="423" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:423,&quot;width&quot;:518,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37093,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&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_!JNWr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JNWr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JNWr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JNWr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1fbf4fc5-c1c8-4173-9d81-b06aa1963818_518x423.jpeg 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 oldest photo I could find featuring me and computer storage, circa July 2006</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><h2>the price is (rapidly) right</h2><p>Now, let's turn our attention to LLMs. We're witnessing a similar price plunge, but at a pace that makes even Moore's Law look sluggish:</p><ul><li><p>2022: Each ChatGPT query cost <a href="https://www.semianalysis.com/p/the-inference-cost-of-search-disruption">several cents</a></p></li><li><p>2023: Costs dropped to less than <a href="https://www.semianalysis.com/p/the-inference-cost-of-search-disruption">1 cent per query</a></p></li><li><p>2024: We're approaching models that are almost too cheap to meter</p><p></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EZr_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EZr_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.png 424w, https://substackcdn.com/image/fetch/$s_!EZr_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.png 848w, https://substackcdn.com/image/fetch/$s_!EZr_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.png 1272w, https://substackcdn.com/image/fetch/$s_!EZr_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EZr_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.png" width="1170" height="556" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:556,&quot;width&quot;:1170,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:87308,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EZr_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.png 424w, https://substackcdn.com/image/fetch/$s_!EZr_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.png 848w, https://substackcdn.com/image/fetch/$s_!EZr_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.png 1272w, https://substackcdn.com/image/fetch/$s_!EZr_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee6ecb3f-4549-40e9-815d-5b71415ade72_1170x556.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>The following graph tells a compelling story. It plots each model's cost per million tokens against its LMSys Elo ranking (a chess-like rating system for AI language models). <strong>The trend is clear: newer models are rapidly becoming both better and cheaper</strong>.</p><p>A quick guide to reading the graph:</p><ul><li><p>X-axis: Cost per million tokens (reverse scale, cheaper to the right)</p></li><li><p>Y-axis: LMSys Elo rating (higher is better)</p></li><li><p>Colored lines: Different cohorts of models</p></li><li><p>Ideal position: Top-right corner (high performance, low cost)</p></li></ul><p>The exciting part? Newer models are consistently pushing towards that ideal top-right corner, month after month. In an ideal world, a model would occupy the rightmost and topmost point on the graph (make number go up!). And that's exactly where newer models are headed, on a month-to-month basis. Up and to the right, baby!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TC3B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TC3B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TC3B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TC3B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TC3B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TC3B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg" width="1368" height="1250" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1250,&quot;width&quot;:1368,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:174838,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&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_!TC3B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TC3B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TC3B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TC3B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a8d915-d3e2-49b7-8058-0eb267641652_1368x1250.jpeg 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>Credit: <a href="https://x.com/swyx/status/1821771182443540752">swyx</a></p><h2>beyond model makeovers</h2><p>It's not just about overhauling entire models. Sometimes, it's the subtle engineering improvements that make a big difference. Take Anthropic's <a href="https://www.anthropic.com/news/prompt-caching">recent beta release of prompt caching</a> (following Google's Gemini Pro from Spring '24). While not a universal cost reduction, it represents a significant saving for many use-cases:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QrN2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QrN2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.png 424w, https://substackcdn.com/image/fetch/$s_!QrN2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.png 848w, https://substackcdn.com/image/fetch/$s_!QrN2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.png 1272w, https://substackcdn.com/image/fetch/$s_!QrN2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QrN2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.png" width="1456" height="639" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:639,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:165249,&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;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QrN2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.png 424w, https://substackcdn.com/image/fetch/$s_!QrN2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.png 848w, https://substackcdn.com/image/fetch/$s_!QrN2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.png 1272w, https://substackcdn.com/image/fetch/$s_!QrN2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19ba65c8-49cd-4be1-b792-0a16c005555d_2270x996.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>These tweaks might not grab headlines like a brand new model, but they're quietly revolutionizing how we use AI.</p><h2>the ripple effects</h2><p>These rapid price drops aren't just about saving a few bucks. They're reshaping the landscape of what's possible:</p><ol><li><p><strong>Democratization of AI</strong>: This technology can now reach and benefit a broader spectrum of society.</p></li><li><p><strong>Unlocking New Frontiers</strong>: Applications that were once cost-prohibitive are now within reach.</p></li><li><p><strong>Accelerating Innovation</strong>: As AI becomes more accessible, it fuels further technological advancements. Imagine using Claude as your junior software engineer 100x more often&#8212;that's a lot more software getting written.</p></li></ol><h2>a paradigm shift</h2><p>So what does all this mean for the future? While it's impossible to predict with certainty, these plummeting costs and skyrocketing capabilities are likely to reshape industries in ways we're only beginning to imagine. Let's consider one particularly intriguing possibility:</p><p>We're potentially witnessing a reverse industrial revolution in software. Instead of moving from bespoke goods to mass production, we're transitioning from mass-distributed software to personalized, bespoke solutions for everyone.</p><p>Imagine a world where everyone is a software engineer, armed with LLMs too cheap to meter. The result? Software purpose-built for individual needs becomes the norm, not the exception.</p><p>That's not just an incremental change&#8212;it's a paradigm shift that could reshape the very structure of our society. And it's all being driven by these plummeting AI costs.</p><p>So, as we watch these prices fall, remember: we're not just seeing numbers change on a graph. We're watching the future unfold, one cheaper token at a time.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blendingbits.io/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The AI Gold Rush]]></title><description><![CDATA[Big Spending, Little Profit (So Far)]]></description><link>https://blendingbits.io/p/the-ai-gold-rush</link><guid isPermaLink="false">https://blendingbits.io/p/the-ai-gold-rush</guid><dc:creator><![CDATA[darlin]]></dc:creator><pubDate>Tue, 13 Aug 2024 11:16:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BfMd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recently, there's been <a href="https://www.sequoiacap.com/article/ais-600b-question/">a lot</a> of <a href="https://www.goldmansachs.com/insights/goldman-sachs-exchanges/a-skeptical-look-at-ai-investment">discussion</a> about AI infrastructure spending over the past two years. It's concerning that AI isn't making nearly as much money as companies have been pouring into it. Yet, major tech firms are doubling down, with plans to invest <a href="https://www.forbes.com/sites/bethkindig/2024/05/09/big-tech-q1-earnings-ai-capex-increased-as-ai-related-gains-continue/">about $200 billion in AI</a> this year alone. What's really happening here? Are we watching an AI bubble about to pop?</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>D&#233;j&#224; Vu All Over Again: Tech's History of Jumping the Gun</strong></h3><p>This situation actually follows a common pattern in tech. New technologies often see heavy investment in infrastructure before useful applications catch up - we've seen this seemingly over-the-top spending many times in tech history.&nbsp;</p><p></p><p><strong>Fiber Frenzy: When the Internet Got Way Too Much Pipe</strong></p><p>Let's look back at the late 90s during the dot-com boom. Many companies spent huge sums laying fiber optic cables, betting on a surge in internet use. At the time, most home users had dial-up connections crawling at just 56 kbps. The problem? There weren't enough uses for all this new bandwidth yet. This led to a 'bandwidth glut'. Eventually, applications like video streaming did make use of this infrastructure, but only years later &#8211; after the dot-com bubble had burst.</p><p></p><p><strong>Data Center Dilemma: Build It and They Will... Eventually Come</strong></p><p>In the mid-2000s, we saw a similar trend, but this time with data centers &#8211; and it was all about business customers. As companies rushed to digitize their operations, tech giants poured billions into constructing massive data centers. They anticipated a surge in demand for cloud computing and data storage. However, just like with fiber optics, the applications lagged behind. Many of these data centers sat partially empty for years, running at low capacity. It wasn't until the late 2000s and early 2010s that cloud services, big data analytics, and eventually AI workloads began to fill these spaces. Once again, the infrastructure was built well before its full potential could be realized.</p><p></p><p><strong>Even the 1800s Had Tech FOMO</strong></p><p>Now for a curveball &#8211; let's dial back to the 1800s. Think this overbuilding trend is just a computer-age thing? Hold onto your top hat. Telegraph companies went on a wire-stringing spree, laying thousands of miles of lines alongside railroads. At first, these wires mostly carried business news &#8211; your average Joe wasn't exactly itching to tap out morse code. It took years for telegraph use to boom and turn profitable. This 19th-century example shows that jumping the gun on infrastructure isn't just a modern quirk &#8211; it's practically a tech tradition.</p><p></p><p><strong>Overbuilding Through the Ages</strong></p><p>This cycle of building big before the demand catches up is a recurring theme in tech history. We've seen it with railroads in the 1800s, radio networks in the 1920s, and even the early days of electricity distribution. More recently, we've witnessed similar patterns with 3G and 4G mobile networks, and the rush to build satellite internet constellations. Each time, visionaries build infrastructure anticipating future demand, often facing skepticism and financial strain before their bets pay off. AI's current trajectory? It's just the latest verse in a very familiar song.</p><p></p><h3>Big Tech's Billion-Dollar Bet: Spend Now or Regret Later</h3><p>While history gives us one lens to view the AI investment boom, there's another crucial factor at play: the cutthroat world of big tech competition. In this high-stakes game, the mantra seems to be "build it before your rival does."&nbsp;</p><p></p><p>These tech giants are sitting on mountains of cash, but here's the twist: strict antitrust regulations are making traditional acquisitions tricky. So instead, we're seeing creative workarounds like the deals with <a href="https://qz.com/microsoft-inflection-ai-ftc-antitrust-1851523752">Inflection</a> and <a href="https://www.washingtonpost.com/technology/2024/08/02/google-character-ai-noam-shazeer/">Character</a> &#8211; think of them as acqui-hires on steroids.</p><p></p><p>But why the rush? It's all about staying in the race. Imagine being the company that misses the next big AI breakthrough because you skimped on computing power. Or watch helplessly as a competitor with beefier AI capabilities starts eating your lunch across various markets. Even worse, picture having to rely on your rival's AI services because you didn't build your own. For this reason, Meta has made <a href="https://about.fb.com/news/2024/07/open-source-ai-is-the-path-forward/">open source AI</a> a strategic priority.</p><p></p><p>This isn't just about keeping up with the Joneses. It's about avoiding a technological gap that could take years to close. In the fast-paced world of AI, falling behind even for a few months could mean game over. So while the spending might look excessive now, for these companies, it's a calculated bet on staying relevant &#8211; or even dominant &#8211; in an AI-powered future.</p><p></p><h2>The Nuances of AI Investment: Where to Put Your Chips</h2><p>Now, while this cycle of overbuilding infrastructure before demand catches up is as old as the telegraph, the AI landscape isn't just one big homogeneous blob. Some areas are already bursting at the seams with investment, while others are still crying out for more attention. Let's break it down:</p><p></p><p><strong>Hardware: The Chip Race Heats Up</strong></p><p>On the hardware side, we're seeing a gold rush in dedicated chips for AI inference. Why? Because these bad boys can seriously slash the cost of running AI models. Take <a href="https://groq.com/">Groq</a>, for instance &#8211; they're making waves with their lightning-fast inference engines. But they're not alone in this race.</p><p>The cloud giants aren't sitting on their hands either. Google's been flexing with their Tensor Processing Units (TPUs) for a while now, and Amazon and Microsoft are jumping into the custom chip game too. This is actually great news for all of us &#8211; more players mean more competition, and that means we're not just stuck with Nvidia calling all the shots.</p><p></p><p><strong>Observability: Too Many Cooks in the Kitchen?</strong></p><p>Now, if you want a classic case of overinvestment, look no further than LLM observability tools. It's the tech equivalent of the California Gold Rush &#8211; everyone and their dog is trying to sell picks and shovels to the AI miners. The problem? There's not much to differentiate one from another, and existing players like Sentry and Datadog are already muscling in on the action. It's starting to look a bit crowded in here.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BfMd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BfMd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!BfMd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!BfMd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!BfMd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BfMd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&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_!BfMd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!BfMd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!BfMd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!BfMd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17b79e18-76ad-4823-91dc-7faed823d3bd_1600x900.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>Credit: <a href="https://www.bvp.com/atlas/roadmap-ai-infrastructure">Bessemer</a>&nbsp;</p><p><strong>Applications: Still Finding Their Feet</strong></p><p>When it comes to actual AI applications, we're still in the "figuring it out" phase. These apps are grappling with the current limitations of the tech, like struggles with long-term planning and reliability. But don't write them off just yet.</p><p>Take Devin, for example &#8211; an AI agent for software engineering from <a href="https://www.cognition.ai/">Cognition</a>. It's early days, but as foundation models improve, these kinds of tools are only going to get more useful. We're watching the first wobbly steps of what could become a revolution in how we work.</p><p></p><p><strong>Foundation Models: The Big Squeeze</strong></p><p>Now, here's where things get really interesting. The space for foundation models is slowly but surely collapsing into an oligopoly. I actually called this one in my earlier article, "<a href="https://blendingbits.io/p/a-birds-eye-view-of-the-competitive-6f4">A Bird's-Eye View of the Competitive Landscape in AI</a>". Those recent deals with Inflection and Character? They're not just splashy headlines &#8211; they're symptoms of this consolidation in action.</p><p></p><p><strong>Tomorrow's Tech Today</strong></p><p>So, what's the takeaway here? While we're definitely seeing some of that classic tech overspending, it's not a simple story of "AI bubble about to pop". Some areas are overheated, sure, but others are just warming up. The key is to look beyond the hype and see where the real value is being created. As always in tech, it's a wild ride &#8211; but that's what makes it exciting, right?</p><p>Look, we're still in the early days of AI, and if history has taught us anything, it's that the real magic happens after the initial gold rush. Want to see where this is all heading? Keep your eyes on the early adopters &#8211; they're blazing the trail. The bottom line? It's time to build. The AI revolution isn't just coming; it's here, and it's picking up steam. So whether you're a tech giant or a garage startup, the message is clear: jump in, the water's fine (and the chips are hot). Buckle up, folks &#8211; the future's looking wild, and I, for one, can't wait to see what's next.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blendingbits.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading blending bits! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>