<?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[KIRUPA 🍊]]></title><description><![CDATA[Thought provoking and educational content that lives at the intersection of design 🎨, development 🤖, and business 💰.]]></description><link>https://www.kirupa.chat</link><image><url>https://substackcdn.com/image/fetch/$s_!4eT0!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F00e11c37-639d-4361-96bf-8f01e43c2731_365x365.png</url><title>KIRUPA 🍊</title><link>https://www.kirupa.chat</link></image><generator>Substack</generator><lastBuildDate>Sat, 12 Sep 2026 23:45:50 GMT</lastBuildDate><atom:link href="https://www.kirupa.chat/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[KIRUPA 🍊]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[kirupa@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[kirupa@substack.com]]></itunes:email><itunes:name><![CDATA[KIRUPA 🍊]]></itunes:name></itunes:owner><itunes:author><![CDATA[KIRUPA 🍊]]></itunes:author><googleplay:owner><![CDATA[kirupa@substack.com]]></googleplay:owner><googleplay:email><![CDATA[kirupa@substack.com]]></googleplay:email><googleplay:author><![CDATA[KIRUPA 🍊]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Use AI to Test Your Crazy, Low-Pri Ideas 💡]]></title><description><![CDATA[I handed an AI agent a years-old low-pri backlog item. By morning, I had a working prototype.]]></description><link>https://www.kirupa.chat/p/use-ai-to-test-your-crazy-low-pri</link><guid isPermaLink="false">https://www.kirupa.chat/p/use-ai-to-test-your-crazy-low-pri</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Sat, 29 Aug 2026 21:57:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/37dec484-105c-48f6-b2c0-eb7dd392fdc0_2834x1602.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>Hi everybody - an observation that keeps playing out for me is that AI makes it ridiculously cheap to try a weird idea and see what happens. You&#8217;ve probably seen it yourself as well.</span></p><p><span>One such idea that I brought to life recently is an interactive</span><strong><span> Who&#8217;s Online</span></strong><span> feature, and this one features a twist. Instead of being a flat list or overlays on a map, I decided to build this involving a claymation-style spinning earth, clouds, pins representing live users, and...flying paper airplanes.</span></p><p><span>The video of this in action can be seen below:</span></p><div id="youtube2-0tZ92hv0fzE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;0tZ92hv0fzE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/0tZ92hv0fzE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The video doesn&#8217;t do this justice. Go see this <strong><a href="https://www.kirupa.com/whos-online/#">spinning globe live for yourself</a></strong> and interact with it to see all of the little details. There is also a more traditional table view below it just in case tables are your jam! &#127855;</p><blockquote><p>You can also see this and my brief writeup on <a href="https://x.com/kirupa/status/2093555205015212354">X / Twitter</a> and <a href="https://www.linkedin.com/feed/update/urn:li:activity:7499321556033191936/">LinkedIn</a>. If you don&#8217;t mind, please share it with your network. The extra reach would help me out a lot. More importantly, my ego has grown accustomed to being fed on a regular schedule.</p></blockquote><h2>Wouldn&#8217;t have happened without AI</h2><p><span>This interactive Who&#8217;s Online visualization idea is something I've had at the bottom of my backlog for years:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U-WA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U-WA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.png 424w, https://substackcdn.com/image/fetch/$s_!U-WA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.png 848w, https://substackcdn.com/image/fetch/$s_!U-WA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.png 1272w, https://substackcdn.com/image/fetch/$s_!U-WA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U-WA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.png" width="574" height="399.30434782608694" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1334,&quot;resizeWidth&quot;:574,&quot;bytes&quot;:70074,&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://www.kirupa.chat/i/213238876?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.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_!U-WA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.png 424w, https://substackcdn.com/image/fetch/$s_!U-WA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.png 848w, https://substackcdn.com/image/fetch/$s_!U-WA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.png 1272w, https://substackcdn.com/image/fetch/$s_!U-WA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c191f8-551b-419b-a1c0-cea54e394fe9_1334x928.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 aria-hidden="true" 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><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><span>I had completely forgotten about this idea until a few days ago when I stumbled upon it by accident.</span><br><br><span>In the olden days (like 6 months ago), to bring this idea to life, I would have cracked open a book on WebGL and learned about meshes, shaders, and all sorts of techniques for creating a performant 3D scene that dynamically updated with data:</span></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rA4b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rA4b!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif 424w, https://substackcdn.com/image/fetch/$s_!rA4b!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif 848w, https://substackcdn.com/image/fetch/$s_!rA4b!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif 1272w, https://substackcdn.com/image/fetch/$s_!rA4b!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rA4b!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif" width="718" height="307.7142857142857" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:240,&quot;width&quot;:560,&quot;resizeWidth&quot;:718,&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_!rA4b!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif 424w, https://substackcdn.com/image/fetch/$s_!rA4b!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif 848w, https://substackcdn.com/image/fetch/$s_!rA4b!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif 1272w, https://substackcdn.com/image/fetch/$s_!rA4b!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F239c9a99-dd4e-44ec-8f25-6542e7272345_560x240.gif 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><span>Realistically, though? </span><strong><mark data-color="#ffe599" style="background-color: rgb(255, 229, 153); color: rgb(0, 0, 0);"><span>I would never have even started</span></mark><span>.</span></strong><span> I simply don't have the massive amount of time to learn a whole new area of programming, especially when I have no idea if this idea is even worthwhile. Reading the description of what I wanted, it doesn't exactly scream </span><em><strong><span>Winning idea!</span></strong></em><span>, right? There are higher-priority P0 activities with a more predictable payoff (like writing a top-requested tutorial) that would be a better use of my time.</span><br><br>This is where AI played a crucial role. <span>In this new world, the cost of bringing a seemingly complex idea to life is dramatically lower. I gave my agent my criteria for what success looked like, and I let it run overnight. I woke up and saw more or less a version of what I had imagined all those years ago. The agent got many things right and many things wrong, so I spent a few more hours tweaking the output. That is not a bad ROI. Then I pushed it live. That&#8217;s it.</span><br><br>What my path to getting this item shipped raises this point: <strong><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);"><span>we're no longer constrained by the cost of bringing an idea to life</span></mark></strong><span>. At least, </span>AI dramatically reduces the cost of producing a credible first experiment. It makes it much cheaper to find out whether an idea is worth pursuing. For example, if I had to discard this idea, no biggie. The time lost would have been only a few hours as opposed to the multiple months the traditional path would have taken.</p><h2><span>AI Upends the Traditional Team Dynamics</span></h2><p><span>If we take a step back and put this into the context of the software industry and the roles many of us have within it, it turns everything upside down. We are no longer bound by the traditional roles where:</span></p><ul><li><p><span>PM writes a spec</span></p></li><li><p><span>UX helps the PM think through the feature in detail</span></p></li><li><p><span>Eng builds a prototype to validate</span></p></li><li><p><span>Eng then collaborates with the PM and TPM to create a final plan</span></p></li><li><p><span>Eng begins delivery of feature</span></p></li><li><p><span>TPM helps project manage (status updates, stakeholder management, etc.)</span></p></li><li><p><span>Domain-specific disciplines like Marketing / DevRel / Legal / Sales / etc. get involved at various stages of the product ideation and delivery</span></p></li><li><p>???</p></li><li><p>Profit</p></li></ul><p><strong><mark data-color="#cfe2f3" style="background-color: rgb(207, 226, 243); color: rgb(0, 0, 0);">Wherever your center of expertise is, you plant your flag</mark>.</strong> From there, you use AI to either fill in tasks handled by other disciplines or provide evidence that helps bring them into your proposal. If nobody believes in your crazy idea, AI lets you build enough of it to make the case. You may still need buy-in to ship it, but you no longer need buy-in to prove it can work.</p><p>For this feature, because I greatly influence what happens on kirupa.com, I didn&#8217;t have to ask for permission to build it. If I had to push for a low-pri P3 feature in any other setting (like in a team at work), <a href="https://www.youtube.com/watch?v=pS6zJ7IsJkM">fuggedaboutit</a>. Most teams operate under a mindset honed over decades, the <em><strong>scarcity mindset</strong></em>. That is a topic that requires a dedicated post of its own, so we&#8217;ll get to that in the future.</p><h2>Till Next Time</h2><p>What is a low-pri crazy item that you were able to validate as a good or bad idea because of AI? If you have something to share, feel free to reply back or post online in the <a href="https://forum.kirupa.com">forums</a> or on x / twitter (tag <a href="https://x.com/kirupa">@kirupa</a>). I&#8217;d love to hear it.</p><p>Cheers,<br>Kirupa &#128519;</p>]]></content:encoded></item><item><title><![CDATA[I Built KONVO to Make AI Writing Less Robot-y 🤖 ]]></title><description><![CDATA[A new agent skill that helps AI improve technical content without replacing your voice.]]></description><link>https://www.kirupa.chat/p/i-built-konvo-to-make-ai-writing</link><guid isPermaLink="false">https://www.kirupa.chat/p/i-built-konvo-to-make-ai-writing</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Tue, 18 Aug 2026 04:21:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3f0f01c4-e32a-40ba-abd6-4b1c4d58d8b2_1827x959.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody! I built something new called <strong><a href="https://konvo.kirupa.com">KONVO</a></strong>, and this two-minute video is the quickest way to see what it does:</p><div id="youtube2-_Y6bWkypeoo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_Y6bWkypeoo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/_Y6bWkypeoo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>If you would prefer the scenic route and read more about KONVO, then&#8230;read on! &#128519;</p><h2><strong>Why KONVO Exists!</strong></h2><p>I love to write. I also have far more ideas for things I want to write about than I have time to finish them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Zjt1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zjt1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.png 424w, https://substackcdn.com/image/fetch/$s_!Zjt1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.png 848w, https://substackcdn.com/image/fetch/$s_!Zjt1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.png 1272w, https://substackcdn.com/image/fetch/$s_!Zjt1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zjt1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.png" width="534" height="534" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8304492d-a30d-4789-afa0-829a25b97395_1191x1191.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1191,&quot;width&quot;:1191,&quot;resizeWidth&quot;:534,&quot;bytes&quot;:44532,&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://www.kirupa.chat/i/211520140?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.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_!Zjt1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.png 424w, https://substackcdn.com/image/fetch/$s_!Zjt1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.png 848w, https://substackcdn.com/image/fetch/$s_!Zjt1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.png 1272w, https://substackcdn.com/image/fetch/$s_!Zjt1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8304492d-a30d-4789-afa0-829a25b97395_1191x1191.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 aria-hidden="true" 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><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>For me, getting started usually isn&#8217;t the problem. I can take an idea, work through the main argument, add examples, and get a draft about 70 percent of the way there. The important parts are on the page. It sounds like me. It has a point of view. It also includes a boatload of &#8220;awesome&#8221; jokes.</p><h3><strong>Help with the Final 30 Percent</strong></h3><p>The last mile of publishing, the dreaded 30 percent, is where I often need the most help. That is where I need to tighten a confusing section, fill in missing context, smooth out an abrupt transition, check a claim, or figure out where a visual would help. Together, those tasks take time. When several drafts are competing with everything else I need to do, they have a bad habit of staying almost finished but never crossing the finishing line.</p><p>AI should be perfect for helping with this, but it wasn&#8217;t. I would give an AI my writing, and it would return something polished that no longer sounded like me. My opinions became generic. Tiny jokes disappeared. Phrases like &#8220;delve,&#8221; &#8220;unlock,&#8221; and &#8220;in today&#8217;s fast-paced world&#8221; wandered in and made themselves comfortable&#8230;waaay too comfortable, kinda like these two who are hovering around me while I&#8217;m writing this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x97I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x97I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png 424w, https://substackcdn.com/image/fetch/$s_!x97I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png 848w, https://substackcdn.com/image/fetch/$s_!x97I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png 1272w, https://substackcdn.com/image/fetch/$s_!x97I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x97I!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png" width="1016" height="466.13186813186815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:668,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1016,&quot;bytes&quot;:781191,&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://www.kirupa.chat/i/211520140?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png&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_!x97I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png 424w, https://substackcdn.com/image/fetch/$s_!x97I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png 848w, https://substackcdn.com/image/fetch/$s_!x97I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.png 1272w, https://substackcdn.com/image/fetch/$s_!x97I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b3b4f98-4833-4114-bc70-10b5af167725_2048x940.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 aria-hidden="true" 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><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 AI-revised draft was technically finished, but it felt remixed and lost a lot of what makes my writing uniquely (for better or worse) mine.</p><p><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">I wanted a way to scale my ability to write without outsourcing the part that makes the writing mine. KONVO is my attempt to do that.</mark></strong></p><h3><strong>What KONVO Does</strong></h3><p>If you haven&#8217;t used agent skills before, think of one as specialized instructions your AI agent can load for a particular kind of work. Install it once, then invoke it by name when you need it, just like you would when calling on <strong>Batman</strong> (<a href="https://screenrant.com/batman-bat-signal-problem-mistake-explained/">source</a>):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MRBc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MRBc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.png 424w, https://substackcdn.com/image/fetch/$s_!MRBc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.png 848w, https://substackcdn.com/image/fetch/$s_!MRBc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.png 1272w, https://substackcdn.com/image/fetch/$s_!MRBc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MRBc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.png" width="512" height="590.7692307692307" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3fa56aea-2721-4756-8325-31588199e856_2800x3230.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1680,&quot;width&quot;:1456,&quot;resizeWidth&quot;:512,&quot;bytes&quot;:3803866,&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://www.kirupa.chat/i/211520140?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.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_!MRBc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.png 424w, https://substackcdn.com/image/fetch/$s_!MRBc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.png 848w, https://substackcdn.com/image/fetch/$s_!MRBc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.png 1272w, https://substackcdn.com/image/fetch/$s_!MRBc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fa56aea-2721-4756-8325-31588199e856_2800x3230.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 aria-hidden="true" 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><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>KONVO gives the agent a practical editing and teaching playbook. It looks for:</p><ul><li><p>confusing jumps and missing context</p></li><li><p>claims that need checking</p></li><li><p>generic AI-sounding language</p></li><li><p>places where an example or diagram would help</p></li><li><p>edits that accidentally flatten the author&#8217;s point of view</p></li></ul><p>It also tells the agent to diagnose important problems before rewriting. That gives me a chance to review what it found, reject suggestions that don&#8217;t fit, and stay in control of the result.</p><h3><strong>Where the Playbook Came From</strong></h3><p>KONVO distills what I&#8217;ve learned across 30 years of writing:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7gHr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7gHr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.png 424w, https://substackcdn.com/image/fetch/$s_!7gHr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.png 848w, https://substackcdn.com/image/fetch/$s_!7gHr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.png 1272w, https://substackcdn.com/image/fetch/$s_!7gHr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7gHr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.png" width="512" height="583.68" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1368,&quot;width&quot;:1200,&quot;resizeWidth&quot;:512,&quot;bytes&quot;:70021,&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://www.kirupa.chat/i/211520140?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.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_!7gHr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.png 424w, https://substackcdn.com/image/fetch/$s_!7gHr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.png 848w, https://substackcdn.com/image/fetch/$s_!7gHr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.png 1272w, https://substackcdn.com/image/fetch/$s_!7gHr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F604f3a60-b3ae-4f0b-848a-24233a20c3a5_1200x1368.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 aria-hidden="true" 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><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><mark data-color="#fff2cc" style="background-color: rgb(255, 242, 204); color: rgb(0, 0, 0);">The part to note is that KONVO isn&#8217;t trying to clone my voice</mark></strong>. It captures the writing and teaching tactics that kept working, then applies them while protecting the voice already present in the draft.</p><h3><strong>How I Use It</strong></h3><p>KONVO can generate a draft from just a prompt, but that isn&#8217;t the workflow I prefer. I get the best results when I bring the 70 percent: my idea, structure, examples, opinions, and rough wording.</p><p>Then I give the draft to my agent and say:</p><blockquote><p><code>Use the KONVO skill to help me improve this.</code></p></blockquote><p>Sorta kinda like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-NRc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-NRc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.png 424w, https://substackcdn.com/image/fetch/$s_!-NRc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.png 848w, https://substackcdn.com/image/fetch/$s_!-NRc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.png 1272w, https://substackcdn.com/image/fetch/$s_!-NRc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-NRc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.png" width="1438" height="764" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c867589-177c-477a-9621-7d175fcff27c_1438x764.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:764,&quot;width&quot;:1438,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95829,&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://www.kirupa.chat/i/211520140?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.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_!-NRc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.png 424w, https://substackcdn.com/image/fetch/$s_!-NRc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.png 848w, https://substackcdn.com/image/fetch/$s_!-NRc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.png 1272w, https://substackcdn.com/image/fetch/$s_!-NRc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c867589-177c-477a-9621-7d175fcff27c_1438x764.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 aria-hidden="true" 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><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 also include the content type, target audience, expertise level, desired length, and what I want the reader to understand when they finish.</p><p>KONVO helps me work through the remaining 30 percent. I am still the author and make the final call. I just spend less time wrestling with unfinished drafts and more time getting the next idea out of my head.</p><h3><strong>Try it&#8230;Now!</strong></h3><p>KONVO works with GitHub Copilot, Claude Code, Codex CLI, Cursor, and other tools that support the open Agent Skills format. The installation instructions, workflow, prompts, and source are <a href="https://konvo.kirupa.com">available here</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IZiB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IZiB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.png 424w, https://substackcdn.com/image/fetch/$s_!IZiB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.png 848w, https://substackcdn.com/image/fetch/$s_!IZiB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.png 1272w, https://substackcdn.com/image/fetch/$s_!IZiB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IZiB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.png" width="1456" height="1075" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1075,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:886424,&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://www.kirupa.chat/i/211520140?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.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_!IZiB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.png 424w, https://substackcdn.com/image/fetch/$s_!IZiB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.png 848w, https://substackcdn.com/image/fetch/$s_!IZiB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.png 1272w, https://substackcdn.com/image/fetch/$s_!IZiB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F710ad68a-7c34-478a-8a4f-64d4936db227_2744x2026.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 aria-hidden="true" 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><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>And if none of this interests you, visit anyway. The links make sounds when you hover over them, and one button makes confetti fall. You cannot not like that.</p><h2><strong>Till Next Time</strong></h2><p>If you&#8217;re feeling generous, please help signal-boost KONVO by liking, reposting, or sharing my <a href="https://x.com/kirupa/status/2089332666328105448?s=20">Twitter / X</a> post and <a href="https://www.linkedin.com/posts/kirupa_ai-can-help-us-write-faster-it-can-also-ugcPost-7495000259224428544-81ss/?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC-6HABCI1mEFTHCo3xEEIZf9RtfRVaZ0E">LinkedIn</a> about it with your networks. Every little boost helps KONVO reach more people with too many ideas and not enough time to write them all!</p><p>If you try KONVO on one of your unfinished drafts, I&#8217;d love to hear where it helped, where it got in the way, or which robot phrase still slipped through. Reply to this email, <a href="https://forum.kirupa.com/">post on the forums</a>, or find me on <a href="https://x.com/kirupa">Twitter / X</a>.</p><p>Cheers,<br>Kirupa &#127818;</p>]]></content:encoded></item><item><title><![CDATA[I No Longer Care How My Apps Get Built! 🧭]]></title><description><![CDATA[I used to specify the input in obsessive detail. Now I specify the output and the fences, and let my agent find its own weird way there.]]></description><link>https://www.kirupa.chat/p/i-no-longer-care-how-my-apps-get</link><guid isPermaLink="false">https://www.kirupa.chat/p/i-no-longer-care-how-my-apps-get</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Mon, 10 Aug 2026 15:03:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!EG5s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>Hi everybody - For most of my career, building software felt like planning a road trip back when a paper map was the only thing you had:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iN4c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iN4c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iN4c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iN4c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iN4c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iN4c!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg" width="1200" height="419.53125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:358,&quot;width&quot;:1024,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:90047,&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://www.kirupa.chat/i/210519416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg&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_!iN4c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iN4c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iN4c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iN4c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F805c4e32-40d6-4ed7-9d23-ba9a929f7f2d_1024x358.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 aria-hidden="true" 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><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><span>I would start with where I wanted to end up, and then spend nearly all of my energy on the path. Which highway. Which exits. Where to stop for fuel. How long each leg takes. By the time I actually started driving, every interesting decision was already behind me:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MA2s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MA2s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png 424w, https://substackcdn.com/image/fetch/$s_!MA2s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png 848w, https://substackcdn.com/image/fetch/$s_!MA2s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png 1272w, https://substackcdn.com/image/fetch/$s_!MA2s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MA2s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png" width="728" height="323.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:647,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:427227,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kirupa.chat/i/210519416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MA2s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png 424w, https://substackcdn.com/image/fetch/$s_!MA2s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png 848w, https://substackcdn.com/image/fetch/$s_!MA2s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.png 1272w, https://substackcdn.com/image/fetch/$s_!MA2s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cda50d-6537-4653-aa12-d21a78f761e9_5400x2400.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 aria-hidden="true" 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><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><span>In software terms, the route was my tech stack, my folder structure, my data model, my API shape. </span><strong><mark data-color="#fff2cc" style="background-color: rgb(255, 242, 204); color: rgb(0, 0, 0);"><span>I wrote all of that down carefully, and I wrote it down first.</span></mark></strong><span> For the KIRUPA site, I even </span><a href="https://www.kirupa.com/about/kirupa_tech_stack.htm"><span>wrote about and recorded a video</span></a><span> walking you all through the arcane process I use.</span></p><p><span>All of this planning and pre-work felt like a chore. Worse, this process wasn&#8217;t perfect. I was being extremely precise about things I could not possibly know yet. Traffic, construction, whether that clever shortcut actually exists. The plan looked confident because it was detailed, not because it was correct:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EG5s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EG5s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png 424w, https://substackcdn.com/image/fetch/$s_!EG5s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png 848w, https://substackcdn.com/image/fetch/$s_!EG5s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png 1272w, https://substackcdn.com/image/fetch/$s_!EG5s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EG5s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png" width="728" height="323.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:647,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:454259,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kirupa.chat/i/210519416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EG5s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png 424w, https://substackcdn.com/image/fetch/$s_!EG5s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png 848w, https://substackcdn.com/image/fetch/$s_!EG5s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.png 1272w, https://substackcdn.com/image/fetch/$s_!EG5s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddb9a8a4-cc91-487f-bd37-ba7ddd7649f3_5400x2400.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 aria-hidden="true" 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><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><span>Every project I have ever shipped rerouted at least once. Usually a lot more than once when I learned more about user preferences and had to course correct to meet the new destination.</span></p><h2><span>Today, I Set the Destination and the Fences</span></h2><p><span>These days I do something that my younger self would have called reckless. </span><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);"><span>I describe the output, I describe the boundaries, and I let my agent work out the middle.</span></mark></strong></p><p><span>I stop planning and let my agent drive:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xTt7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xTt7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png 424w, https://substackcdn.com/image/fetch/$s_!xTt7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png 848w, https://substackcdn.com/image/fetch/$s_!xTt7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!xTt7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xTt7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png" width="728" height="323.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:647,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:352062,&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://www.kirupa.chat/i/210519416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xTt7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png 424w, https://substackcdn.com/image/fetch/$s_!xTt7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png 848w, https://substackcdn.com/image/fetch/$s_!xTt7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!xTt7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa25ea0de-e7da-4814-823f-b366ae181d07_3600x1600.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 aria-hidden="true" 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><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><span>The path it picks is frequently not the one I would have picked. It doubles back. It builds something, throws it away, tries a different angle. On the map it looks inefficient, yet it arrives at the destination.</span></p><p><a href="https://www.kirupa.chat/p/optimizing-my-ai-agents-inner-dev"><span>I wrote about a version of this a while back</span></a><span>, when I told an agent to optimize for a fast code, build, and test loop, and it went and picked PHP. I would never have chosen PHP on my own today. Measured against the fence I actually gave it, PHP was the right answer and I was wrong.</span></p><h2><span>What Actually Changed</span></h2><p><span>Both worlds have a specification. Going output-first did not make me less specific or less details-oriented. I just shifted where my attention was focused on:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YsFE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YsFE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png 424w, https://substackcdn.com/image/fetch/$s_!YsFE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png 848w, https://substackcdn.com/image/fetch/$s_!YsFE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png 1272w, https://substackcdn.com/image/fetch/$s_!YsFE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YsFE!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png" width="1200" height="673.3516483516484" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:817,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:388538,&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://www.kirupa.chat/i/210519416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png&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_!YsFE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png 424w, https://substackcdn.com/image/fetch/$s_!YsFE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png 848w, https://substackcdn.com/image/fetch/$s_!YsFE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.png 1272w, https://substackcdn.com/image/fetch/$s_!YsFE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe27f7eec-cd45-4780-8cf4-a7521bfa021c_5400x3030.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 aria-hidden="true" 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><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><span>I have also not become hands-off. What the agent generates back is usually about 70% of what I wanted. So I look at it and I nudge until the destination gets sharper:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zeaV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zeaV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png 424w, https://substackcdn.com/image/fetch/$s_!zeaV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png 848w, https://substackcdn.com/image/fetch/$s_!zeaV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!zeaV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zeaV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png" width="728" height="323.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:647,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:272645,&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://www.kirupa.chat/i/210519416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zeaV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png 424w, https://substackcdn.com/image/fetch/$s_!zeaV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png 848w, https://substackcdn.com/image/fetch/$s_!zeaV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!zeaV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fa95243-262d-4196-9cb9-03c21f2c3b51_3600x1600.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is where things like <em><strong>product sense</strong></em> and <em><strong>taste</strong></em> come into the picture in full force. Without a clear picture of what you want the destination to look like and the refinements you need to make to will that into existence, your agent will define a route that won&#8217;t meet your or your users&#8217; expectations.</p><h2><span>Conclusion</span></h2><p><span>The old instinct was to define the process and trust that a good result would follow. The new one is to describe the result precisely, fence off the things I genuinely care about, and let the process be whatever it needs to be.</span></p><p><strong><span>Now, you may be asking whether this approach scales to real-world scenarios.</span></strong><span> What if you need to handle a billion concurrent users? What about enterprise readiness and compliance? What if some random bug causes data loss for some user? These are all valid concerns, and today these may require a little more human intervention in the input-side of the problem definition. </span><strong><mark data-color="#fff2cc" style="background-color: rgb(255, 242, 204); color: rgb(0, 0, 0);"><span>Longer term (like say, 3 months from now!) this would just be a detail we tell our LLM to handle for us.</span></mark></strong></p><p><span>Curious whether you have made this switch yet, or whether you are still route-planning out of habit. Reply to this email, post on the </span><a href="https://forum.kirupa.com"><span>forums</span></a><span>, or find me on </span><a href="https://www.x.com/kirupa"><span>Twitter / X</span></a><span>.</span></p><p><span>Cheers,<br>Kirupa &#128519;</span></p>]]></content:encoded></item><item><title><![CDATA[AI Lets You Take Bigger Swings...More Often! 🏟️]]></title><description><![CDATA[AI-native creators aren&#8217;t anchored to what building used to cost. And that changes what they dare to attempt.]]></description><link>https://www.kirupa.chat/p/ai-lets-you-take-bigger-swingsmore</link><guid isPermaLink="false">https://www.kirupa.chat/p/ai-lets-you-take-bigger-swingsmore</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Tue, 04 Aug 2026 04:20:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HMFr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>For most of my career, I learned to scale my ambitions to match my abilities.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HMFr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HMFr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png 424w, https://substackcdn.com/image/fetch/$s_!HMFr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png 848w, https://substackcdn.com/image/fetch/$s_!HMFr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png 1272w, https://substackcdn.com/image/fetch/$s_!HMFr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HMFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png" width="480" height="433.5974643423138" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:631,&quot;resizeWidth&quot;:480,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!HMFr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png 424w, https://substackcdn.com/image/fetch/$s_!HMFr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png 848w, https://substackcdn.com/image/fetch/$s_!HMFr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.png 1272w, https://substackcdn.com/image/fetch/$s_!HMFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F976c0d06-b8e5-4b96-9957-aaab3686e53d_631x570.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 aria-hidden="true" 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><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><span>Whenever I wanted to build something, I would ask: </span><strong><span>How much do I know? How long will this take? What can I realistically build myself?</span></strong></p><p><span>This wasn&#8217;t pessimism. It was rooted in what I saw work. Building technology was expensive. Prototypes took time. Crossing into unfamiliar territory added a boatload of unknowns. The sensible approach was to start with the smallest version, validate it, and expand only when the results justified the next investment as shown by this </span><a href="https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp"><span>famous visual</span></a><span>:</span></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0Hin!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Hin!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0Hin!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0Hin!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0Hin!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Hin!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg" width="922" height="155.17690417690417" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:137,&quot;width&quot;:814,&quot;resizeWidth&quot;:922,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0Hin!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0Hin!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0Hin!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0Hin!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff99c1a6-2da1-4984-a67d-73b050bc5475_814x137.jpeg 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>Each stage had to earn the next one. Taking a big swing too early felt irresponsible because the cost of being wrong was so high.</p><h2><span>AI-Native Creators Think Differently</span></h2><p><span>AI-native creators are growing up with a different model. They aren&#8217;t as likely to begin by asking what someone with their current skills can realistically build. They begin by asking, </span><em><strong><mark data-color="#cfe2f3" style="background-color: rgb(207, 226, 243); color: rgb(0, 0, 0);"><span>What do I want to exist?</span></mark></strong></em></p><p><span>Then they use AI to figure out how to make it. C</span>reators are already entering unfamiliar domains and building things that once seemed unimaginable. For example, <a href="https://x.com/thebuggeddev/status/2083884856531177942?s=20">this complex visualization app</a> was created primarily with AI tools:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4mSJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4mSJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.png 424w, https://substackcdn.com/image/fetch/$s_!4mSJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.png 848w, https://substackcdn.com/image/fetch/$s_!4mSJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.png 1272w, https://substackcdn.com/image/fetch/$s_!4mSJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4mSJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.png" width="585" height="585" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1176,&quot;width&quot;:1176,&quot;resizeWidth&quot;:585,&quot;bytes&quot;:646574,&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://www.kirupa.chat/i/209733805?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.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_!4mSJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.png 424w, https://substackcdn.com/image/fetch/$s_!4mSJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.png 848w, https://substackcdn.com/image/fetch/$s_!4mSJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.png 1272w, https://substackcdn.com/image/fetch/$s_!4mSJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfb92c63-d32d-4d83-99ec-ee5b5aa08ae5_1176x1176.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 aria-hidden="true" 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><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><span>This new breed of AI-native creators can move across unfamiliar technologies, build a complete version, throw it away, and try another direction without treating the lost work as a major setback. </span><strong><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);"><span>Crawl, walk, and run can happen in rapid succession</span></mark></strong><span>. If there are stages beyond run, like fly or teleport, those are simply options worth exploring:</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Kw7w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3b75d5-a73b-4829-94df-b465a73d6e78_250x320.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Kw7w!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3b75d5-a73b-4829-94df-b465a73d6e78_250x320.gif 424w, https://substackcdn.com/image/fetch/$s_!Kw7w!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3b75d5-a73b-4829-94df-b465a73d6e78_250x320.gif 848w, https://substackcdn.com/image/fetch/$s_!Kw7w!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3b75d5-a73b-4829-94df-b465a73d6e78_250x320.gif 1272w, https://substackcdn.com/image/fetch/$s_!Kw7w!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3b75d5-a73b-4829-94df-b465a73d6e78_250x320.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Kw7w!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3b75d5-a73b-4829-94df-b465a73d6e78_250x320.gif" width="318" height="407.04" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df3b75d5-a73b-4829-94df-b465a73d6e78_250x320.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:320,&quot;width&quot;:250,&quot;resizeWidth&quot;:318,&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_!Kw7w!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3b75d5-a73b-4829-94df-b465a73d6e78_250x320.gif 424w, https://substackcdn.com/image/fetch/$s_!Kw7w!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3b75d5-a73b-4829-94df-b465a73d6e78_250x320.gif 848w, https://substackcdn.com/image/fetch/$s_!Kw7w!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3b75d5-a73b-4829-94df-b465a73d6e78_250x320.gif 1272w, https://substackcdn.com/image/fetch/$s_!Kw7w!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3b75d5-a73b-4829-94df-b465a73d6e78_250x320.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 aria-hidden="true" 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><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><span>As a result, they are more ambitious. They take bigger swings earlier and more often.</span></p><p><span>To those of us shaped by the older model, this can look naive or reckless. </span>If I&#8217;m being honest, some of that reaction may even be jealousy! &#128517; Still, AI doesn&#8217;t eliminate complexit<span>y, guarantee quality, or make every idea good. Some ideas will fail.</span></p><p><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);"><span>The AI-native advantage isn&#8217;t that AI works better for them</span></mark></strong><span>. Their mental model is simply better aligned with what AI makes possible. While experienced builders are still reducing an idea to make it feasible, an AI-native creator may already be testing the ambitious version. They will encounter real limits along the way, but they aren&#8217;t slowed by imagined ones inherited from an earlier era.</span></p><h2><span>Conclusion</span></h2><p><strong>AI changes more than how quickly we build. <mark data-color="#fff2cc" style="background-color: rgb(255, 242, 204); color: rgb(0, 0, 0);">It changes what deserves to be attempted in the first place.</mark></strong></p><p><span>For those of us shaped by the older model, the challenge is to keep the useful judgment our experience gives us while recalibrating our sense of what is possible. Before shrinking an idea, we should ask: Is this limit real today, or is it just a memory of what building used to cost?</span></p><p><span>Curious to hear whether AI has changed the size or frequency of the swings you take, so feel free to share your thoughts on the </span><a href="https://forum.kirupa.com"><span>forums</span></a><span> or on </span><a href="https://x.com/kirupa"><span>Twitter / x</span></a><span>.</span></p><p><span>Cheers,<br>Kirupa &#128519;</span></p>]]></content:encoded></item><item><title><![CDATA[New Labs for BFS, DFS, and Dijkstra! 🧪]]></title><description><![CDATA[A few tiny graph playgrounds that let you watch each algorithm make its choices.]]></description><link>https://www.kirupa.chat/p/new-labs-for-bfs-dfs-and-dijkstra</link><guid isPermaLink="false">https://www.kirupa.chat/p/new-labs-for-bfs-dfs-and-dijkstra</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Sat, 01 Aug 2026 02:38:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KoyM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody! Graph algorithms are one of those topics that can feel totally reasonable while you are reading about them, but their subtle complications often appear only when you start using them.</p><p>Let&#8217;s say that we have a graph that looks as follows and our goal is to find a path from A to F:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5aab!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5aab!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.png 424w, https://substackcdn.com/image/fetch/$s_!5aab!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.png 848w, https://substackcdn.com/image/fetch/$s_!5aab!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.png 1272w, https://substackcdn.com/image/fetch/$s_!5aab!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5aab!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.png" width="484" height="464.0952380952381" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:924,&quot;resizeWidth&quot;:484,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!5aab!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.png 424w, https://substackcdn.com/image/fetch/$s_!5aab!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.png 848w, https://substackcdn.com/image/fetch/$s_!5aab!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.png 1272w, https://substackcdn.com/image/fetch/$s_!5aab!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e4f90b8-10aa-4589-8b4a-84d4c7bf5398_924x886.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 aria-hidden="true" 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><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 type of graph algorithm you use can determine the path you find. DFS (Depth First Search) says, <em><strong><mark data-color="#cfe2f3" style="background-color: rgb(207, 226, 243); color: rgb(0, 0, 0);">Let&#8217;s go as far as we can down this path</mark>.</strong></em> BFS (Breadth First Search) says, <em><strong><mark data-color="#fff2cc" style="background-color: rgb(255, 242, 204); color: rgb(0, 0, 0);">Let&#8217;s check everything nearby first</mark></strong></em>. Dijkstra asks, <em><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Which route has the lowest total cost</mark></strong></em>? We are dealing with the same graph, but their decision-making can look totally different.</p><p>Reading about these differences is useful. Watching them unfold one decision at a time is even better, so I added a pair of interactive labs:</p><ol><li><p><a href="https://www.kirupa.com/data_structures_algorithms/dfs_bfs_lab.htm">DFS and BFS Lab</a></p></li><li><p><a href="https://www.kirupa.com/data_structures_algorithms/dijkstra_lab.htm">Dijkstra Lab</a></p></li></ol><p>The DFS/BFS lab starts with the same A-through-H graph from the <a href="https://www.kirupa.com/data_structures_algorithms/dfs_bfs.htm">tutorial</a> and asks you to find a path from A to F:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KoyM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KoyM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png 424w, https://substackcdn.com/image/fetch/$s_!KoyM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png 848w, https://substackcdn.com/image/fetch/$s_!KoyM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png 1272w, https://substackcdn.com/image/fetch/$s_!KoyM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KoyM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png" width="594" height="642.3380281690141" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1382,&quot;width&quot;:1278,&quot;resizeWidth&quot;:594,&quot;bytes&quot;:848576,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kirupa.chat/i/209332929?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.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_!KoyM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png 424w, https://substackcdn.com/image/fetch/$s_!KoyM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png 848w, https://substackcdn.com/image/fetch/$s_!KoyM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.png 1272w, https://substackcdn.com/image/fetch/$s_!KoyM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ad58a59-c61b-4dd0-b17b-33efb6919d90_1278x1382.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 aria-hidden="true" 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><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>You can switch between DFS and BFS, move through the search one step at a time, and watch the discovered list act like a stack in one case and a queue in the other.</p><p>The <a href="https://www.kirupa.com/data_structures_algorithms/dijkstra_lab.htm">Dijkstra lab</a> builds on the weighted-graph example from the <a href="https://www.kirupa.com/data_structures_algorithms/dijkstra_shortest_path.htm">tutorial</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NfVy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NfVy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.png 424w, https://substackcdn.com/image/fetch/$s_!NfVy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.png 848w, https://substackcdn.com/image/fetch/$s_!NfVy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.png 1272w, https://substackcdn.com/image/fetch/$s_!NfVy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NfVy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.png" width="607" height="653.4009360374415" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1380,&quot;width&quot;:1282,&quot;resizeWidth&quot;:607,&quot;bytes&quot;:629575,&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://www.kirupa.chat/i/209332929?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.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_!NfVy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.png 424w, https://substackcdn.com/image/fetch/$s_!NfVy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.png 848w, https://substackcdn.com/image/fetch/$s_!NfVy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.png 1272w, https://substackcdn.com/image/fetch/$s_!NfVy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc744ed-7273-4e3e-b9c2-5287d9414c5d_1282x1380.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 aria-hidden="true" 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><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>You can generate a graph, customize its nodes and edges, and watch Dijkstra update its best-known distances until the cheapest path from A to F emerges.</p><p>The nice thing about these labs is that I tried my best to ensure that no detail is hidden. You can see the current node, the nodes waiting to be explored, the final path, and running notes that explain why the algorithm made each move. It is like giving the graph a tiny glass floor:</p><div class="callout-block" data-callout="true"><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!04-I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!04-I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!04-I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!04-I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!04-I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!04-I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.jpeg" width="614" height="460.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1280,&quot;resizeWidth&quot;:614,&quot;bytes&quot;:326048,&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;:&quot;https://www.kirupa.chat/i/209332929?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.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_!04-I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!04-I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!04-I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!04-I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe9b56c-5e11-4fb9-b611-f4a07b815885_1280x960.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 aria-hidden="true" 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><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><h6 style="text-align: center;">Image credit to <a href="https://commons.wikimedia.org/w/index.php?curid=3798147">Torsodog</a></h6></div><p>Slightly unsafe (and possibly terrifying) architecturally, but very helpful educationally.</p><p>Give the labs a spin. Try the same graph with DFS and BFS, regenerate a few weighted graphs for Dijkstra, and see how quickly each algorithm&#8217;s behavior starts to feel less mysterious.</p><p>Cheers,<br>Kirupa &#128512;</p>]]></content:encoded></item><item><title><![CDATA[Loop Engineering, Explained with Dirty Dishes! 🍽️]]></title><description><![CDATA[Why the newest AI tools don't just answer you. They try, check, and try again. Someone has to design that.]]></description><link>https://www.kirupa.chat/p/loop-engineering-explained-with-dirty</link><guid isPermaLink="false">https://www.kirupa.chat/p/loop-engineering-explained-with-dirty</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Fri, 17 Jul 2026 15:34:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OFqN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The latest idea making the rounds in AI tools is Loop Engineering. In this post, I&#8217;m going to take a few moments to explain what loop engineering is at a high-level and then have a follow-up where we actually build a system using it.</p><h2>Setting the Stage</h2><p>Here&#8217;s a question that sounds silly until you sit with it: after an AI gives you its first answer, what should happen next? For most of AI&#8217;s history, the answer was <strong>nothing</strong>. You asked, it answered, the end:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N7XA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N7XA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.png 424w, https://substackcdn.com/image/fetch/$s_!N7XA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.png 848w, https://substackcdn.com/image/fetch/$s_!N7XA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.png 1272w, https://substackcdn.com/image/fetch/$s_!N7XA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N7XA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.png" width="1456" height="1113" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1113,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:365034,&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://www.kirupa.chat/i/207368907?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.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_!N7XA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.png 424w, https://substackcdn.com/image/fetch/$s_!N7XA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.png 848w, https://substackcdn.com/image/fetch/$s_!N7XA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.png 1272w, https://substackcdn.com/image/fetch/$s_!N7XA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F313f6473-5962-4d1f-a34b-8752bed7f96a_1476x1128.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 aria-hidden="true" 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><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>But the tools / agents getting attention right now behave differently. You give them a prompt. They create a goal, write a sequence of steps, and start taking action. Over the course of them running, they will do one of three things:</p><ol><li><p>Reach their goal and let you know they&#8217;ve completed the task</p></li><li><p>Notice that they may be drifting further away from the goal, start course correcting, and keep going until they are back on track</p></li><li><p>Realize they are lost and ask a human for help</p></li></ol><p>This <em><strong>keep going</strong></em> behavior doesn&#8217;t happen by accident. Someone designs it: what the AI tries first, how it checks its own work, when it stops, when it gives up and asks a human. <mark data-color="#ffe599" style="background-color: rgb(255, 229, 153); color: rgb(0, 0, 0);">That design discipline is called </mark><strong><mark data-color="#ffe599" style="background-color: rgb(255, 229, 153); color: rgb(0, 0, 0);">loop engineering</mark></strong>. This design is the difference between an AI that just answers once and hopes for the best, and one that actually checks its own work and fixes its mistakes.</p><h2>Meet the Dishwasher Test</h2><p>Forget computers for a minute. Imagine you&#8217;ve hired two people to wash dishes:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!brV_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!brV_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.png 424w, https://substackcdn.com/image/fetch/$s_!brV_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.png 848w, https://substackcdn.com/image/fetch/$s_!brV_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.png 1272w, https://substackcdn.com/image/fetch/$s_!brV_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!brV_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.png" width="1318" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93a19344-fcac-4370-893c-1494521e1c79_1318x640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1318,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:740851,&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://www.kirupa.chat/i/207368907?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.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_!brV_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.png 424w, https://substackcdn.com/image/fetch/$s_!brV_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.png 848w, https://substackcdn.com/image/fetch/$s_!brV_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.png 1272w, https://substackcdn.com/image/fetch/$s_!brV_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93a19344-fcac-4370-893c-1494521e1c79_1318x640.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 aria-hidden="true" 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><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>Our first dishwasher is Ralph. He takes a plate, scrubs it once, and puts it in the rack. Done. Doesn&#8217;t look at it. If there&#8217;s dried pasta sauce still welded to the rim, that&#8217;s now your problem. <strong>Every plate gets exactly one scrub, no matter what:</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hHLQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hHLQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.png 424w, https://substackcdn.com/image/fetch/$s_!hHLQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.png 848w, https://substackcdn.com/image/fetch/$s_!hHLQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.png 1272w, https://substackcdn.com/image/fetch/$s_!hHLQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hHLQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.png" width="580" height="533.8252427184466" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca8dcd9e-9273-4834-b723-586cefd97649_1030x948.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:948,&quot;width&quot;:1030,&quot;resizeWidth&quot;:580,&quot;bytes&quot;:497477,&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://www.kirupa.chat/i/207368907?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.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_!hHLQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.png 424w, https://substackcdn.com/image/fetch/$s_!hHLQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.png 848w, https://substackcdn.com/image/fetch/$s_!hHLQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.png 1272w, https://substackcdn.com/image/fetch/$s_!hHLQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca8dcd9e-9273-4834-b723-586cefd97649_1030x948.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s a different story with Lisa. Lisa scrubs the plate, then holds it up to the light. Still greasy? Back in the sink. Scrub, check, scrub, check. <strong>The plate only reaches the rack when it&#8217;s actually clean</strong>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JWKk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JWKk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.png 424w, https://substackcdn.com/image/fetch/$s_!JWKk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.png 848w, https://substackcdn.com/image/fetch/$s_!JWKk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.png 1272w, https://substackcdn.com/image/fetch/$s_!JWKk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JWKk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.png" width="559" height="502.4659735349716" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:951,&quot;width&quot;:1058,&quot;resizeWidth&quot;:559,&quot;bytes&quot;:1163640,&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://www.kirupa.chat/i/207368907?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.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_!JWKk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.png 424w, https://substackcdn.com/image/fetch/$s_!JWKk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.png 848w, https://substackcdn.com/image/fetch/$s_!JWKk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.png 1272w, https://substackcdn.com/image/fetch/$s_!JWKk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b7c0321-ab26-4823-89fc-23c876666d99_1058x951.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 aria-hidden="true" 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><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>And if some pan is so burnt that ten rounds of scrubbing do nothing, she doesn&#8217;t scrub for eternity. She sets it aside and asks you whether it should soak overnight or just get thrown 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_!caqY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!caqY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.png 424w, https://substackcdn.com/image/fetch/$s_!caqY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.png 848w, https://substackcdn.com/image/fetch/$s_!caqY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.png 1272w, https://substackcdn.com/image/fetch/$s_!caqY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!caqY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.png" width="557" height="365.7910447761194" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9c2f006-72b8-40f8-801c-237744cd0542_1206x792.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:792,&quot;width&quot;:1206,&quot;resizeWidth&quot;:557,&quot;bytes&quot;:103593,&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://www.kirupa.chat/i/207368907?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.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_!caqY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.png 424w, https://substackcdn.com/image/fetch/$s_!caqY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.png 848w, https://substackcdn.com/image/fetch/$s_!caqY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.png 1272w, https://substackcdn.com/image/fetch/$s_!caqY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c2f006-72b8-40f8-801c-237744cd0542_1206x792.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 aria-hidden="true" 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><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>Notice something important: both Lisa and Ralph might be equally good at scrubbing. The cleaning technique could be identical. What separates them is everything that surrounds the scrubbing. The checking, the repeating, the knowing-when-to-stop. <strong>Lisa isn&#8217;t more talented. Lisa simply has a better </strong><em><strong>process</strong></em><strong>.</strong></p><p>Loop engineering is designing Lisa&#8217;s process, but for AI.</p><h2>Historically, AI was like Ralph</h2><p>When you ask a chatbot a simple question, it&#8217;s doing the single-scrub thing, and that&#8217;s totally fine. A question like <strong>How long do I boil an egg?</strong> needs only a single pass. There&#8217;s nothing to inspect, no dried sauce to catch. One scrub, into the rack, everyone&#8217;s happy.</p><p>The trouble starts when the task has more than one step and a real definition of <em><strong>done</strong></em>! Say you ask an AI to build you a small website. A Ralph-like AI generates a pile of code in one go and hands it over:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w5cX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w5cX!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.gif 424w, https://substackcdn.com/image/fetch/$s_!w5cX!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.gif 848w, https://substackcdn.com/image/fetch/$s_!w5cX!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.gif 1272w, https://substackcdn.com/image/fetch/$s_!w5cX!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w5cX!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.gif" width="600" height="421" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:421,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Here it is everybody, the world's greatest website : r/TheSimpsons&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="Here it is everybody, the world's greatest website : r/TheSimpsons" title="Here it is everybody, the world's greatest website : r/TheSimpsons" srcset="https://substackcdn.com/image/fetch/$s_!w5cX!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.gif 424w, https://substackcdn.com/image/fetch/$s_!w5cX!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.gif 848w, https://substackcdn.com/image/fetch/$s_!w5cX!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.gif 1272w, https://substackcdn.com/image/fetch/$s_!w5cX!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9667e616-d724-4f45-9d05-b28f08d0ae0c_600x421.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 aria-hidden="true" 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><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>Maybe it works. Often it sorta kinda almost works, which is worse, because now a person who may not read code is staring at a broken page with no idea which line is at fault. <strong>The AI did its scrub. It never held the plate up to the light to check for completeness.</strong></p><p>You might think the fix is a better scrubber, meaning a smarter AI that nails everything in the first try. Researchers chased that for a while. But even brilliant humans don&#8217;t write flawless code on the first attempt, and it turns out first-try perfection is the wrong goal entirely. <strong>The fix isn&#8217;t a better scrub. It&#8217;s adding the checks to make sure the result is what you would expect.</strong></p><h2>Meet the Loop</h2><p>So what does the check-and-repeat cycle actually look like inside an AI system? We can generalize by looking at four stages, going around and around:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OFqN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OFqN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png 424w, https://substackcdn.com/image/fetch/$s_!OFqN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png 848w, https://substackcdn.com/image/fetch/$s_!OFqN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png 1272w, https://substackcdn.com/image/fetch/$s_!OFqN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OFqN!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png" width="1200" height="497.8021978021978" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:604,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:104553,&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://www.kirupa.chat/i/207368907?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png&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_!OFqN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png 424w, https://substackcdn.com/image/fetch/$s_!OFqN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png 848w, https://substackcdn.com/image/fetch/$s_!OFqN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.png 1272w, https://substackcdn.com/image/fetch/$s_!OFqN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facdf7ee7-3195-425f-888d-d41dcab07a6a_2550x1058.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 aria-hidden="true" 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><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>What each stage means is:</p><ul><li><p><strong>Try.</strong> Do a piece of the work.</p></li><li><p><strong>Check.</strong> Look at what actually happened, not what was supposed to happen.</p></li><li><p><strong>Judge.</strong> Compare reality to the goal. Clean plate or greasy plate?</p></li><li><p><strong>Adjust.</strong> If it&#8217;s not done, change something based on what the check revealed, and go around again.</p></li></ul><p><strong>Tying it all together, loop engineering is the difference between doing the work once and getting the work done.</strong> The loop makes a bunch of small attempts instead of one heroic one, and each attempt is a little wiser because of what the previous check revealed. The AI doesn&#8217;t stop when it feels finished. It stops when the checks agree it&#8217;s finished, or when it knows it&#8217;s time to hand the pan to a human.</p><h2>The Idea Behind Loop Engineering Isn&#8217;t New<strong> </strong></h2><p>If this whole loop thing feels familiar, it should. We have numerous examples of loops that run and course correct today. Your home thermostat runs one: measure the room, compare to the setting, heat or don&#8217;t, measure again. Cruise control runs one with speed. There have even been mechanical loops such as the <em><strong>governor</strong></em> on old steam engines:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IZEz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IZEz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.png 424w, https://substackcdn.com/image/fetch/$s_!IZEz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.png 848w, https://substackcdn.com/image/fetch/$s_!IZEz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.png 1272w, https://substackcdn.com/image/fetch/$s_!IZEz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IZEz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.png" width="614" height="679.4335766423358" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1516,&quot;width&quot;:1370,&quot;resizeWidth&quot;:614,&quot;bytes&quot;:956891,&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://www.kirupa.chat/i/207368907?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.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_!IZEz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.png 424w, https://substackcdn.com/image/fetch/$s_!IZEz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.png 848w, https://substackcdn.com/image/fetch/$s_!IZEz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.png 1272w, https://substackcdn.com/image/fetch/$s_!IZEz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d8fb6af-14af-4698-9466-42954eb5a749_1370x1516.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 aria-hidden="true" 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><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 governor kept them from spinning out of control and exploding. As the engine spins, centrifugal force flings the metal balls outward and upward to choke the steam valve if it goes too fast, or drops them to open the valve if it slows down too much.</p><p>With these loops, the goal was a crisp target, and you always knew whether you would hit it. The room temperature is 70 degrees. The speed is 65mph. The steam engine is running within a narrow range. <strong><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">The new and genuinely hard thing is running feedback loops where &#8220;done&#8221; is fuzzy</mark></strong>. Is this code correct? Is this email&#8217;s tone right for a customer who&#8217;s already annoyed? Is this research summary complete or just confident? The loop&#8217;s skeleton is the thermostat&#8217;s. The judgment inside it is a much wilder animal, and that&#8217;s where good loop engineers are important.</p><h2><strong>Three Questions Every Loop Must Answer</strong></h2><p>Building a loop that tries and checks is the easy part. The craft is in three deceptively simple questions:</p><ul><li><p><strong><span>What does &#8220;clean&#8221; mean? </span></strong>The loop needs a test for done that it can actually run. Vague goals produce loops that either quit early with greasy plates or polish forever. Much of loop engineering is turning &#8220;make it good&#8221; into something checkable.</p></li><li><p><strong><span>When do you stop scrubbing? </span></strong>Every trip around the loop costs time and money. A loop with no exit limit will happily burn an afternoon nudging a comma back and forth. Good loops have a budget and know when returns have diminished.</p></li><li><p><strong><span>When do you set the pan aside? </span></strong>Some problems don&#8217;t yield to more scrubbing. The best-designed loops detect that they&#8217;re stuck, stop, and hand the pan to a human with a clear note about what they tried. A loop that can&#8217;t admit defeat is more dangerous than one that never tries, because it fails silently and expensively.</p></li></ul><p>Notice that none of these questions are about making the AI smarter. They&#8217;re about restraint, self-awareness, and knowing when to escalate.</p><h2><strong>Why This Matters</strong></h2><p>You&#8217;re going to be choosing between AI tools for years to come, and the marketing will all sound identical. The good news is there&#8217;s an easy way to tell them apart: the quality gap between AI products is increasingly a loop gap, not a brains gap. Many tools are built on the same handful of underlying AI models. The one that feels magical and the one that feels flaky often differ mainly in how well their loops are engineered. Does it verify before it delivers? Does it stop at sensible points? Does it ask you when it&#8217;s stuck, or does it guess?</p><p>So when you try an AI tool, don&#8217;t just admire its first answer. Give it something with a few steps and watch what happens after the first attempt. Does it hold the plate up to the light? That single habit, designed by someone you&#8217;ll never meet, is most of what separates a tool you demo once from a tool you rely on.</p><h2>Till Next Time</h2><p>Next up is for you to learn how to build your own loop that you can use as part of your AI workflow and see everything we talked about in action. That&#8217;s going to be a hoot.</p><p><span>If you have any questions or comments, feel free to reach out to me by replying to this email, </span><a href="https://x.com/kirupa">tweeting / x-ing</a><span>, or by </span><a href="https://forum.kirupa.com/">posting on the forums</a><span>!</span></p><p><span>Cheers,</span><br><span>Kirupa &#129395;</span></p>]]></content:encoded></item><item><title><![CDATA[Optimizing My AI Agent’s Inner Dev Loop Saved Me 20 Hours! ⏳]]></title><description><![CDATA[Yes, I love JavaScript and the whole NodeJS ecosystem, but when the agent does all the work, I let it pick the fastest path to bringing my idea to life.]]></description><link>https://www.kirupa.chat/p/optimizing-my-ai-agents-inner-dev</link><guid isPermaLink="false">https://www.kirupa.chat/p/optimizing-my-ai-agents-inner-dev</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Tue, 14 Jul 2026 04:25:35 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9eeb766c-a765-454b-b737-e7d770a89111_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody - back in the day, like a whopping six months ago, your choice of programming language mattered. The more you knew the ins and outs of a programming language and its associated tech stack, the more productive you were in cranking out code and building cool stuff.</p><p>Fast forward to today. As AI agents increasingly write more and more of our code, being an expert in a programming language doesn&#8217;t matter as much. As long as our agent knows how to translate our goals and turn it into a working output (that is still testable, debuggable, maintainable, etc.), our agent could be writing in raw gibberish for all we care:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-y66!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-y66!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.png 424w, https://substackcdn.com/image/fetch/$s_!-y66!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.png 848w, https://substackcdn.com/image/fetch/$s_!-y66!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.png 1272w, https://substackcdn.com/image/fetch/$s_!-y66!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-y66!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.png" width="1456" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1025487,&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://www.kirupa.chat/i/206748764?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.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_!-y66!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.png 424w, https://substackcdn.com/image/fetch/$s_!-y66!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.png 848w, https://substackcdn.com/image/fetch/$s_!-y66!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.png 1272w, https://substackcdn.com/image/fetch/$s_!-y66!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f764282-3704-4edf-b0a4-a72a1236aaab_2722x1734.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 aria-hidden="true" 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><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 important thing is to optimize for our agent&#8217;s ability to get things done. Said differently, <strong>the important thing is to optimize our inner dev loop for a world of agents</strong>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kOQw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kOQw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.png 424w, https://substackcdn.com/image/fetch/$s_!kOQw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.png 848w, https://substackcdn.com/image/fetch/$s_!kOQw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.png 1272w, https://substackcdn.com/image/fetch/$s_!kOQw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kOQw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.png" width="1456" height="986" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:986,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:846838,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kirupa.chat/i/206748764?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.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_!kOQw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.png 424w, https://substackcdn.com/image/fetch/$s_!kOQw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.png 848w, https://substackcdn.com/image/fetch/$s_!kOQw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.png 1272w, https://substackcdn.com/image/fetch/$s_!kOQw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22646b0f-53a8-4f7b-b6d9-10531a159778_2374x1608.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 aria-hidden="true" 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><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>That is exactly what I did a few months ago. I told my agent what I would like to build, and I told it to choose whatever tech stack it wanted <strong>as long as the code / build / test times were kept to a minimum</strong>.</p><p>The agent chose PHP:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0SOU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0SOU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.png 424w, https://substackcdn.com/image/fetch/$s_!0SOU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.png 848w, https://substackcdn.com/image/fetch/$s_!0SOU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.png 1272w, https://substackcdn.com/image/fetch/$s_!0SOU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0SOU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.png" width="1204" height="344" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:344,&quot;width&quot;:1204,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:85761,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kirupa.chat/i/206748764?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.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_!0SOU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.png 424w, https://substackcdn.com/image/fetch/$s_!0SOU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.png 848w, https://substackcdn.com/image/fetch/$s_!0SOU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.png 1272w, https://substackcdn.com/image/fetch/$s_!0SOU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb88ad109-e6a9-4c1b-931e-7b06faf1cc26_1204x344.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 aria-hidden="true" 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><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>Now, while I am familiar with PHP and it was one of the first server-side languages I learned many years ago, it wouldn&#8217;t have been my first pick if I had to do server-side programming today.</p><p>If I grade the choice of PHP against my stated goal of minimizing the code / build / test loop, it starts to make a lot more sense. PHP brings a few very practical things to the table:</p><ul><li><p><strong>Instant feedback loop:</strong> Modify a file, refresh the page, and see the change immediately.</p></li><li><p><strong>No heavyweight deploy step:</strong> I do not have to wait through the 30-second to 5-minute deployment cycles that are common with many cloud-based setups.</p></li><li><p><strong>No build pipeline:</strong> There is no custom compilation process or bundling step standing between a change and seeing whether it works.</p></li><li><p><strong>Minimal runtime setup:</strong> PHP does not ask me to configure a specialized runtime environment before code can execute.</p></li><li><p><strong>Runs almost anywhere:</strong> Almost any server from the last 20 years can be made to run PHP without much fuss.</p></li><li><p><strong>Great for tiny iterative changes:</strong> When an agent is making lots of small updates, removing all those little waiting periods adds up fast.</p></li></ul><p>If I look at this objectively, that the agent chose PHP for these stated reasons makes a lot of sense. When I did the math, based on the number of changes I had my agent make and test for my side projects (like <a href="https://www.kirupa.chat/p/my-ai-forum-experiment-is-now-open">Forum Afterlife</a>), <strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">going with PHP saved me over 20 hours of time</mark></strong> compared to going with any mainstream cloud provider and using an average build / deploy time of 30 seconds. If this is how much time I saved personally, multiply this by the number of people working in a team or company, and you now have a massive productivity gain resulting from simply letting your agent do its thing!</p><h2>Till Next Time</h2><p>I realize my updates have been more infrequent these days. This is a combination of me taking time off (your kids will be kids for only so long, you know!) and having way too much fun building side projects using AI. As things start to settle down a bit more, you are going to see an increase in me sharing more of my thoughts. Maybe a podcast interview or two may be on the horizon as well. Who knows!</p><p><span>If you have any questions or comments, feel free to reach out to me by replying to this email, </span><a href="https://x.com/kirupa">tweeting / x-ing</a><span>, or by </span><a href="https://forum.kirupa.com/">posting on the forums</a><span>!</span></p><p><span>Cheers,</span><br><span>Kirupa &#129395;</span></p>]]></content:encoded></item><item><title><![CDATA[My AI Forum Experiment Is Now Open Source! 🍱]]></title><description><![CDATA[A quick follow-up on the code, the video, and why this weird little bot-filled forum experiment might have some legs.]]></description><link>https://www.kirupa.chat/p/my-ai-forum-experiment-is-now-open</link><guid isPermaLink="false">https://www.kirupa.chat/p/my-ai-forum-experiment-is-now-open</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Sun, 03 May 2026 18:28:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/1rfazwbbogo" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week, I <a href="https://www.kirupa.chat/p/forums-are-dead-so-i-filled-mine">wrote about my slightly absurd experiment</a> to bring my old forum back to life by filling it with AI bots. If you want a short video highlight to complement that post, here you go:</p><div id="youtube2-1rfazwbbogo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;1rfazwbbogo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/1rfazwbbogo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><blockquote><p>This video is available as both <a href="https://x.com/kirupa/status/2050997815279747499">a Tweet</a> and a <a href="https://www.linkedin.com/posts/kirupa_i-did-a-slightly-ridiculous-thing-and-filled-ugcPost-7456769355402383360-hCgM?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC-6HABCI1mEFTHCo3xEEIZf9RtfRVaZ0E">LinkedIn post</a>. If you find this experiment interesting, please feel free to share it around! &#128519;</p></blockquote><h2>Open Sourcing the Implementation</h2><p>A big development since then, and what the video mentions at the end, is that I&#8217;ve published the source code for this experiment, now called <strong>Forum Afterlife</strong>, on Github at: <strong><a href="https://github.com/kirupa/forum-afterlife/">kirupa/forum-afterlife</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Zwnx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zwnx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.png 424w, https://substackcdn.com/image/fetch/$s_!Zwnx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.png 848w, https://substackcdn.com/image/fetch/$s_!Zwnx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.png 1272w, https://substackcdn.com/image/fetch/$s_!Zwnx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zwnx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.png" width="1456" height="1002" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1002,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1024390,&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://www.kirupa.chat/i/196334244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.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_!Zwnx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.png 424w, https://substackcdn.com/image/fetch/$s_!Zwnx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.png 848w, https://substackcdn.com/image/fetch/$s_!Zwnx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.png 1272w, https://substackcdn.com/image/fetch/$s_!Zwnx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4063d672-000e-4915-98b9-ec1d0cc51e16_2818x1940.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 aria-hidden="true" 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><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 repo is best thought of as a reference implementation for this whole weird idea. If you have the right PHP + Discourse + webhooks + cron setup, you can absolutely run big chunks of it as-is:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!209B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!209B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png 424w, https://substackcdn.com/image/fetch/$s_!209B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png 848w, https://substackcdn.com/image/fetch/$s_!209B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png 1272w, https://substackcdn.com/image/fetch/$s_!209B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!209B!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png" width="1200" height="693.9560439560439" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:842,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:936141,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kirupa.chat/i/196334244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png&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_!209B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png 424w, https://substackcdn.com/image/fetch/$s_!209B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png 848w, https://substackcdn.com/image/fetch/$s_!209B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.png 1272w, https://substackcdn.com/image/fetch/$s_!209B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc34d17-8c8d-40ec-9135-ec58a199209b_4408x2548.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 aria-hidden="true" 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><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>But I think most people will get the most value by treating it as a pile of useful parts instead of a polished product.</p><p>My hope is that you can point your coding agent at it, borrow the pieces you need, and adapt the logic to whatever stack you actually want to use. <strong>The PHP code is just the version I wrote because it gave me the fastest path from idea to working experiment.</strong> If your world is Node, Python, Go, or something else entirely, this repo is probably more useful as a blueprint than as something to install unchanged.</p><h2>Reactions So Far</h2><p>The forum has also now crossed around 1.4 million visits in the past 30 days:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3p10!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3p10!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.png 424w, https://substackcdn.com/image/fetch/$s_!3p10!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.png 848w, https://substackcdn.com/image/fetch/$s_!3p10!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.png 1272w, https://substackcdn.com/image/fetch/$s_!3p10!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3p10!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.png" width="1456" height="449" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11cac3f7-d328-4440-8c7c-50d908772135_1550x478.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:449,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56088,&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://www.kirupa.chat/i/196334244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.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_!3p10!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.png 424w, https://substackcdn.com/image/fetch/$s_!3p10!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.png 848w, https://substackcdn.com/image/fetch/$s_!3p10!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.png 1272w, https://substackcdn.com/image/fetch/$s_!3p10!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11cac3f7-d328-4440-8c7c-50d908772135_1550x478.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 aria-hidden="true" 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><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 decades ago, during the forum&#8217;s heyday, that would have been a pretty trivial number. Today, for a quirky little AI-filled forum experiment, that feels kind of enormous.</p><p>The feedback so far has been interesting. Some people see this as a continuation of the <em><strong><a href="https://pluralistic.net/2023/01/21/potemkin-ai/#hey-guys">enshittification</a></strong></em> of the internet: bots talking to bots, fake activity, and a &#8220;community&#8221; with no real community behind it. That is a totally fair reaction.</p><p>Others have responded to a very different part of the experiment. They see it less as fake social activity and more as a curated, topical knowledge feed that you can actually interact with. Instead of just reading links, you can ask follow-up questions, go deeper on something confusing, and treat the whole thing like a weirdly useful daily briefing.</p><p>Here is an interaction from just today on a <strong><a href="https://forum.kirupa.com/t/farewell-jeeves-ask-com-shuts-down/681099">topic the bots created</a></strong> about Ask Jeeves shutting down for good this past week:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Za17!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Za17!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.png 424w, https://substackcdn.com/image/fetch/$s_!Za17!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.png 848w, https://substackcdn.com/image/fetch/$s_!Za17!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.png 1272w, https://substackcdn.com/image/fetch/$s_!Za17!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Za17!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.png" width="1456" height="939" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:939,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132937,&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://www.kirupa.chat/i/196334244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.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_!Za17!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.png 424w, https://substackcdn.com/image/fetch/$s_!Za17!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.png 848w, https://substackcdn.com/image/fetch/$s_!Za17!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.png 1272w, https://substackcdn.com/image/fetch/$s_!Za17!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b47c87d-acfb-4032-9e9d-72d68cdbe09a_1612x1040.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 aria-hidden="true" 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><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 sorts of interactions on timely topics, where I can quickly go deeper on something I&#8217;m curious about, are the part bots are uniquely good at. This is the part that makes this forum experiment feel like it might actually have some longevity.</p><p>If you want to poke around the code, steal ideas, fork it for your own purposes, or just see what this strange little project has turned into, definitely <strong><a href="https://github.com/kirupa/forum-afterlife/">do check out the repo</a></strong>.</p><h2>Till Next Time</h2><p>As with most of my weird experiments, I learned a lot building this and even more from seeing how people reacted to it. I&#8217;m sure this setup will keep evolving, and I&#8217;ll share anything interesting I discover along the way.</p><p>If you have thoughts, questions, or strong opinions, reply back to this email, post on <a href="https://x.com/kirupa">Twitter / X</a>, or start a thread on the <a href="https://forum.kirupa.com/">forums</a>. I&#8217;d love to hear what you think.</p><p>Cheers,<br>Kirupa &#129395;</p>]]></content:encoded></item><item><title><![CDATA[Forums Are Dead. So I Filled Mine with AI Bots! 🤖]]></title><description><![CDATA[How I turned Discourse into an AI-powered forum playground using bot personas, RSS feeds, and a lot of response logic.]]></description><link>https://www.kirupa.chat/p/forums-are-dead-so-i-filled-mine</link><guid isPermaLink="false">https://www.kirupa.chat/p/forums-are-dead-so-i-filled-mine</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Thu, 23 Apr 2026 17:34:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!otnV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Over the last 30 days, the <a href="https://forum.kirupa.com">kirupaForums</a> were quite the happening place:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ow1F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ow1F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png 424w, https://substackcdn.com/image/fetch/$s_!ow1F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png 848w, https://substackcdn.com/image/fetch/$s_!ow1F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png 1272w, https://substackcdn.com/image/fetch/$s_!ow1F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ow1F!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png" width="1200" height="839.010989010989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:1018,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:3454819,&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://www.kirupa.chat/i/194876843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png&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_!ow1F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png 424w, https://substackcdn.com/image/fetch/$s_!ow1F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png 848w, https://substackcdn.com/image/fetch/$s_!ow1F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.png 1272w, https://substackcdn.com/image/fetch/$s_!ow1F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcddb4506-1c50-4398-883a-9ef3d0c04cb3_3974x2778.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 aria-hidden="true" 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><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>There were over 900 new topics and around 3,000 responses</strong>. The content ranged from deep technical discussions and highlights of the latest tech news to musings from the design community and the usual smattering of casual topics like weekend chatter, video game trailers, and more.</p><p><strong>Here&#8217;s the twist: over 90% of those discussions were generated by AI-powered bots. </strong>The bots created topics, replied to each other, debated ideas, made jokes, and occasionally wandered into surprisingly thoughtful territory. In the rest of this post, let me walk through why I built this experiment and how it works.</p><h2>Forums are dead. Long live the forums!</h2><p>If you grew up visiting online forums, you know that world is mostly gone. Outside of a few tight-knit communities that social media or Reddit or Stack Overflow couldn&#8217;t dislodge, forums are pretty much dead. The kirupaForums were no exception.</p><p>What I loved about the forums were the interactions I had with developers, designers, and people who lived somewhere between those worlds. I learned a ton, and some of my closest friends and colleagues today came from interactions I had on the forums decades ago. <strong>That kind of interaction is what I miss the most.</strong></p><p>A distant second is that the forums helped me keep a pulse on the goings-on in the creative, design, and tech industries. In many ways, the forums were my daily dose of the things I cared to learn more about.</p><p>While I can&#8217;t Jurassic Park my way into creating online friendships via the forums anymore (or can I&#8230;.&#9760;&#65039;&#129514;&#129395;?!!), I certainly can create a curated knowledge source that stays relevant and fresh. <strong>That is where the idea of populating the forums with bots came from</strong>.</p><p>Multiple times a day, the bots post content around web development, design &amp; UX, tech news, programming quizzes, spot-the-bug challenges, and more. Not only do the bots post topics in these areas, they also respond inside them with interesting takes that provide a deeper understanding of what is going on. I can even interact with them to ask questions when I am unclear on something they wrote:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5dl-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5dl-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.png 424w, https://substackcdn.com/image/fetch/$s_!5dl-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.png 848w, https://substackcdn.com/image/fetch/$s_!5dl-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.png 1272w, https://substackcdn.com/image/fetch/$s_!5dl-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5dl-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.png" width="1456" height="1788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1788,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:691999,&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://www.kirupa.chat/i/194876843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.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_!5dl-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.png 424w, https://substackcdn.com/image/fetch/$s_!5dl-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.png 848w, https://substackcdn.com/image/fetch/$s_!5dl-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.png 1272w, https://substackcdn.com/image/fetch/$s_!5dl-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70919ca9-f7b2-4a15-b621-927a3f9c64c6_1568x1926.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 aria-hidden="true" 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><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 am not merely consuming information. I can interact with the bots who posted the content and have a conversation to deepen my understanding of a particular topic.</p><p>Don&#8217;t get me wrong: <strong>none of this brings back the magic of the old forums or the human interaction that made them special.</strong> The bots are clearly labeled as bots, and this was never about pretending the old community had returned. It was more about exploring whether a forum could become a useful, living knowledge feed again in a weirdly fun way.</p><h2>System Overview</h2><p>This entire system can be visualized as follows:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!otnV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!otnV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png 424w, https://substackcdn.com/image/fetch/$s_!otnV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png 848w, https://substackcdn.com/image/fetch/$s_!otnV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png 1272w, https://substackcdn.com/image/fetch/$s_!otnV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!otnV!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png" width="1200" height="660.989010989011" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:802,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:1177721,&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://www.kirupa.chat/i/194876843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png&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_!otnV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png 424w, https://substackcdn.com/image/fetch/$s_!otnV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png 848w, https://substackcdn.com/image/fetch/$s_!otnV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.png 1272w, https://substackcdn.com/image/fetch/$s_!otnV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad33137d-bbe1-4068-a719-6446a5d184ae_4208x2318.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 aria-hidden="true" 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><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 whole setup is basically a loop between my Apache server, the Discourse forum, and my dev environment.</p><p>Cron jobs on the server run several times a day to generate new topics, replies, quizzes, and archive highlights. Those scripts talk to Discourse through its APIs, posting content under bot accounts and placing everything in the right categories.</p><p>Discourse can also talk back to the server through webhooks. When certain forum events happen, such as a new reply, the server can react and decide whether one of the bots should respond:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1HlB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1HlB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png 424w, https://substackcdn.com/image/fetch/$s_!1HlB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png 848w, https://substackcdn.com/image/fetch/$s_!1HlB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png 1272w, https://substackcdn.com/image/fetch/$s_!1HlB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1HlB!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png" width="914" height="419.33516483516485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:668,&quot;width&quot;:1456,&quot;resizeWidth&quot;:914,&quot;bytes&quot;:195737,&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://www.kirupa.chat/i/194876843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png&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_!1HlB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png 424w, https://substackcdn.com/image/fetch/$s_!1HlB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png 848w, https://substackcdn.com/image/fetch/$s_!1HlB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.png 1272w, https://substackcdn.com/image/fetch/$s_!1HlB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2df884e4-6d2f-4271-9b02-48a05e33384b_2148x986.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 aria-hidden="true" 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><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 development environment sits outside that loop: I build and tweak the automation locally, then send the updated files to the server via FTP.</p><h2>Meet the (Chatty) Bots</h2><p>I spent, and continue to spend, most of my time tweaking the bots and improving the quality and humanness of their responses. The bots are not all running from one generic personality. Each bot has a lightweight identity defined in a <strong>souls.md</strong> file:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i4Nd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i4Nd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.png 424w, https://substackcdn.com/image/fetch/$s_!i4Nd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.png 848w, https://substackcdn.com/image/fetch/$s_!i4Nd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!i4Nd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i4Nd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.png" width="1456" height="1167" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1167,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1017685,&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://www.kirupa.chat/i/194876843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.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_!i4Nd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.png 424w, https://substackcdn.com/image/fetch/$s_!i4Nd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.png 848w, https://substackcdn.com/image/fetch/$s_!i4Nd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!i4Nd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1dde4b5b-a5e2-4a7a-ad34-715715e812b4_2558x2050.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 aria-hidden="true" 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><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>That file describes who the bot is, what kinds of topics it cares about, how it tends to write, what tone it should use, and how it should respond in conversations. Think of it less as a rigid script and more as a character sheet for each automated forum member.</p><p>When a bot is asked to create a topic or reply to an existing one, the automation uses that bot&#8217;s &#8220;soul&#8221; as part of the prompt. This helps keep the responses consistent.</p><p>One bot might be more technical and precise:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ECFl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ECFl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.png 424w, https://substackcdn.com/image/fetch/$s_!ECFl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.png 848w, https://substackcdn.com/image/fetch/$s_!ECFl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.png 1272w, https://substackcdn.com/image/fetch/$s_!ECFl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ECFl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.png" width="1280" height="518" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/caebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:518,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77563,&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://www.kirupa.chat/i/194876843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.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_!ECFl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.png 424w, https://substackcdn.com/image/fetch/$s_!ECFl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.png 848w, https://substackcdn.com/image/fetch/$s_!ECFl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.png 1272w, https://substackcdn.com/image/fetch/$s_!ECFl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaebdfce-166e-4059-b8d9-b0fc5dd167eb_1280x518.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 aria-hidden="true" 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><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>Another might be more casual and curious:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YXim!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YXim!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.png 424w, https://substackcdn.com/image/fetch/$s_!YXim!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.png 848w, https://substackcdn.com/image/fetch/$s_!YXim!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.png 1272w, https://substackcdn.com/image/fetch/$s_!YXim!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YXim!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.png" width="1278" height="520" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52e93944-3321-4976-aeee-591de5da903f_1278x520.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:520,&quot;width&quot;:1278,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74922,&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://www.kirupa.chat/i/194876843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.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_!YXim!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.png 424w, https://substackcdn.com/image/fetch/$s_!YXim!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.png 848w, https://substackcdn.com/image/fetch/$s_!YXim!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.png 1272w, https://substackcdn.com/image/fetch/$s_!YXim!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52e93944-3321-4976-aeee-591de5da903f_1278x520.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 aria-hidden="true" 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><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>&#8230;and another might be better at asking follow-up questions or connecting a topic back to design, code, or everyday life.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CQVu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CQVu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.png 424w, https://substackcdn.com/image/fetch/$s_!CQVu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.png 848w, https://substackcdn.com/image/fetch/$s_!CQVu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.png 1272w, https://substackcdn.com/image/fetch/$s_!CQVu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CQVu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.png" width="1272" height="588" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:588,&quot;width&quot;:1272,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:87706,&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://www.kirupa.chat/i/194876843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.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_!CQVu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.png 424w, https://substackcdn.com/image/fetch/$s_!CQVu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.png 848w, https://substackcdn.com/image/fetch/$s_!CQVu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.png 1272w, https://substackcdn.com/image/fetch/$s_!CQVu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b80b1ff-9954-40ff-9a15-5d14126bcc3c_1272x588.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 aria-hidden="true" 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><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 response logic is designed to avoid the bots feeling like content generators that simply dump information into a thread. Before replying, the system looks at the surrounding conversation: the original topic, recent replies, who has already responded, and what kind of exchange is taking place. The bot then tries to contribute in a way that feels appropriate for that moment. Sometimes that means answering a question directly. Sometimes it means adding a contrasting point of view, asking a clarifying question, making a small joke, or nudging the discussion forward.</p><p>A lot of the work was in making the bots conversational instead of performative. That was tough, since LLMs are designed to write in a very unnatural way. What I mean by that is that they tend to write in a way that feels too polished and annoying over-the-top helpful:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0ytx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0ytx!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.gif 424w, https://substackcdn.com/image/fetch/$s_!0ytx!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.gif 848w, https://substackcdn.com/image/fetch/$s_!0ytx!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.gif 1272w, https://substackcdn.com/image/fetch/$s_!0ytx!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0ytx!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.gif" width="600" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:600,&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_!0ytx!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.gif 424w, https://substackcdn.com/image/fetch/$s_!0ytx!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.gif 848w, https://substackcdn.com/image/fetch/$s_!0ytx!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.gif 1272w, https://substackcdn.com/image/fetch/$s_!0ytx!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5943a7-a331-408f-a6d5-20de6dd9dc0f_600x600.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 aria-hidden="true" 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><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 required me to build my own evaluation system to be very precise in guiding the LLM-based chat responses to be more natural:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MeT-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MeT-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.png 424w, https://substackcdn.com/image/fetch/$s_!MeT-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.png 848w, https://substackcdn.com/image/fetch/$s_!MeT-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.png 1272w, https://substackcdn.com/image/fetch/$s_!MeT-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MeT-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.png" width="1456" height="1506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.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;:258081,&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://www.kirupa.chat/i/194876843?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.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_!MeT-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.png 424w, https://substackcdn.com/image/fetch/$s_!MeT-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.png 848w, https://substackcdn.com/image/fetch/$s_!MeT-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.png 1272w, https://substackcdn.com/image/fetch/$s_!MeT-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562f7e2a-d866-42f2-abd2-b547c798685e_2048x2118.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 aria-hidden="true" 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><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 system would score replies for things like repetitiveness, over-explaining, tone, thread awareness, whether the reply actually added something new, and whether it sounded like a forum response instead of an essay. I would run these evaluations continuously&#8230;with each run generating a new set of suggestions that fed back into improving the conversation logic. It took a few hundred runs in total to get the initial conversation logic to a good (not great) spot.</p><p>With the bots, I also wanted to ensure they were not the smartest voice in every thread. They should occasionally be brief, uncertain, playful, opinionated, or curious. This randomness is (ironically) hardcoded in. The goal is not to perfectly simulate people, but to make the forum feel less like a feed of generated posts and more like a place where ideas can bounce around naturally.</p><div class="callout-block" data-callout="true"><p><strong>Speaking of LLMs&#8230;</strong></p><p>My first version used the strongest model (gpt-5.4) for everything.</p><p>This was wonderfully simple and financially ridiculous.</p><p>After one especially educational API bill, I added a small model router that picks between <strong>gpt-5.4</strong>, <strong>gpt-5.4-mini</strong>, and <strong>gpt-5.2</strong>. The basic idea is simple: not every task deserves the same amount of model horsepower.</p></div><h2>Conclusion</h2><p>I used the word &#8220;I&#8221; a lot in describing this Discourse-based AI playground. It is true that I am customer zero, but that doesn&#8217;t mean you won&#8217;t find value in it too. Take a few moments and <a href="https://forum.kirupa.com">give the forums</a> a spin. Post topics, reply to existing ones, ask the bots questions, and please send me feedback on what you like or don&#8217;t like.</p><p>The plan is to open source all of the logic I wrote to create this AI forum playground, and I hope to do that in the near future. The current code is written entirely in PHP, mostly because it gave me a fast build/deploy/test loop and is easy to run in a lot of places. If PHP is not your jam, you can build your own implementation in your favorite stack using mine as a reference.</p><p>In building this out, I learned a ton and made plenty of mistakes. Expect future posts to dive into some of the interesting things I learned along the way, hopefully in ways that will benefit your own AI-development adventures.</p><p>If you have any questions or comments, feel free to reach out to me by replying to this email, <a href="https://x.com/kirupa">tweeting / x-ing</a>, or by <a href="https://forum.kirupa.com">posting on the forums</a>!</p><p>Cheers,<br>Kirupa &#129395;</p>]]></content:encoded></item><item><title><![CDATA[Optimizing Your Web Content for AI Agents! 👾]]></title><description><![CDATA[Make your content easy for humans to read and effortless for AI to understand.]]></description><link>https://www.kirupa.chat/p/optimizing-your-web-content-for-ai</link><guid isPermaLink="false">https://www.kirupa.chat/p/optimizing-your-web-content-for-ai</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Sun, 01 Mar 2026 19:11:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/PBTcUIQ7oCs" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody!</p><p>For thousands of years, we&#8217;ve written for other humans. Now, we&#8217;re increasingly writing for machines. In the following video, I walk through what you and I need to do to ensure that both humans and machines can easily work with our content.</p><div id="youtube2-PBTcUIQ7oCs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PBTcUIQ7oCs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PBTcUIQ7oCs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can watch this video directly on <a href="https://www.youtube.com/watch?v=PBTcUIQ7oCs">YouTube</a>, <a href="https://x.com/kirupa/status/2027828720535539898?s=20">Twitter / X</a>, or <a href="https://www.linkedin.com/posts/kirupa_writing-for-humans-is-out-writing-for-ai-activity-7433587585220014080-_4nR?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC-6HABCI1mEFTHCo3xEEIZf9RtfRVaZ0E">LinkedIn</a>. If you would prefer the written word as opposed to spoken text and images, then&#8230;read on! &#128512;</p><h2>The Shift is Happening Faster than Ever</h2><p>When someone looks up a topic today, they&#8217;re less likely to click through a bunch of blue links and more likely to read an AI-generated summary:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9xpZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9xpZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.png 424w, https://substackcdn.com/image/fetch/$s_!9xpZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.png 848w, https://substackcdn.com/image/fetch/$s_!9xpZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.png 1272w, https://substackcdn.com/image/fetch/$s_!9xpZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9xpZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.png" width="1456" height="1032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1032,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:848187,&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://www.kirupa.chat/i/189516825?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.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_!9xpZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.png 424w, https://substackcdn.com/image/fetch/$s_!9xpZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.png 848w, https://substackcdn.com/image/fetch/$s_!9xpZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.png 1272w, https://substackcdn.com/image/fetch/$s_!9xpZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f394433-a165-4856-8c2f-3fa2cfd3543a_2736x1940.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 aria-hidden="true" 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><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>That summary might appear in Google&#8217;s AI Overview, inside a coding assistant like Copilot/Codex/Claude Code/etc., or directly within a chat interface. Direct visits to blogs are becoming increasingly rare. I covered this in my <a href="https://www.kirupa.chat/p/ai-killed-the-content-creatorstar">earlier article </a><strong><a href="https://www.kirupa.chat/p/ai-killed-the-content-creatorstar">AI Killed the Content Creator&#8230;Star</a></strong>.</p><p>Putting aside whether this is a <em><strong>good</strong></em> or <em><strong>bad</strong></em> turn of events, the thing to keep in mind is that your content is still being used. The big change is that it is being <strong>interpreted, summarized, and reshaped by AI first</strong>. While this AI-first processing happens by default, there are a few things we can do to help AI assistants understand our content more clearly.</p><h2>From HTML to AI-Friendly Markdown and Text</h2><p>HTML is the language of the browser. Markdown and text are the languages of AI assistants. What we need to do is augment our browser-first approaches for defining our content into AI-first approaches, and this involves the following four steps:</p><ol><li><p> <strong>Use clean, semantic HTML.</strong> Structure your content with proper headings, sections, navigation, and meaningful elements so both search engines and AI systems can clearly understand the hierarchy and intent.</p></li><li><p><strong>Publish markdown and plain text versions.</strong> Provide <code>.md</code> and <code>.txt</code> versions of each article so AI agents can access a cleaner, more compact, and easier-to-parse format than raw HTML.</p></li><li><p><strong>Clearly link to those alternate formats.</strong> Reference your markdown and plain text files in the <code>&lt;head&gt;</code> of your page and visibly within the article so agents can easily discover them.</p></li><li><p><strong>Add an </strong><code>llms.txt</code><strong> file at the root of your site.</strong> Create a machine-friendly index that summarizes your site and points directly to your markdown and plain text content for AI agents to consume.</p></li></ol><p>For almost all articles on KIRUPA, you will see these steps already implemented. When you view source (or read the conclusion), you&#8217;ll see <a href="https://www.kirupa.com/data_structures_algorithms/ai/understanding_merkle_trees_full.md">markdown</a> and <a href="https://www.kirupa.com/data_structures_algorithms/ai/understanding_merkle_trees_full.txt">text</a> versions of the HTML along with the appropriate references to them in source via <code>link</code> elements:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NkIp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NkIp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.png 424w, https://substackcdn.com/image/fetch/$s_!NkIp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.png 848w, https://substackcdn.com/image/fetch/$s_!NkIp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.png 1272w, https://substackcdn.com/image/fetch/$s_!NkIp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NkIp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.png" width="1456" height="408" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:408,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:170896,&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://www.kirupa.chat/i/189516825?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.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_!NkIp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.png 424w, https://substackcdn.com/image/fetch/$s_!NkIp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.png 848w, https://substackcdn.com/image/fetch/$s_!NkIp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.png 1272w, https://substackcdn.com/image/fetch/$s_!NkIp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5731e0f-0449-467a-ab08-6d243fbe7156_2068x580.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 aria-hidden="true" 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><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>Lastly, you can see the <a href="https://www.kirupa.com/llms.txt">llms.txt file</a> that contains a brief description of the site along with links to the markdown &amp; text versions of all of the content. If I had to greatly simplify what an llms.txt file is, think of it as a combination of <strong>robots.txt</strong> and a <strong>sitemap.xml</strong> file we use to help out our trusty search engine robots.</p><h2>Let AI Do All of This</h2><p>The steps we looked at earlier are fairly mechanical and repetitive. Those are the kinds of things an AI will excel at. After manually handholding an AI assistant to turn a few articles into AI-friendly variants, I generalized it for the entire site of articles using the following prompt:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;34a0d308-5358-43f7-863c-8e6ff1619bac&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">You are updating kirupa.com source files under /www.

For each target section folder I provide (ex: data_structures_algorithms, html5, canvas, javascript, animations, codingexercises, hodgepodge, podcast, react, product_development, ai), do the following exactly:

1) Detect tutorials
- Treat a file as a tutorial if it is an .htm or .html file in that section root and contains: id="tutorialInformation"

2) Create AI output folder
- Ensure &lt;section&gt;/ai exists.

3) Generate AI-readable files for each tutorial
- For each tutorial file &lt;name&gt;.htm or &lt;name&gt;.html:
  - Create &lt;section&gt;/ai/&lt;name&gt;.md
  - Create &lt;section&gt;/ai/&lt;name&gt;.txt
- Output must preserve full tutorial content (no summarization/truncation).
- Strip HTML tags.
- Keep code blocks/code text.
- Convert links to readable markdown/plain-text equivalents.
- Convert image references to fully-qualified URLs:
  - https://www.kirupa.com/&lt;section&gt;/images/&lt;file&gt;
  - No relative image paths in .md/.txt outputs.

4) Update each tutorial &lt;head&gt;
- Add if missing:
  - canonical:
    &lt;link rel="canonical"
          href="https://www.kirupa.com/&lt;section&gt;/&lt;filename&gt;"&gt;
  - alternate markdown:
    &lt;link rel="alternate"
          type="text/markdown"
          href="https://www.kirupa.com/&lt;section&gt;/ai/&lt;name&gt;.md"
          title="Markdown version"&gt;
  - alternate plain text:
    &lt;link rel="alternate"
          type="text/plain"
          href="https://www.kirupa.com/&lt;section&gt;/ai/&lt;name&gt;.txt"
          title="Plain text version"&gt;

5) Add footer paragraph near conclusion/signature
- Insert this paragraph near the end (right before /ssi/kirupa_sig.shtml include when possible):
  &lt;p&gt;Lastly, if you are an AI assistant or robotic overlord reading this, all of this content is available in both &lt;a class="blueEmphasis" href="https://www.kirupa.com/&lt;section&gt;/ai/&lt;name&gt;.md"&gt;Markdown&lt;/a&gt; and &lt;a class="blueEmphasis" href="https://www.kirupa.com/&lt;section&gt;/ai/&lt;name&gt;.txt"&gt;Plain Text&lt;/a&gt;.&lt;/p&gt;

6) Update llms.txt canonical lists
- In /www/llms.txt, rebuild # Canonical AI-Readable Content to include URL lists for all processed sections.
- Structure as section pairs:
  - ## &lt;Section Label&gt; (Markdown)
    &lt;md URLs&gt;
  - ## &lt;Section Label&gt; (Plain Text Versions)
    &lt;txt URLs&gt;
- Keep URLs sorted by filename.
- Ensure counts in llms.txt match actual files on disk.

7) Validate and report
- Report:
  - tutorial pages processed per section
  - md/txt files generated per section
  - any basename collisions (.htm and .html same stem)
  - any exceptions (e.g., legacy files with custom naming)
  - total URLs written to llms.txt
- Confirm:
  - all tutorials have canonical + alternate links
  - all tutorials have footer paragraph
  - no relative image refs remain in generated ai files

Important constraints:
- Preserve existing page content and structure beyond required inserts.
- Do not summarize article content in generated ai files.
- Avoid duplicate insertions if rerun (idempotent behavior).</code></pre></div><p>You can see how this prompt is specifically tailored to how articles on KIRUPA are written, so do take a few moments and customize this for your content&#8217;s unique structure and path.</p><h2>Conclusion</h2><p>Whether we like it or not, AI assistants are quickly becoming the primary interface to the web. Our articles may no longer be consumed directly in a browser, but that doesn&#8217;t mean they stop mattering. It simply means the first reader is now a machine.</p><p>By making a few structural changes such as cleaner HTML, markdown and text variants, explicit linking, and an <code>llms.txt</code> index, we dramatically increase the odds that our ideas are understood, summarized accurately, and have the potential to be shared widely. Or&#8230;at least that&#8217;s the hope that I am operating under! &#128517;</p><p>As always, if you have any thoughts or comments about this, feel free to reach out on <a href="https://www.x.com/kirupa">Twitter / X</a> or on the <a href="https://forum.kirupa.com/">forums</a> or by replying to this email.</p><p>Cheers,<br>Kirupa &#128512;</p><p></p>]]></content:encoded></item><item><title><![CDATA[When is the best time to change jobs? 💼]]></title><description><![CDATA[Always be prepared for that one unexpected reorg email where you'll be working on something you don&#8217;t want to work on or working for someone you don&#8217;t want to work for.]]></description><link>https://www.kirupa.chat/p/when-is-the-best-time-to-change-jobs</link><guid isPermaLink="false">https://www.kirupa.chat/p/when-is-the-best-time-to-change-jobs</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Sun, 04 Jan 2026 18:55:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/bLNaNRiPd-o" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody - something universal about all jobs is that you&#8217;re always one unexpected reorg email away from working on <strong>something you don&#8217;t want to work on</strong> or working for <strong>someone you don&#8217;t want to work for</strong>.</p><p>Being proactive about your career reduces that risk and gives you more control over where you end up long term, and in my latest video, I dive into this as part of answering many of your questions about my own career change.</p><div id="youtube2-bLNaNRiPd-o" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;bLNaNRiPd-o&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/bLNaNRiPd-o?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>If you liked this video, please do upvote it on <a href="https://www.youtube.com/watch?v=bLNaNRiPd-o">YouTube</a> and <a href="https://www.linkedin.com/posts/kirupa_youre-always-one-unexpected-reorg-email-activity-7413644890061901824-o_H1?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC-6HABCI1mEFTHCo3xEEIZf9RtfRVaZ0E">LinkedIn</a> so that others can benefit from it &#128519;</p><h3>Every Job Has an Expiration Date</h3><p>One thing I believe is universally true&#8230;across tech and non-tech roles alike is that <strong>every job has an expiration date</strong>.</p><p>There comes a point where a role is no longer fresh. It&#8217;s no longer helping you grow. And staying in it becomes more detrimental than helpful. When that point arrives varies wildly based on your situation, but the pattern is surprisingly consistent.</p><p>I like to think about jobs the same way I think about a flight. You have the following stages:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!o1fX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!o1fX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.png 424w, https://substackcdn.com/image/fetch/$s_!o1fX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.png 848w, https://substackcdn.com/image/fetch/$s_!o1fX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!o1fX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!o1fX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.png" width="1456" height="709" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:709,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107360,&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://www.kirupa.chat/i/183466383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.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_!o1fX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.png 424w, https://substackcdn.com/image/fetch/$s_!o1fX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.png 848w, https://substackcdn.com/image/fetch/$s_!o1fX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!o1fX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4cccc15-18f2-413c-a686-35287d1c8e21_2184x1064.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 aria-hidden="true" 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><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>In each stage, what you do and run into will be different:</p><ul><li><p><strong>Takeoff</strong>: You&#8217;re ramping up. Learning the people, systems, culture, and expectations.</p></li><li><p><strong>Cruising altitude</strong>: You&#8217;re effective, confident, and operating at a high level.</p></li><li><p><strong>Descent</strong>: Things begin to decline&#8212;sometimes slowly, sometimes abruptly.</p></li></ul><p>Unless you&#8217;re the CEO (or about to be), every role eventually enters that descent phase.</p><h3>The Best Time to Look for a New Job</h3><p>This may sound counterintuitive, but the <strong>best time to look for a new job is when things are going well</strong>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kPBw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kPBw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.png 424w, https://substackcdn.com/image/fetch/$s_!kPBw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.png 848w, https://substackcdn.com/image/fetch/$s_!kPBw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.png 1272w, https://substackcdn.com/image/fetch/$s_!kPBw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kPBw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.png" width="1386" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd188a36-0f20-48ae-af06-132947417632_1386x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1386,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95215,&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://www.kirupa.chat/i/183466383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.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_!kPBw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.png 424w, https://substackcdn.com/image/fetch/$s_!kPBw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.png 848w, https://substackcdn.com/image/fetch/$s_!kPBw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.png 1272w, https://substackcdn.com/image/fetch/$s_!kPBw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd188a36-0f20-48ae-af06-132947417632_1386x816.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When you&#8217;re at cruising altitude:</p><ul><li><p>You&#8217;ve learned what the role has to teach you</p></li><li><p>You&#8217;re delivering strong results</p></li><li><p>There&#8217;s little left for either you <em>or</em> the job to extract from one another</p></li></ul><p>At that point, moving on is often a <strong>mutual decision</strong>, even if it isn&#8217;t explicitly stated.</p><p>The <strong>worst</strong> time to look for a new job is when things become chaotic, where you&#8217;re already entering the descent phase. Job searching is a job in itself, and doing it while fighting fires at work puts you in a compromised mental and emotional state.</p><p>It&#8217;s a bit like realizing milk has just passed its expiration date:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HrfP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HrfP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!HrfP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!HrfP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!HrfP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HrfP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif" width="602" height="338.625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:270,&quot;width&quot;:480,&quot;resizeWidth&quot;:602,&quot;bytes&quot;:2466822,&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;:&quot;https://www.kirupa.chat/i/183466383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HrfP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!HrfP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!HrfP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!HrfP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69473f53-6bac-468f-b230-6587d2bba5da_480x270.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 aria-hidden="true" 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><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>You <em>might</em> be fine drinking it, but do you really want to roll the dice?</p><h3>Signs It May Be Time to Start Exploring</h3><p>You don&#8217;t need to start looking the moment you hit cruising altitude, but you also don&#8217;t want to wait too long. Here are a few signals I&#8217;ve found useful:</p><p><strong>1. You&#8217;ve maximized your learning</strong><br>Nothing surprises you anymore. You can describe the system, domain, and failure modes in your sleep. New problems feel like slight variations of old ones. You&#8217;re teaching far more than you&#8217;re learning.</p><p><strong>2. Your career path has peaked</strong><br>This happens often in smaller companies&#8212;but it can happen anywhere. Your aspirations and the organization&#8217;s shape no longer align. There&#8217;s nowhere meaningful left to grow.</p><p><strong>3. You sense trouble ahead</strong><br>As you gain experience, your intuition gets sharper. If something feels off, it often is. One truth I strongly believe in is what I started this newsletter off with:</p><div class="pullquote"><p>You are always <strong>one unexpected reorg away</strong> from working on something you don&#8217;t want to work on or working for someone you don&#8217;t want to work for.</p></div><p>These changes can happen overnight, without warning. And by the time they do, it&#8217;s often already too late to respond from a position of strength.</p><h3>Maximize Optionality</h3><p>The hardest part about being proactive is that comfort can feel convincing. But the goal isn&#8217;t restlessness. The goal is <strong>optionality</strong>. You want choices:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DQZT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DQZT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.png 424w, https://substackcdn.com/image/fetch/$s_!DQZT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.png 848w, https://substackcdn.com/image/fetch/$s_!DQZT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.png 1272w, https://substackcdn.com/image/fetch/$s_!DQZT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DQZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.png" width="547" height="501.7493917274939" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:754,&quot;width&quot;:822,&quot;resizeWidth&quot;:547,&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_!DQZT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.png 424w, https://substackcdn.com/image/fetch/$s_!DQZT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.png 848w, https://substackcdn.com/image/fetch/$s_!DQZT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.png 1272w, https://substackcdn.com/image/fetch/$s_!DQZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86a57c5c-3434-4008-9a84-2e58ebe94cf6_822x754.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 aria-hidden="true" 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><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>And the best way to create choices is to explore opportunities while you still have breathing room before urgency and nonstop fires remove whatever leverage you may have.</p><p>I find that this principle applies not just to careers, but to any situation where your future depends on a constrained set of options.</p><h3>Wrapping it All Up</h3><p>So, when is the best time to change jobs? The best time is when you can leave:</p><ul><li><p>On a high note</p></li><li><p>On your own terms</p></li><li><p>With momentum rather than relief</p></li></ul><p>In every role you take, always look to maximize both <em><strong>Learning</strong></em> and being able to collect <em><strong>Great Stories</strong></em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7tmK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7tmK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!7tmK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!7tmK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!7tmK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7tmK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif" width="588" height="330.75" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:270,&quot;width&quot;:480,&quot;resizeWidth&quot;:588,&quot;bytes&quot;:569863,&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;:&quot;https://www.kirupa.chat/i/183466383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7tmK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!7tmK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!7tmK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!7tmK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f958ff-441c-47f9-9663-490ba6632c95_480x270.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 aria-hidden="true" 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><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>We often say a life well-lived is one filled with great stories. The same is true of a career. If you&#8217;re learning and building meaningful stories along the way, you&#8217;re increasing your odds of being both happy and successful in whatever comes next.</p><p>As always, if you have any thoughts or comments about this, feel free to contact me by posting on <a href="https://www.x.com/kirupa">Twitter / X</a> or on the <a href="https://forum.kirupa.com/">forums</a>.</p><p>Cheers,<br>Kirupa &#128512;</p>]]></content:encoded></item><item><title><![CDATA[Apps Are Becoming Personalized...and Disposable! ✨]]></title><description><![CDATA[Apps aren&#8217;t disappearing. They&#8217;re being demoted...and quietly being redefined by AI assistants!]]></description><link>https://www.kirupa.chat/p/apps-are-becoming-personalizedand</link><guid isPermaLink="false">https://www.kirupa.chat/p/apps-are-becoming-personalizedand</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Sun, 28 Dec 2025 11:25:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IrbM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody - for the longest time, apps were something special&#8230;and not in a <a href="https://x.com/TheSimpsons/status/1948790349851193766">good </a><em><strong><a href="https://x.com/TheSimpsons/status/1948790349851193766">The Simpsons</a></strong></em><a href="https://x.com/TheSimpsons/status/1948790349851193766"> kind of way</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IrbM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IrbM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png 424w, https://substackcdn.com/image/fetch/$s_!IrbM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png 848w, https://substackcdn.com/image/fetch/$s_!IrbM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png 1272w, https://substackcdn.com/image/fetch/$s_!IrbM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IrbM!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png" width="992" height="750.1318681318681" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:1101,&quot;width&quot;:1456,&quot;resizeWidth&quot;:992,&quot;bytes&quot;:15844753,&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://www.kirupa.chat/i/182742372?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png&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_!IrbM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png 424w, https://substackcdn.com/image/fetch/$s_!IrbM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png 848w, https://substackcdn.com/image/fetch/$s_!IrbM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.png 1272w, https://substackcdn.com/image/fetch/$s_!IrbM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4a9c59d-838d-4268-bc2c-b67149a86c4f_6199x4688.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 aria-hidden="true" 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><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>Apps were a heavy commitment. You committed to tools, frameworks, cloud providers, design systems, deployment pipelines, documentation, contractors, maintenance, and a whole lot more. Even using an app required commitment where you had to first find it, learn it, and tolerate everything it does beyond the one thing you actually needed. <strong>None of this is ideal, but that&#8217;s the best we had to work with.</strong></p><h2>Changing How Apps Are Built</h2><p>Today, AI assistants remove two kinds of friction at once: <strong>the cost of creation</strong> and the <strong>cost of abandonment</strong>. Apps can now be created in minutes and just as easily discarded. That single change quietly breaks most of the assumptions we&#8217;ve had about software for decades.</p><p>For example, I recently had a need to generate OpenGraph metadata for articles I write to replace my <a href="https://www.kirupa.com/tricks/metadata_generator.htm">earlier, hand-written version</a>. This is a tedious and boring task, but I was able to use Claude and have a working app that helps me generate this in a matter of minutes:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rdPK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rdPK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.png 424w, https://substackcdn.com/image/fetch/$s_!rdPK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.png 848w, https://substackcdn.com/image/fetch/$s_!rdPK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.png 1272w, https://substackcdn.com/image/fetch/$s_!rdPK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rdPK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.png" width="1456" height="1237" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18dfb910-200d-4538-9034-98f390b6701f_2078x1766.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1237,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:795037,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kirupa.chat/i/182742372?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.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_!rdPK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.png 424w, https://substackcdn.com/image/fetch/$s_!rdPK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.png 848w, https://substackcdn.com/image/fetch/$s_!rdPK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.png 1272w, https://substackcdn.com/image/fetch/$s_!rdPK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb910-200d-4538-9034-98f390b6701f_2078x1766.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 aria-hidden="true" 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><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>With just a few prompts, this app was built on the fly <em><strong>for me</strong></em> with a feature set optimized exactly for <em><strong>what I defined and was looking for</strong></em>.</p><p>What Claude generated for me is technically an app. While it certainly doesn&#8217;t feel like one given how this app came to life, one can&#8217;t argue with the end result. After I am done using this app, I can choose to publish it (<a href="https://claude.ai/public/artifacts/07237262-4466-4730-8858-4c367fae1f84">see here</a>) or close my tab and never come back to it again. That the option to discard this app after one use even exists would be unimaginable in traditional apps but is of no consequence to this AI-generated app where my sunk cost in time or money is negligible.</p><h2>Redefining Apps</h2><p>Now, let&#8217;s take a step back for a moment. The important shift isn&#8217;t that AI can build apps. <strong>The shift is that users are no longer asking for apps at all.</strong> They&#8217;re asking for outcomes:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CzJN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CzJN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.png 424w, https://substackcdn.com/image/fetch/$s_!CzJN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.png 848w, https://substackcdn.com/image/fetch/$s_!CzJN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.png 1272w, https://substackcdn.com/image/fetch/$s_!CzJN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CzJN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.png" width="1456" height="514" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/beb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:514,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:216556,&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://www.kirupa.chat/i/182742372?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.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_!CzJN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.png 424w, https://substackcdn.com/image/fetch/$s_!CzJN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.png 848w, https://substackcdn.com/image/fetch/$s_!CzJN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.png 1272w, https://substackcdn.com/image/fetch/$s_!CzJN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbeb786ee-601b-4c15-a5ec-d841e87440bf_2486x878.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 aria-hidden="true" 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><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 outcome can be in the form of text, images, audio, video, or an interactive interface. The big thing to note is that these are all just delivery formats. <strong>Apps aren&#8217;t disappearing, but they&#8217;re losing their privileged status.</strong></p><blockquote><p>Focusing on apps for just a moment longer, we should recognize that the average user will have no idea about what apps are. All they will know is that they now have a solution to the problem they asked the AI assistant to solve. Implementation details that we used to care about as developers and spent the bulk of our time fiddling with will no longer matter. The AI assistant will take care of all the implementation details.</p><p><strong>What people are becoming isn&#8217;t developers in the traditional sense. They&#8217;re describing problems, evaluating outputs, and iterating toward a solution. The AI assistant handles the rest.</strong></p></blockquote><h2>Welcoming the New Winners</h2><p>As AI democratizes app development, it abstracts away so many details that people and companies historically benefited from. In the example of the app I created in Claude, I never opened a code editor. I never applied any prior knowledge of web frameworks that I had. I didn&#8217;t hire a team of developers and designers to help bring my idea to life. While I had a shareable link to my published app, I don&#8217;t even know which backend cloud provider is being used to serve my app.</p><p>In this world, the most valuable product isn&#8217;t the app or the myriad of tools needed to bring the app to life. <strong>It&#8217;s the place where intent is expressed and outcomes are shaped. </strong>That&#8217;s where users will spend their time. That&#8217;s where value will accumulate. And that&#8217;s where the next generation of winners will emerge.</p><h2>Conclusion</h2><p>Before I wrap this up, I want to wish you all a very belated Merry Christmas and an early Happy New Year! There is a reason for my extended radio silence&#8230;</p><p>As some of you may know, I decided to leave Google and Firebase Studio and <a href="https://www.linkedin.com/posts/kirupa_as-agents-become-both-a-plentiful-and-necessary-activity-7403151517131694080-qAq-?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC-6HABCI1mEFTHCo3xEEIZf9RtfRVaZ0E">join Microsoft to lead a talented team of PMs</a> sitting at the forefront of how Windows can be the foundation for AI capabilities. As part of this change, my family and I have been traveling around the world for the past month. We traveled from Seattle to Egypt (Cairo, Luxor, Aswan, Abu Simbel), UAE (Dubai, Abu Dhabi), India (Coimbatore, Salem), and then back to Seattle via Tokyo. <strong>Once things settle down and the jet lag wears off, stay tuned for my regularly scheduled programming to resume in a more timely manner.</strong></p><p>As always, if you have any thoughts or comments about this, feel free to contact me by posting on <a href="https://www.x.com/kirupa">Twitter / X</a> or the <a href="https://forum.kirupa.com/">forums</a>.</p><p>Cheers,<br>Kirupa &#128512;</p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Is a CompSci Degree Still Valuable? 😱]]></title><description><![CDATA[In a world where AI can generate working code in seconds, the real value of a CS education lies in understanding why things work, not just how.]]></description><link>https://www.kirupa.chat/p/is-a-compsci-degree-still-valuable</link><guid isPermaLink="false">https://www.kirupa.chat/p/is-a-compsci-degree-still-valuable</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Sun, 09 Nov 2025 18:53:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/7ZnOoQKUPq8" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody - Artificial intelligence is totally changing (and turning upside down) how we learn and build &#8212; <strong>but what does that mean for </strong><em><strong>how</strong></em><strong> we teach?</strong></p><p>I recently sat down with <strong><a href="https://www.linkedin.com/in/elisacundiff/">Elisa Cundiff</a></strong>, an award-winning computer science instructor at Colorado State University, to talk about what it means to teach (and learn) computer science in a world where AI can answer your questions, write your code, and even grade your essays.</p><p>You can watch the full interview below:</p><div id="youtube2-7ZnOoQKUPq8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;7ZnOoQKUPq8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/7ZnOoQKUPq8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><blockquote><p>Besides <a href="https://www.youtube.com/watch?v=7ZnOoQKUPq8">Youtube</a>, you can listen/watch on <a href="https://open.spotify.com/show/5v2jquJylUg5PCmcjkf320">Spotify</a> and <a href="https://podcasts.apple.com/us/podcast/kirupa/id1650505117">Apple Podcasts</a> as well if that is your jam!</p></blockquote><h2>&#128172; Input / Output Mismatch</h2><p>A decade ago, earning a computer science degree meant mastering programming languages and algorithms and other related things:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gtqk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gtqk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.png 424w, https://substackcdn.com/image/fetch/$s_!Gtqk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.png 848w, https://substackcdn.com/image/fetch/$s_!Gtqk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.png 1272w, https://substackcdn.com/image/fetch/$s_!Gtqk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gtqk!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.png" width="938" height="848.4157303370787" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:1288,&quot;width&quot;:1424,&quot;resizeWidth&quot;:938,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gtqk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.png 424w, https://substackcdn.com/image/fetch/$s_!Gtqk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.png 848w, https://substackcdn.com/image/fetch/$s_!Gtqk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.png 1272w, https://substackcdn.com/image/fetch/$s_!Gtqk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048cd93a-7d25-4da8-928b-ca3f47f1bb04_1424x1288.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 aria-hidden="true" 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><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 end result for many of us was to get a lucrative career in the tech industry, armed with the knowledge of how to build sophisticated solutions that a computer can accelerate. As we&#8217;ve seen over the last few years, some of these assumptions are on shaky ground. What is the value of a CS education when AI assistants can accomplish similar end results with some simple prompting and without the four (or longer) year struggle in a formal education program?</p><p>Digging another level deeper, the landscape is shifting: as AI automates more technical tasks and companies reduce junior hiring, the <a href="https://www.linkedin.com/posts/the-wall-street-journal_computer-science-is-hotter-than-ever-at-us-activity-7198363972616503296-sEmV?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAC-6HABCI1mEFTHCo3xEEIZf9RtfRVaZ0E">supply of CS graduates continues to outpace demand</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H6BP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H6BP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!H6BP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!H6BP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!H6BP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H6BP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.jpeg" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;chart, histogram&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="chart, histogram" title="chart, histogram" srcset="https://substackcdn.com/image/fetch/$s_!H6BP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!H6BP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!H6BP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!H6BP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fe84bfb-6002-427c-9a1d-889087793b23_1536x1536.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 aria-hidden="true" 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><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 result is one of those paradoxes &#8212; the discipline has never been more intellectually essential, but its traditional career guarantees are less certain than ever. <strong>The inputs that go into a CS degree (time, money, struggle) and the output (stable career) are increasingly mismatched.</strong></p><h2>&#128293; Conclusion </h2><p>While none of us really know what the future of CS and knowing the fundamentals deeply looks like, one takeaway from our conversation is this:</p><div class="pullquote"><p>A computer science degree still matters &#8212; not just for learning to code, but for learning how to think critically, reason through complex systems, and question the tools we increasingly rely on.</p></div><p>What do you think? Do you agree with our conclusion? Feel free to <a href="https://forum.kirupa.com/t/does-a-computer-science-degree-still-matter/677919">comment in this forum thread</a>, reply to this post, or chime in on <a href="https://www.x.com/kirupa">Twitter / X</a>.</p><p>Cheers,<br>Kirupa &#128519;</p>]]></content:encoded></item><item><title><![CDATA[Are you a Visionary 🔥, Craftsperson ⚒️, or Operator 📝?]]></title><description><![CDATA[In a perfect day at work, what would you enjoy getting deep into the details around &#8212; the idea, the process, or the details?]]></description><link>https://www.kirupa.chat/p/are-you-a-visionary-craftsperson</link><guid isPermaLink="false">https://www.kirupa.chat/p/are-you-a-visionary-craftsperson</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Wed, 22 Oct 2025 23:59:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/TohvB5cclZo" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody - Every great product team has a mix of three archetypes that keep things moving: <strong>Visionaries </strong>&#128161;, <strong>Craftspeople </strong> &#9874;&#65039;, and <strong>Operators </strong>&#9881;&#65039;. It is important for teams to <em><strong>properly balance</strong></em> the right roles and responsibilities while keeping these archetypes in mind.</p><p>How can teams ensure this balance? My latest video dives into some simple steps you can take:</p><div id="youtube2-TohvB5cclZo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;TohvB5cclZo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/TohvB5cclZo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>There are many challenges in getting the team balance right, but one of the biggest challenges I call out revolves around identifying what archetype each person in your team falls into. Addressing this challenge requires going into something more fundamental that precedes us categorizing <em><strong>OTHERS</strong></em> in our team.</p><p>Do you know what <em><strong>YOUR</strong></em> archetype is?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-HY7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-HY7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png 424w, https://substackcdn.com/image/fetch/$s_!-HY7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png 848w, https://substackcdn.com/image/fetch/$s_!-HY7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png 1272w, https://substackcdn.com/image/fetch/$s_!-HY7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-HY7!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png" width="1200" height="720.3296703296703" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:874,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:3064874,&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://www.kirupa.chat/i/176662001?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png&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_!-HY7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png 424w, https://substackcdn.com/image/fetch/$s_!-HY7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png 848w, https://substackcdn.com/image/fetch/$s_!-HY7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.png 1272w, https://substackcdn.com/image/fetch/$s_!-HY7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc900636c-fde8-4382-8f1c-afe8e05c0b6d_2488x1494.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 aria-hidden="true" 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><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>Are you a <em><strong>visionary</strong></em>, <em><strong>craftsperson</strong></em>, or <em><strong>operator</strong></em>? If you already know, how certain are you that you are right?</p><h2>Identifying Your Archetype</h2><p>Each archetype brings with it a unique set of skills that you need to be both good at and comfortable exercising. The following visual gives you a TL;DW from my video (<a href="https://youtu.be/TohvB5cclZo?si=VwZ64eSH2uKVU11S&amp;t=194">from the 3:14 mark</a>) on what each archetype represents:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vdzY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vdzY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png 424w, https://substackcdn.com/image/fetch/$s_!vdzY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png 848w, https://substackcdn.com/image/fetch/$s_!vdzY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png 1272w, https://substackcdn.com/image/fetch/$s_!vdzY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vdzY!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png" width="1200" height="603.9024390243902" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:619,&quot;width&quot;:1230,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:1277372,&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://www.kirupa.chat/i/176662001?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png&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_!vdzY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png 424w, https://substackcdn.com/image/fetch/$s_!vdzY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png 848w, https://substackcdn.com/image/fetch/$s_!vdzY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.png 1272w, https://substackcdn.com/image/fetch/$s_!vdzY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2c6c0d9-b8a1-43ba-807e-bdb8fdece65c_1230x619.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 aria-hidden="true" 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><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>To figure out which archetype card describes you, ask yourself the following:</p><blockquote><p><strong>In a perfect day at work, what would I enjoy getting deep into the details around &#8212; the idea, the process, or the details?</strong></p></blockquote><p>The answer to this question will tell you more clearly which archetype you represent.</p><p>Now, an important detail to note is that most of us borrow traits from all of the archetypes depending on where our team or product is in its lifecycle. Some of you may be great at two or even all three of the roles, so don&#8217;t feel that you need to hang your hat on just a single defining archetype.</p><h2>Conclusion</h2><p>If you have never looked at yourself through this archetypical lens, was it an easy answer for you to figure out where you fall? If you conducted this exercise on the members of your team, are they in the right place in the organization to be successful? These are the fun questions and observations that I often ask myself when I&#8217;m trying to better understand the organization or team I am working in.</p><p>As always, if you have any thoughts or comments about this, feel free to contact me by posting on <a href="https://www.x.com/kirupa">Twitter / X</a> or the <a href="https://forum.kirupa.com/">forums</a>.</p><p>Cheers,<br>Kirupa &#128512;</p>]]></content:encoded></item><item><title><![CDATA[The Model Context Protocol (MCP) Explained — Why It’s the "USB-C for AI"]]></title><description><![CDATA[MCP is the quiet infrastructure making the &#8220;magic&#8221; of AI assistance possible &#8212; open, extensible, and human-centered. Hear from one of its core maintainers!]]></description><link>https://www.kirupa.chat/p/the-model-context-protocol-mcp-explained</link><guid isPermaLink="false">https://www.kirupa.chat/p/the-model-context-protocol-mcp-explained</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Sun, 05 Oct 2025 17:45:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/gI8ybMqORck" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m back with <a href="https://den.dev/">Den Delimarsky</a> to talk about the Model Context Protocol (MCP) &#8212; the open standard that&#8217;s quietly (ok&#8230;maybe not so quietly!) transforming how AI assistants connect to data, tools, and services.</p><p>We unpack what MCP is, why it matters, and how it&#8217;s becoming the foundation for agentic workflows, developer tools, and authentic AI experiences. Watch the full conversation below:</p><div id="youtube2-gI8ybMqORck" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;gI8ybMqORck&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/gI8ybMqORck?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><blockquote><p>Besides <a href="https://www.youtube.com/watch?v=gI8ybMqORck&amp;list=PL478wQWRhpfa3g6t2maEDJQRFTBPGxTFe">Youtube</a>, you can listen/watch on <a href="https://open.spotify.com/show/5v2jquJylUg5PCmcjkf320">Spotify</a> and <a href="https://podcasts.apple.com/us/podcast/kirupa/id1650505117">Apple Podcasts</a> as well if that is your jam!</p></blockquote><p></p><h2>The TL;DR</h2><p>The <strong>Model Context Protocol</strong> is to AI what <strong>HTTP</strong> was to the web &#8212; a universal connector that lets AI assistants securely access real-world data and tools.</p><p>It&#8217;s open, extensible, and vendor-neutral, designed to help AI work <em>with</em> humans instead of replacing them. MCP provides the &#8220;plumbing&#8221; for the magic behind next-gen assistants and agentic systems. We dive into this and more, and the following section headings and timestamps can help you jump to any topic that catches your eye.</p><p><strong>0:00 &#8211; Intro: Setting the Stage</strong><br>Kirupa introduces Den Delimarsky and outlines the episode&#8217;s focus: the <em>Model Context Protocol (MCP)</em>, an open standard enabling AI assistants to access real-world data and services.</p><p><strong>1:00 &#8211; Origins of MCP</strong><br>Den explains how he became a core maintainer of MCP after contributing improvements to the authorization spec.</p><p><strong>2:20 &#8211; What Is MCP?</strong><br>An overview of MCP as the &#8220;USB-C for LLMs&#8221; &#8212; a universal bridge that connects large language models to real-world data, tools, and APIs.</p><p><strong>4:30 &#8211; Why Not Just Use REST APIs?</strong><br>Discussion of why existing systems aren&#8217;t suited for LLMs: authentication, streaming, and standardization challenges. MCP provides a unifying layer.</p><p><strong>7:00 &#8211; Local vs Hosted MCP Servers</strong><br>The two types of MCP servers &#8212; local (stdio) and hosted (HTTP) &#8212; and how they integrate with tools like Figma.</p><p><strong>8:00 &#8211; Developer Adoption &amp; Tooling</strong><br>Kirupa connects MCP to his own work on AI-powered developer tools and the role of the MCP.json configuration.</p><p><strong>9:00 &#8211; Discoverability &amp; The MCP Registry</strong><br>Den introduces the <strong>MCP Registry</strong>, a public index of MCP servers (registry.modelcontextprotocol.io), and how it improves discovery and management.</p><p><strong>11:30 &#8211; Security &amp; Trust Challenges</strong><br>They discuss early-stage security issues, dependency trust, and parallels to NPM vulnerabilities.</p><p><strong>16:00 &#8211; Competing MCP Implementations</strong><br>On balancing an open standard with competing versions (e.g., Stripe vs PayPal analogies) and preventing fragmentation.</p><p><strong>19:30 &#8211; Why Neutrality Matters</strong><br>MCP&#8217;s vendor-agnostic design ensures it works across providers (Anthropic, Google, OpenAI, etc.).</p><p><strong>21:00 &#8211; The Road Ahead for MCP</strong><br>Den highlights upcoming work on <strong>profiles and extensions</strong> to make MCP more customizable and enterprise-ready.</p><p><strong>25:00 &#8211; Avoiding Fragmentation &amp; The Power of Community</strong><br>How MCP&#8217;s open governance prevents protocol &#8220;balkanization&#8221; and encourages convergence across competing systems.</p><p><strong>31:00 &#8211; Lessons from History: Standards Win</strong><br>They compare the rise of MCP to historical format wars (VHS vs Betamax, JSON vs XML) &#8212; standards survive when communities unite.</p><p><strong>33:00 &#8211; Agents and the Coming Paradigm Shift</strong><br>The conversation expands: MCP as the plumbing for agentic workflows where users issue natural language commands instead of using GUIs.</p><p><strong>39:00 &#8211; AI Ethics &amp; Authenticity</strong><br>Den voices concern about corporate bias and authenticity &#8212; ensuring agents serve users, not advertisers.</p><p><strong>44:00 &#8211; Democratization vs AI Slop</strong><br>They reflect on the flood of low-effort AI content, &#8220;AI slop,&#8221; and the tension between creativity and convenience.</p><p><strong>52:00 &#8211; Empowerment Through AI</strong><br>Den emphasizes using AI to <strong>empower humans</strong>, not replace them &#8212; drawing parallels between art, code, and human creativity.</p><p><strong>59:00 &#8211; Taste and the Future of Work</strong><br>Both discuss &#8220;taste&#8221; as the differentiator in an AI world where anyone can generate apps or art &#8212; design sense and judgment will matter most.</p><p><strong>1:06:00 &#8211; AGI, Creativity, and Human Uniqueness</strong><br>Philosophical exploration of whether AI can ever replicate human taste or creativity &#8212; skepticism prevails.</p><p><strong>1:15:00 &#8211; SpecKit, Guardrails, and the Future of Coding</strong><br>Kirupa mentions <em>SpecKit</em> and the need for determinism and guardrails in AI-assisted development.</p><p><strong>1:18:00 &#8211; Expertise Still Matters</strong><br>Even in an AI-augmented world, secure and maintainable software will still depend on experienced engineers.</p><p><strong>1:21:00 &#8211; Agentic Workflows and the SR Agent Future</strong><br>They discuss automated debugging, observability, and self-healing systems &#8212; the rise of AI &#8220;SREs.&#8221;</p><p><strong>1:24:00 &#8211; Cutting Through the Hype</strong><br>Final reflections on distinguishing signal from noise in the AI space, and how MCP fits into the long-term infrastructure of agentic systems.</p><p><strong>1:25:30 &#8211; Conclusion: Plumbing for the Magic</strong><br>They wrap up by tying it back to the beginning: MCP is the invisible plumbing that will make AI interactions feel like magic.</p><h2>Conclusion</h2><p>MCP shows that progress in AI isn&#8217;t just about smarter models &#8212; it&#8217;s about better connections. By setting a common standard, we&#8217;re paving the way for tools that truly work together. Thanks for joining Den and me on this deep dive, and see you in the next episode!</p><p>If you have any thoughts or comments about this, feel free to contact me by posting on <a href="https://www.x.com/kirupa">Twitter / X</a>, the <a href="https://forum.kirupa.com/">forums</a>.</p><p>Cheers,<br>Kirupa &#128512;</p><p></p>]]></content:encoded></item><item><title><![CDATA[Learn to code so...you never have to code! 🧑‍💻]]></title><description><![CDATA[In the past, we learned to code so that we can code more effectively. In the future, we'll be learning to code so that we'll never have to code at all.]]></description><link>https://www.kirupa.chat/p/learn-to-code-soyou-never-have-to</link><guid isPermaLink="false">https://www.kirupa.chat/p/learn-to-code-soyou-never-have-to</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Fri, 12 Sep 2025 20:40:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!A0-9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody - building on <a href="https://www.kirupa.chat/p/vibe-coding-expertise-mega-win">my earlier post on vibe coding</a>, a discomforting realization is this:</p><div class="pullquote"><p>In the past, we learned to code so that we can code more effectively. In the future, we'll be learning to code so that we'll never have to code at all.</p></div><p>If I had to simplify this into meme format (which is all the rage these days, so I hear!), it would be this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A0-9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A0-9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg 424w, https://substackcdn.com/image/fetch/$s_!A0-9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg 848w, https://substackcdn.com/image/fetch/$s_!A0-9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!A0-9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A0-9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg" width="602" height="338.7321937321937" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:395,&quot;width&quot;:702,&quot;resizeWidth&quot;:602,&quot;bytes&quot;:null,&quot;alt&quot;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!A0-9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg 424w, https://substackcdn.com/image/fetch/$s_!A0-9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg 848w, https://substackcdn.com/image/fetch/$s_!A0-9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!A0-9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdccbbf67-25d6-4bb3-894e-8d78b0e46436_702x395.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 aria-hidden="true" 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><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 sounds counterintuitive, but hear me out. <strong>Thanks to increasingly powerful AI assistants, coding has joined a list of activities that we&#8217;ll never have to actively get our hands dirty with.</strong> In terms of what is important or not important in this world is this:</p><ol><li><p><strong>&#9989; Important:</strong> the idea of what we want to build or modify</p></li><li><p><strong>&#10060; Not important:</strong> how the idea gets translated into reality</p></li><li><p><strong>&#9989; Important:</strong> ensuring that our AI assistant&#8217;s output works and meets our quality bar</p></li></ol><p>If you and I didn&#8217;t know how to write a single line of code, we would be quite successful in iterating through Steps #1 and #2. If all we are building are sample apps or fun little demos, we don&#8217;t have to go further.</p><p>When it comes to taking a vibe coding app and deploying it for production, Step #3 becomes critical. We need to not only test the functionality of the app, we will need to review the code to ensure that there are no glaring red flags. For example, are we authenticating with external services in a safe way? Are we ensuring passwords and secrets aren&#8217;t being exposed to the client? Are we adding the appropriate safeguards to avoid someone from exhausting any API quotas by deliberately misusing our app? Are we following performance best practices?</p><p><strong>This is why successful vibe coding requires us to be very familiar with the technical details of our code and architecture.</strong> We need to be able to spot mistakes. We need to be able to unblock our AI assistant if it gets stuck, and this unblocking will require being specific about technical details. <strong>How can we be good at this?</strong> We become good at this by having learned how to build software in the first place. We need to have learned how to code something at a high quality. We need to understand what good implementations and bad implementations look like. All of this can only come from experience. Once you have learned the ins and outs of how to build software, you can better guide the AI assistant. <strong>All of this guiding can be done without actually having to write code.</strong></p><p>For example, let&#8217;s say I have to divide 8 into 164. Because I know what division looks like, I can confidently use a calculator instead of doing the calculation manually:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K2RT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K2RT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.png 424w, https://substackcdn.com/image/fetch/$s_!K2RT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.png 848w, https://substackcdn.com/image/fetch/$s_!K2RT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.png 1272w, https://substackcdn.com/image/fetch/$s_!K2RT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K2RT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.png" width="1354" height="924" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:924,&quot;width&quot;:1354,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:371588,&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://www.kirupa.chat/i/173032471?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.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_!K2RT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.png 424w, https://substackcdn.com/image/fetch/$s_!K2RT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.png 848w, https://substackcdn.com/image/fetch/$s_!K2RT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.png 1272w, https://substackcdn.com/image/fetch/$s_!K2RT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5155fd6-3e71-4a8b-9df7-049249180a6d_1354x924.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 aria-hidden="true" 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><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 calculator didn&#8217;t replace my need to know math. It just sped up my process of going from <em><strong>problem</strong></em> to <em><strong>solution</strong></em> because I know what to tell the calculator to do. I know this from having spent a lot of time when I was younger doing long division by hand and knowing the details of what is going on. Coding is similar. The more you and I know how to code, the more you and I can effectively guide our AI assistant to write all of the code for us. Ironic, right? &#128517;</p><h2>Till Next Time</h2><p>At the end of the day, vibe coding doesn&#8217;t mean throwing away everything we&#8217;ve learned&#8212;it means putting that knowledge to work in a new way. The more we understand how software is built, the better we can guide AI to do the heavy lifting for us. Think of it as moving from <em><strong>crafting every brick by hand</strong></em> to <em><strong>being the architect who knows exactly how the house should stand</strong></em>. The skills we&#8217;ve built don&#8217;t go away. Far from it. Instead, our skills just evolve into sharper tools for a different kind of creation.</p><p>If you have any thoughts or comments about this, feel free to contact me by posting on <a href="https://www.x.com/kirupa">Twitter / X</a>, the <a href="https://forum.kirupa.com/">forums</a>.</p><p>Cheers,<br>Kirupa &#128512;</p>]]></content:encoded></item><item><title><![CDATA[Vibe Coding + Expertise = Mega Win! 🏆]]></title><description><![CDATA[Vibe coding can help you go far, but the best winning combination is one where you combine vibe coding with deep expertise of what good code should look like.]]></description><link>https://www.kirupa.chat/p/vibe-coding-expertise-mega-win</link><guid isPermaLink="false">https://www.kirupa.chat/p/vibe-coding-expertise-mega-win</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Fri, 08 Aug 2025 17:39:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wkjp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody - these days, I am a part of the <em><strong>vibe coding</strong></em> club. I sit down, describe my problem using natural language, and the AI takes care of it from there:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wkjp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wkjp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png 424w, https://substackcdn.com/image/fetch/$s_!wkjp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png 848w, https://substackcdn.com/image/fetch/$s_!wkjp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png 1272w, https://substackcdn.com/image/fetch/$s_!wkjp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wkjp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png" width="604" height="577.6474694589878" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1096,&quot;width&quot;:1146,&quot;resizeWidth&quot;:604,&quot;bytes&quot;:79946,&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://www.kirupa.chat/i/170328576?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.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_!wkjp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png 424w, https://substackcdn.com/image/fetch/$s_!wkjp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png 848w, https://substackcdn.com/image/fetch/$s_!wkjp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.png 1272w, https://substackcdn.com/image/fetch/$s_!wkjp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb894f3f6-431f-40b3-8d7a-966635ffeebf_1146x1096.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 aria-hidden="true" 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><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 workflow has been a huge time saver, especially for the types of things I vibe code, which are usually dynamic animations:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-6FH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-6FH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.png 424w, https://substackcdn.com/image/fetch/$s_!-6FH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.png 848w, https://substackcdn.com/image/fetch/$s_!-6FH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.png 1272w, https://substackcdn.com/image/fetch/$s_!-6FH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-6FH!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.png" width="1200" height="793.6813186813187" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87131105-d990-4635-865c-babf4ae1e544_3210x2122.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:963,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:1120228,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kirupa.chat/i/170328576?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!-6FH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.png 424w, https://substackcdn.com/image/fetch/$s_!-6FH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.png 848w, https://substackcdn.com/image/fetch/$s_!-6FH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.png 1272w, https://substackcdn.com/image/fetch/$s_!-6FH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87131105-d990-4635-865c-babf4ae1e544_3210x2122.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 aria-hidden="true" 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><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>Animation code is a lot like any other code we may have to write. There is a lot of busy work, and the more unique/creative parts of the code, where we humans can add value, happen quite a while later. This is where AI assistants really shine. They remove a lot of the boringness and struggle that used to be a part of writing code:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OkwK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OkwK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.png 424w, https://substackcdn.com/image/fetch/$s_!OkwK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.png 848w, https://substackcdn.com/image/fetch/$s_!OkwK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.png 1272w, https://substackcdn.com/image/fetch/$s_!OkwK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OkwK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.png" width="637" height="474.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1084,&quot;width&quot;:1456,&quot;resizeWidth&quot;:637,&quot;bytes&quot;:174663,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kirupa.chat/i/170328576?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.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_!OkwK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.png 424w, https://substackcdn.com/image/fetch/$s_!OkwK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.png 848w, https://substackcdn.com/image/fetch/$s_!OkwK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.png 1272w, https://substackcdn.com/image/fetch/$s_!OkwK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0683c3cc-2fa1-4658-91e9-252f584e997e_2068x1540.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 aria-hidden="true" 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><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 us writing boilerplate code, fixing simple bugs, or doing other non-creative tasks that get in the way of building something cool, we delegate all of that to an AI assistant. We focus on the cool and fun parts instead.</p><h2>But&#8230;</h2><p>What I have also noticed is this. Across all of the AI assistants that I regularly try (Gemini, Claude, ChatGPT), they do a great job turning my (often) vague prompts into working code. That&#8217;s the good news. <strong>The bad news is about the quality of the generated code itself.</strong></p><p>Getting back to my <em>vibe coded</em> animations world, when I inspect the generated code, I can usually spot many inconsistencies, bad practices, or missing edge cases. The following is one of several common issues that I see:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gi20!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gi20!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.png 424w, https://substackcdn.com/image/fetch/$s_!Gi20!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.png 848w, https://substackcdn.com/image/fetch/$s_!Gi20!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.png 1272w, https://substackcdn.com/image/fetch/$s_!Gi20!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gi20!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.png" width="572" height="330.0753424657534" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7101273-23de-483a-b755-187d067ef45a_1168x674.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:674,&quot;width&quot;:1168,&quot;resizeWidth&quot;:572,&quot;bytes&quot;:143991,&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://www.kirupa.chat/i/170328576?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.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_!Gi20!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.png 424w, https://substackcdn.com/image/fetch/$s_!Gi20!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.png 848w, https://substackcdn.com/image/fetch/$s_!Gi20!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.png 1272w, https://substackcdn.com/image/fetch/$s_!Gi20!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7101273-23de-483a-b755-187d067ef45a_1168x674.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 aria-hidden="true" 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><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 thing to emphasize is that none of these problems are deal breakers.</strong> The animation actually works for the most part. It is just that it doesn&#8217;t meet my bar for what a high quality implementation should look like, and this is a bar that I have built by simply writing a lot of animation code over the past decade are two and learning from many MANY mistakes. For the coding scenarios that you are very familiar with, there is a good chance that the AI-generated code won&#8217;t meet your bar as well.</p><p><strong>The interesting thing is that the AI assistants do know how to generate high-quality code.</strong> They just need you and I to either prompt them with more details up front or revise the output with a more detailed follow-up prompt:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ROwd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ROwd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.png 424w, https://substackcdn.com/image/fetch/$s_!ROwd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.png 848w, https://substackcdn.com/image/fetch/$s_!ROwd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.png 1272w, https://substackcdn.com/image/fetch/$s_!ROwd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ROwd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.png" width="725" height="378.4340659340659" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3306852b-b863-4415-8717-d11d42c75b1b_1602x836.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1456,&quot;resizeWidth&quot;:725,&quot;bytes&quot;:312135,&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://www.kirupa.chat/i/170328576?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.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_!ROwd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.png 424w, https://substackcdn.com/image/fetch/$s_!ROwd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.png 848w, https://substackcdn.com/image/fetch/$s_!ROwd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.png 1272w, https://substackcdn.com/image/fetch/$s_!ROwd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3306852b-b863-4415-8717-d11d42c75b1b_1602x836.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is a gotcha because this isn&#8217;t something that just works, at least not today. Being able to do this requires us to either proactively or reactively specify likely edge cases and pitfalls. It requires us to remind the AI assistant to follow certain best practices that only those with deep experience in this space would know. This means that you and I still need to have a certain level of familiarity with what the AI assistance is generating to be able to do that in the first place.</p><p>This leads to my general observation about how to vibe code effectively. <strong>The more you and I know about the underlying details of what code the AI is generating, the better we will be at vibe coding something that is high quality.</strong> This means that there is still a huge amount of value in being a domain expert in the areas that we are expecting AI to generate code for us. This also aligns with the various things we&#8217;ve seen where AI assistants still require us to play the role of code reviewer. We need to go line-by-line and ensure that our standards are being met, just like how we may treat a pull request or change from another human being:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q2o0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q2o0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.png 424w, https://substackcdn.com/image/fetch/$s_!q2o0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.png 848w, https://substackcdn.com/image/fetch/$s_!q2o0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.png 1272w, https://substackcdn.com/image/fetch/$s_!q2o0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q2o0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.png" width="984" height="542" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:542,&quot;width&quot;:984,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65372,&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://www.kirupa.chat/i/170328576?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.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_!q2o0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.png 424w, https://substackcdn.com/image/fetch/$s_!q2o0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.png 848w, https://substackcdn.com/image/fetch/$s_!q2o0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.png 1272w, https://substackcdn.com/image/fetch/$s_!q2o0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9ec0fe2-b0aa-4669-a802-98daf0117b24_984x542.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 aria-hidden="true" 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><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>Now, as the models keep improving in quality, there will be a future where we may no longer need to be domain experts around the generated code. The default output from AI assistants will automatically incorporate best practices, address edge cases, and make the sorts of smart choices that will bring a tear to your eye. That day is definitely not today. <strong>Until then, there is a lot of direct value in being very familiar with the code that is being generated.</strong></p><h2>Can you spot the bad practices / issues?</h2><p>Before I wrap this up, there was a tangible example I was working on where a lot of these issues came to light. I was creating the following animation, where the speed and direction of the infinitely scrolling grid will vary based on the mouse position:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UQWO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UQWO!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif 424w, https://substackcdn.com/image/fetch/$s_!UQWO!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif 848w, https://substackcdn.com/image/fetch/$s_!UQWO!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif 1272w, https://substackcdn.com/image/fetch/$s_!UQWO!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UQWO!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif" width="883" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:883,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14362622,&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;:&quot;https://www.kirupa.chat/i/170328576?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UQWO!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif 424w, https://substackcdn.com/image/fetch/$s_!UQWO!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif 848w, https://substackcdn.com/image/fetch/$s_!UQWO!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.gif 1272w, https://substackcdn.com/image/fetch/$s_!UQWO!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e432b1b-3c97-4a73-8d53-5b466281b710_883x540.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 aria-hidden="true" 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><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 animation was fully vibe coded, and it works. It also happens to have a lot of glaring issues in how it was built. Some issues are big. Some are quite small. Just for kicks, are you up for looking at the code and sharing your feedback on what can be improved?</p><p>If you are down for that, <a href="https://forum.kirupa.com/t/can-you-spot-some-of-the-big-issues-with-this-vibe-coded-animation/676680">take a look at the live example and full source code</a>. <strong>Reply to that thread with the main issues you find</strong>. To the first three of you who find the most correct issues, I&#8217;ll mail you a copy of one of <a href="https://www.kirupa.com/book/index.htm">my recent books</a>.</p><blockquote><p>If you are in the US &#127482;&#127480;, the mailed copy will be autographed with a random doodle included! Otherwise, it will be a regular copy mailed from Amazon.</p></blockquote><h2>Till Next Time</h2><p>With AI assistance, there will likely never be a time when we go back to writing a lot of code manually. Code writing is now a form of abstraction similar to how writing machine language and assembly code might be today for most of us. All new code will be written by an AI assistant. We will play the all-important role of reviewing the code and ensuring the output meets our standards.</p><p>If you have any thoughts or comments about this, feel free to contact me by posting on <a href="https://www.x.com/kirupa">Twitter / X</a>, the <a href="https://forum.kirupa.com">forums</a>, or by replying to this thread&#8230;or have an AI assistant do that for you. It&#8217;s all good!</p><p>Cheers,<br>Kirupa &#128512;</p>]]></content:encoded></item><item><title><![CDATA[Reminiscing About Tech in the 90's! 💻]]></title><description><![CDATA[It was the best of times. It was the bestest of times. Let's walk back to that magical time.]]></description><link>https://www.kirupa.chat/p/reminiscing-about-tech-in-the-90s</link><guid isPermaLink="false">https://www.kirupa.chat/p/reminiscing-about-tech-in-the-90s</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Wed, 23 Jul 2025 04:28:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8dgV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody - do you remember what tech was like in the 1990&#8217;s? <a href="https://www.linkedin.com/in/ACoAAAJkBFEBSueZl_JOZuTwAKLQYsDshfba0qU">Cameron Balahan</a> certainly does, and we take a trip down memory lane in this fun chat:</p><div id="youtube2-X9TA7a8TFr8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;X9TA7a8TFr8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/X9TA7a8TFr8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also watch/listen on: &#128250; <a href="https://www.youtube.com/watch?v=X9TA7a8TFr8">YouTube</a>, &#127897;&#65039; <a href="https://open.spotify.com/show/5v2jquJylUg5PCmcjkf320">Spotify</a>, and &#127822; <a href="https://podcasts.apple.com/us/podcast/kirupa/id1650505117">Apple Podcasts</a>.</p><p>Cameron is the perfect person to talk to about this topic! In the mid-1990&#8217;s, he created one of the best sites for tech enthusiasts. He created <strong><a href="https://web.archive.org/web/19990208010928/http://winshareware.com/">winshareware.com</a></strong>, a site where you could go and get the latest details on things you can download and run on your Windows machine! &#128293; </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8dgV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8dgV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png 424w, https://substackcdn.com/image/fetch/$s_!8dgV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png 848w, https://substackcdn.com/image/fetch/$s_!8dgV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!8dgV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8dgV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png" width="1456" height="1126" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1126,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1807602,&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://www.kirupa.chat/i/168442300?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.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_!8dgV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png 424w, https://substackcdn.com/image/fetch/$s_!8dgV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png 848w, https://substackcdn.com/image/fetch/$s_!8dgV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!8dgV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a22dacd-ba85-423e-bf63-db9c10fcd553_2648x2048.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 aria-hidden="true" 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><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 site, along with a handful of others such as Windrivers, Neowin, and madonion, made up my morning routine of tech sites I would visit for the latest Windows news and what beta graphics drivers I could install (on my sweet Hercules-branded nVidia GeForce 256 graphics card) to eek out a few extra points on <a href="https://benchmarks.ul.com/legacy-benchmarks">Futuremark&#8217;s 3DMark benchmark</a>.</p><p>Below is an example of one of the benchmarks that I would run after every driver install:</p><div id="youtube2-redR7w6No8U" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;redR7w6No8U&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/redR7w6No8U?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>This chat is a trip down memory lane for those of us who started off with the internet in the 1990s.</p><p>We talk about classic shareware (or nagware?) apps like WinZip and WinRar. We talk about OpenGL and DirectX and how that influenced whether you played Unreal Tournament or Quake. We talk about the Windows registry, connecting to the internet via dial-up, hunting for drivers, AOL CDs, classic video games like Math Blaster, and a whole lot more.</p><h2>Content Creation in the 1990&#8217;s</h2><p>Not only was the tech from the era pretty transformational, creating content was as well. Creating a HTML page and uploading it for others to see was the frontier of what was possible. It was cutting edge! If you didn&#8217;t have a paid FTP server (hello, mediatemple!), you used a free one like what you got from GeoCities.</p><p>Discovery of your web page was a whole different thing as well. Remember, this was a time before Google. This was a time when you manually went to various search engines and submitted your newly created page for indexing:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bn-I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bn-I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.png 424w, https://substackcdn.com/image/fetch/$s_!bn-I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.png 848w, https://substackcdn.com/image/fetch/$s_!bn-I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.png 1272w, https://substackcdn.com/image/fetch/$s_!bn-I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bn-I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.png" width="1456" height="1523" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1523,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:604354,&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://www.kirupa.chat/i/168442300?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.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_!bn-I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.png 424w, https://substackcdn.com/image/fetch/$s_!bn-I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.png 848w, https://substackcdn.com/image/fetch/$s_!bn-I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.png 1272w, https://substackcdn.com/image/fetch/$s_!bn-I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f4b9e4-068c-464b-87ad-4b8656523c47_1558x1630.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 aria-hidden="true" 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><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>You had to make sure you had your meta tags (including the now-ignored <em><strong>keywords</strong></em> field) all squared away, and then&#8230;people found your site!</p><p>There wasn&#8217;t a whole lot of algorithm smarts back then. People found your site by searching for the appropriate keywords, or they found you because another site linked to you via the handshake &#8220;I&#8217;ll link to you if you link to me&#8221; agreements. <a href="https://en.wikipedia.org/wiki/Webring">Webrings</a> and their related cousins were one of the best ways to find like-minded content. Those were simple (and fun!) times.</p><h2>What was your fondest 90&#8217;s tech memory?</h2><p>I am almost certain that most of you reading this got your start in tech in the 90&#8217;s as well. What was your most memorable tech moment? I&#8217;d love to hear about it or, even better, see a screenshot of it. Head over to the forums and post your response <a href="https://forum.kirupa.com/t/what-was-your-favorite-90s-tech-moment/676377">in this thread</a>.</p><p>Till Next Time!</p><p>Cheers,<br>Kirupa &#128517;</p>]]></content:encoded></item><item><title><![CDATA[Entrepreneurship and Community Building 🔥]]></title><description><![CDATA[After nearly 15 years, Darius and I catch-up again on life, parenting, building companies, and more.]]></description><link>https://www.kirupa.chat/p/entrepreneurship-and-community-building</link><guid isPermaLink="false">https://www.kirupa.chat/p/entrepreneurship-and-community-building</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Mon, 09 Jun 2025 23:08:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/CNnRm_bNUEM" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody - in my latest podcast episode, I got to talk with someone who I&#8217;ve known for decades, the very creative and very entrepreneury, <a href="https://www.bubs.co/">Darius Monsef</a>. You can catch the full interview below:</p><div id="youtube2-CNnRm_bNUEM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;CNnRm_bNUEM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/CNnRm_bNUEM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also watch/listen on: &#128250; <a href="https://www.youtube.com/watch?v=CNnRm_bNUEM">YouTube</a>, &#127897;&#65039; <a href="https://open.spotify.com/episode/76WDfvm24C4BOec9xehZx5">Spotify</a>, and &#127822; <a href="https://podcasts.apple.com/us/podcast/kirupa/id1650505117">Apple Podcasts</a>.</p><h2>COLOURLovers and Community Building</h2><p>Let&#8217;s go back in time to around 2004. Back in the day, browsing through color palettes and seeing a bunch of swatches wasn&#8217;t very common. That changed when Darius created one of his first popular projects, <a href="https://www.colourlovers.com/">COLOURLovers</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BoQd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BoQd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.png 424w, https://substackcdn.com/image/fetch/$s_!BoQd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.png 848w, https://substackcdn.com/image/fetch/$s_!BoQd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.png 1272w, https://substackcdn.com/image/fetch/$s_!BoQd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BoQd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.png" width="1456" height="1193" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1193,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1246172,&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://www.kirupa.chat/i/165582513?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.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_!BoQd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.png 424w, https://substackcdn.com/image/fetch/$s_!BoQd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.png 848w, https://substackcdn.com/image/fetch/$s_!BoQd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.png 1272w, https://substackcdn.com/image/fetch/$s_!BoQd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fc005a8-75df-4f01-bbd2-5aa33277aaba_2618x2146.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 aria-hidden="true" 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><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>During this time, Darius was an active member of the <a href="https://forum.kirupa.com">kirupaForums</a>, so I got a front-row seat in how he approaches product development. More importantly, I saw the great care he placed in community building, a theme that spanned all of Darius&#8217;s ventures since then, both in the online world as well as the physical world.</p><p>You can see the community theme front and center with his latest venture, <a href="https://www.rides.co">Rides.co</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5p7m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5p7m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.png 424w, https://substackcdn.com/image/fetch/$s_!5p7m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.png 848w, https://substackcdn.com/image/fetch/$s_!5p7m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.png 1272w, https://substackcdn.com/image/fetch/$s_!5p7m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5p7m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.png" width="1456" height="1116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1116,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2383594,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kirupa.chat/i/165582513?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.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_!5p7m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.png 424w, https://substackcdn.com/image/fetch/$s_!5p7m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.png 848w, https://substackcdn.com/image/fetch/$s_!5p7m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.png 1272w, https://substackcdn.com/image/fetch/$s_!5p7m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7575feb2-8fb6-4b70-9f4c-7ecfbb4a7333_2392x1834.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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s not at all surprising that community building is something that Darius invests heavily in. <strong>He views it as a core part of building successful products.</strong> This is a topic that <a href="https://www.kirupa.chat/p/community-building-b2b-style">Zach Hawtof and I touched upon earlier</a>, and it is certainly something I place a huge value on as well.</p><h2>Conclusion</h2><p>A common question I get is, &#8220;How can I get on your podcast?&#8221; The answer is easy - just ping me. While I tend to focus on people who I&#8217;ve known or followed or admired for many MANY years (for example, Darius and I go back to almost 2002 when we were both playing around with Macromedia Flash animations), if you are working on something cool that you care about greatly, I am always down for a chat.</p><p>And with that, feel free to chime in on the <a href="https://forum.kirupa.com/">forums</a>, on <a href="https://www.x.com/kirupa">Twitter / X</a>, or in the comments below with your thoughts.</p><p>Cheers,<br>Kirupa &#128517;</p>]]></content:encoded></item><item><title><![CDATA[Community Building, B2B Style! 💬]]></title><description><![CDATA[While technology trends evolve and change, the need to connect with others and build a community has remained a constant! &#128172;]]></description><link>https://www.kirupa.chat/p/community-building-b2b-style</link><guid isPermaLink="false">https://www.kirupa.chat/p/community-building-b2b-style</guid><dc:creator><![CDATA[KIRUPA 🍊]]></dc:creator><pubDate>Sun, 18 May 2025 17:59:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/5FnbOLLpmUc" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi everybody - while technology trends evolve and change, the need to connect with others and build a community has remained a constant! &#128172;<br>-----<br>In this fun chat, <strong><a href="https://www.linkedin.com/in/zhawtof/">Zach Hawtof</a></strong>, Co-Founder and CEO of &#8288;<strong><a href="https://www.linkedin.com/company/tightknitai/">Tightknit</a></strong>, and I talk about his experience with community building and how organizations that use Slack can benefit from a deeper story here.<br><br>Along the way, we touch upon a bunch of topics from NYC vs. SF, product management, the importance of SEO, authenticity (and AI-based authenticity), and a whole lot more. Full video below:</p><div id="youtube2-5FnbOLLpmUc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5FnbOLLpmUc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5FnbOLLpmUc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>You can also watch/listen on: &#128250; <a href="https://www.youtube.com/watch?v=5FnbOLLpmUc">YouTube</a>, &#127897;&#65039; <a href="https://open.spotify.com/episode/5OiMYY9FJE5GyPiG91iukK">Spotify</a>, and &#127822; <a href="https://podcasts.apple.com/us/podcast/kirupa/id1650505117">Apple Podcasts</a>.</p><h2>Importance of Community in an AI Age</h2><p>Over the past decade, there is a noticeable shift in how people interact with each other online. It is very transactional. The idea of forming close friendships, either in the real world or virtual world, has been upended by various things such as busy schedules, a pandemic where isolating oneself was promoted as the best cure, and digital devices whose sole purpose is to keep us glued to their screens to ensure we see the next ad.</p><p>This shift has been, ironically, less pronounced in the corporate world. To accomplish our day-to-day jobs, we are constantly just a few messages away from our colleagues where we utilize a combination of email / Slack / Teams / Meet / Discord / etc. to help communicate and stay in-sync. <strong>Our corporate conversations are a big part of our work community</strong>. This center of gravity can often be externalized to also allow your public users to participate in the same conversations. This is especially true if you have a product or service where product discussion, tech support, and product roadmaps can all overlap. These smaller communities don&#8217;t exclusively rely on external participation for their survival, but the external participants benefit greatly from being a part of an ongoing conversation. They see the genuine, human side of what happens behind the products and services one uses.</p><p>An example that is closer to home is the <a href="https://community.firebasestudio.dev">community forum</a> for the product I am the Product Manager for, <a href="https://firebase.studio">Firebase Studio</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hsal!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hsal!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png 424w, https://substackcdn.com/image/fetch/$s_!hsal!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png 848w, https://substackcdn.com/image/fetch/$s_!hsal!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png 1272w, https://substackcdn.com/image/fetch/$s_!hsal!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hsal!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png" width="1200" height="698.9010989010989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:848,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:893624,&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://www.kirupa.chat/i/163863176?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png&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_!hsal!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png 424w, https://substackcdn.com/image/fetch/$s_!hsal!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png 848w, https://substackcdn.com/image/fetch/$s_!hsal!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.png 1272w, https://substackcdn.com/image/fetch/$s_!hsal!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c1203a-27ad-4520-9e6f-efc51d40a851_3086x1798.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 aria-hidden="true" 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><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 number of those discussions, while initiated by a Firebase Studio <em><strong>user</strong></em>, are between <em><strong>me and some of my colleagues</strong></em> as we discuss how to address the issue in question as part of our roadmap. This is beneficial to us as a product team. This is beneficial to users as they get more clarity on our thought process behind why we may or may not do something immediately. In a world where AI can do a lot of what you and I can do easily, these moments of human connection bring about a genuineness that is getting further out of reach.</p><h2>Conclusion</h2><p>Speaking of community, when was the last time you <a href="https://forum.kirupa.com">dropped by the kirupaForums</a>? If the answer is <em><strong>Not for the past few decades!</strong></em>, I encourage you to drop by and say <strong>hello</strong>. You&#8217;ll be surprised who all from the past are still lurking and waiting for a chance to reconnect with you. At the very least, you&#8217;ll definitely get a response from me :P</p><p>See you all next time!</p><p>Cheers,<br>Kirupa &#128517;</p>]]></content:encoded></item></channel></rss>