<?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[G8N•AI]]></title><description><![CDATA[GenerationAI • Technology & Automation Coaching to help end AI overwhelm. Build frictionless systems you own.]]></description><link>https://www.g8n.ai</link><image><url>https://substackcdn.com/image/fetch/$s_!-PM9!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a4da276-eed4-45e8-b1d9-e70f864ea880_1024x1024.png</url><title>G8N•AI</title><link>https://www.g8n.ai</link></image><generator>Substack</generator><lastBuildDate>Fri, 04 Sep 2026 10:34:57 GMT</lastBuildDate><atom:link href="https://www.g8n.ai/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Ahad Amdani]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[ahadamdani@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[ahadamdani@substack.com]]></itunes:email><itunes:name><![CDATA[Ahad Amdani]]></itunes:name></itunes:owner><itunes:author><![CDATA[Ahad Amdani]]></itunes:author><googleplay:owner><![CDATA[ahadamdani@substack.com]]></googleplay:owner><googleplay:email><![CDATA[ahadamdani@substack.com]]></googleplay:email><googleplay:author><![CDATA[Ahad Amdani]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Your Claude Setup Will Be Gone in Two Years. The Design Underneath It Won’t.]]></title><description><![CDATA[Five agents, described without a single brand name, and the description has held for months]]></description><link>https://www.g8n.ai/p/your-claude-setup-will-be-gone-in</link><guid isPermaLink="false">https://www.g8n.ai/p/your-claude-setup-will-be-gone-in</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Thu, 03 Sep 2026 03:30:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yHzK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yHzK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yHzK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!yHzK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!yHzK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!yHzK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yHzK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png" width="1024" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:286237,&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.g8n.ai/i/213947161?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.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_!yHzK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!yHzK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!yHzK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!yHzK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F84bda678-55fa-40d7-af83-62b537e075a9_1024x572.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>I could lose every tool I use tomorrow and be back at work by the weekend.</p><p>Not because I keep backups. Because none of them holds the thing that matters. The chat app, the task board, the AI model, the place my writing goes. I can throw all of it away and the system I built keeps working.</p><p>I set it up that way on purpose. It&#8217;s close to the opposite of the advice everyone&#8217;s giving right now.</p><h2>Here&#8217;s my system with no product names in it</h2><p>Five helpers:</p><ul><li><p>One remembers everything and decides what happens next.</p></li><li><p>One writes and sells. </p></li><li><p>One looks things up. </p></li><li><p>One argues with the others and checks whether what they said is true, and it&#8217;s not allowed to rewrite anything, so its complaints stay complaints. </p></li><li><p>One keeps track of what&#8217;s waiting on me.</p></li></ul><p>Work shows up and becomes a card. Every card says who it&#8217;s for, what it&#8217;s for, and what&#8217;s happened to it so far. Every single action gets written down as one line: the card, the action itself, who did it, and when.</p><p>Nothing goes out to real people without me. On the path that messages strangers, that gate is strict in a specific way: the send tool looks up each message and refuses unless it finds a yes recorded by a person, and a yes written by a tool is thrown out. On the publishing path, it&#8217;s a quieter thing: a button only I can reach. </p><p>Different strengths, same rule.</p><p>Read that again and notice what&#8217;s missing. No brand names. No AI model. No app.</p><p>Two of those five have been running for months. The other three are new, added in the last few days, and here&#8217;s the part that matters: adding them didn&#8217;t change the description. It also didn&#8217;t change when I swapped what runs underneath. A design that can absorb three new workers, and a change of model, without being rewritten is the thing I&#8217;m actually claiming.</p><h2>The question everyone asks stops being true very fast</h2><p>Open almost any newsletter like this one and you&#8217;ll find the same article: here are the tools to use, here&#8217;s the stack to copy, here&#8217;s the fourteen things that will put you ahead.</p><p>I actually read a really good one this week. It listed the exact tool for fourteen different jobs.</p><p>It&#8217;ll be wrong within a year. The person who wrote it knows that, which is why he writes a new version every few months.</p><p>Tools change fast. Prices go up. A better one shows up. The one you learned gets bought by a bigger company and slowly gets worse. <em>Enshittification</em> <strong>is</strong> <strong>real</strong>. If your business is a list of products, you have signed up to redo the work every time the list changes.</p><p>The layer underneath the tools barely moves at all.</p><h2>What I could throw away this afternoon</h2><p>This isn&#8217;t a thought experiment. These are things I&#8217;ve already changed, or could change today.</p><p>The chat app: work shows up as messages, whether that&#8217;s Discord or Teams or an email inbox. Changes one small piece of code.</p><p>The task board: cards, columns, comments, done. That&#8217;s Asana, or Trello, or Linear, or the one I use - Fizzy, by 37Signals.</p><p>The AI model: today that&#8217;s Claude, and I like it. I&#8217;m using Anthropic&#8217;s Fable and Opus and Sonnet for the right-sized tasks for those models. My helpers are described in plain writing, so what runs them underneath is a setting. If something better arrives next year I change the setting, and every one of them still knows what it&#8217;s for.</p><p>The places I publish: Substack, LinkedIn and X are all driven from a browser I&#8217;m already signed into, so none of them has me locked in through a connection I would have to rebuild. When Substack added a scheduler for Notes, switching to it took one morning, because my system already knew what a scheduled piece was.</p><p>The part I couldn&#8217;t throw away is the part nobody sells you: what each helper is for. The rule that one of them may never rewrite another one&#8217;s work. The single gate that needs a human. Those took real thinking. They&#8217;re also just words in files I own.</p><h2>Your history should belong to you</h2><p>The clearest example is where my writing lives.</p><p>Every piece I have written, drafted, killed or published is a list of lines in a file in my own folder. Just over a thousand pieces across 222 days. 636 of them went out. Every change is one line with a time and a name on it.</p><p>The searchable copy sitting on top of that file is throwaway. I delete it and rebuild it from the lines whenever I feel like it, and I have.</p><p>If that history lived inside somebody&#8217;s app instead, I&#8217;d be renting my own memory. Most people make that trade without noticing, because the app is genuinely good and there&#8217;s an export button right there in the settings.</p><h2>Why almost nobody talks about this part</h2><p>There is nothing to buy.</p><p>Nobody advertises &#8220;spend an afternoon deciding what each part of your business is actually for.&#8221; It doesn&#8217;t look good in a screenshot.</p><p>It&#8217;s also harder. Comparing tools takes twenty minutes and feels like progress. Writing down exactly what you want, clearly enough that the right tool becomes obvious, takes an afternoon and feels like you didn&#8217;t do anything at all.</p><p>So everyone writes the tool article. It&#8217;s quick to write, quick to read, and somebody buys something at the end.</p><p>I&#8217;m not against those articles. I wrote one this week. But it answers a question that expires, and the reason mine keep working is that I answered a slower question first.</p><h2>The one question I ask before adding anything</h2><p>What happens to my system if this exact product disappears in eighteen months?</p><p>If the answer is that one small piece of code changes, it goes in and I barely think about it.</p><p>If the answer is that my history lives inside it, or that the way I work would be shaped by its buttons? Then it doesn&#8217;t go in. <em>Or</em> it goes in, and I keep my own copy of the record somewhere I own.</p><p>That question has kept me away from products that were better than the ones I use. It was worth it every time. A slightly worse tool that leaves you holding your own history beats a better one that holds it for you.</p><h2>Try this before you pick anything else</h2><p>Write down how your business works on one page, without naming a single product.</p><p>Who does what? What decides what? What has to be written down? Where a person is required, and why it has to be a person there?</p><p>Most people can&#8217;t finish that page on the first try. That&#8217;s the useful part. Every place you get stuck is a decision you have quietly handed to a product.</p><p>Then, go and pick your tools. You&#8217;ll find the choice is much easier, and much less interesting, which is exactly what you want.</p><p>PS. If you want a resilient setup for your own business, I can help.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://calendar.app.google/Q8P96Q4CvDz3WYNf7&quot;,&quot;text&quot;:&quot;Book a Call&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://calendar.app.google/Q8P96Q4CvDz3WYNf7"><span>Book a Call</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Best Product Fix Was Deleting the Feature]]></title><description><![CDATA[One instructor&#8217;s report turned a UI patch into a cleaner product decision.]]></description><link>https://www.g8n.ai/p/the-best-product-fix-was-deleting</link><guid isPermaLink="false">https://www.g8n.ai/p/the-best-product-fix-was-deleting</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 26 Aug 2026 22:30:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gFcF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gFcF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gFcF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!gFcF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!gFcF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!gFcF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gFcF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png" width="1024" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:340222,&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.g8n.ai/i/212880799?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.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_!gFcF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!gFcF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!gFcF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!gFcF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab806b90-57b5-49bf-a0b7-dede05bf07ca_1024x572.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>An instructor told me the attendance-code flow in uPoll was confusing students.</p><p>The obvious response was to make the instructions clearer. We could have changed the wording, moved the code higher on the screen, or added another line to onboarding. Each option would have been quick. Each would also have preserved the thing causing the confusion.</p><p>So we removed attendance-by-code entirely in uPoll v3.0.0.</p><p>Students now get an alert when attendance opens. There is no code to receive, remember, or type. The instructor still gets the outcome the feature was built to provide. The student carries less of the design.</p><p>That was the strongest product decision I made this week, and most product teams are organized to avoid it.</p><h2>A shipped feature starts defending itself</h2><p>Once a feature exists, every conversation about it starts with the same quiet assumption: the feature stays.</p><p>People discuss copy, placement, speed, error messages, and training. The debate sounds practical because those are all things a team can change. Nobody has to reopen the earlier decision or explain why the work was built in the first place.</p><p>The feature also has weight now. Somebody designed it. Somebody wrote the code. Tests cover it. Documentation names it. A release note announced it. Removing it can feel like admitting that work was wasted. </p><p>That feeling is expensive.</p><p>The work is already spent. Keeping the feature doesn&#8217;t recover it. It only asks every future user to keep paying for the original decision. This is known as the sunken cost fallacy: a cognitive bias where people continue an endeavor or stick with a decision because they have already invested time, money, or effort, even when quitting is the more logical choice.</p><p>In this case, the payment was tiny: one code entered during class. But tiny friction repeated across a room still becomes the product. A student doesn&#8217;t experience the architecture or the reason the feature made sense on a whiteboard. The student experiences one more thing standing between opening the app and being counted present.</p><p>The instructor&#8217;s report gave us a chance to defend the interface or protect the outcome. We chose the outcome.</p><h2>The feature wasn&#8217;t the job</h2><p>Attendance codes were one way to answer a larger need. An instructor opens attendance. Students respond. The instructor gets a usable record.</p><p>The code was an implementation detail inside that flow. Over time, it had started acting like the flow itself.</p><p>This happens easily when you build software. The database has a concept, the interface gets a screen for it, and the team starts speaking about the screen as if users arrived wanting that object. Users rarely want the object. They want to finish a piece of work with less effort and more confidence.</p><p>That distinction matters because a request about a feature can carry two very different messages.</p><p>Some feedback says the feature is doing the right job and needs a better edge. In the same release, direct user requests led to collapsible poll answer options and a grade-display fix. Those changes preserved the underlying interaction and made it easier to use.</p><p>Other feedback says the user is carrying work that belongs to the product. The attendance-code report was that kind. Improving the code screen would have made us better at asking students to do something the alert model could remove.</p><p>You can&#8217;t tell the difference by counting requests. One clear report from a person using the product in a real classroom can expose more than a backlog full of feature ideas. The useful signal is where the burden sits.</p><h2>Deletion requires a written outcome</h2><p>Teams struggle to remove features when nobody wrote down what those features were meant to accomplish.</p><p>Without that sentence, the feature becomes its own justification. Attendance-by-code exists because the product has attendance codes. The circular logic feels solid inside a roadmap review because everyone already knows the nouns.</p><h2>A plain outcome breaks the circle.</h2><p>For this flow, the outcome is an instructor opening attendance and getting a reliable record while students do as little extra work as possible. Once that is visible, the code has to compete with every other way to reach the same result. An alert is simpler for the student, so the old implementation loses.</p><p>I use four lines to pressure-test a feature before adding another patch:</p><ul><li><p>Name the user outcome without using the feature&#8217;s name.</p></li><li><p>Name the work the current design puts on the user.</p></li><li><p>Sketch the shortest path to the outcome with the current feature removed.</p></li><li><p>Compare that path with what real users have already reported.</p></li></ul><p>The first line does most of the work. If a team can&#8217;t describe the outcome without naming the interface, it has probably confused its solution with the user&#8217;s job.</p><p>The second line makes small burdens visible. A code, an extra confirmation, or a required status choice can look trivial in isolation. Users experience the accumulation.</p><p>The third line creates permission to start over on paper. No migration plan is needed yet. No estimate. Just a sketch of the cleanest route.</p><p>The fourth line keeps the exercise honest. A tidy diagram made in a product meeting is weaker than a sentence from somebody using the thing under real conditions.</p><h2>Feedback is evidence, not a specification</h2><p>The instructor didn&#8217;t arrive with a replacement architecture. The report was narrower: the attendance-code flow confused students.</p><p>That distinction protects both sides of the product conversation. Users shouldn&#8217;t have to design the system for the team. They know the moment where the work becomes awkward. The builder owns the translation from that moment into a product decision.</p><p>Sometimes the translation is direct. A request for collapsible poll options points to a clear display problem. A grade that appears incorrectly points to a clear result that needs correction. The job and the requested change line up.</p><p>The attendance report reached deeper. The confusion lived inside a step that the product could remove. Treating the report as a request for clearer code instructions would have translated the words while ignoring the work.</p><p>This is why a feature-request list isn&#8217;t a roadmap by itself. Two requests with the same number of votes can carry different product information. One asks you to make an interaction work as intended. The other reveals that the interaction has become a tax on the outcome.</p><p>I don&#8217;t need a large survey to inspect that second kind of report. I do need enough context to understand the real use, the stakes of changing it, and the path that replaces it. Deletion should come from evidence and a protected outcome, not from impatience with maintenance.</p><p>The standard is simple: remove the feature only when the replacement asks less from the user and still does the job. That is subtraction with responsibility behind it.</p><h2>AI makes the wrong fix easier to ship</h2><p>AI can produce all the obvious patches fast.</p><p>Give it a confusing screen and it can rewrite the instructions, move the field, add validation, generate tests, and draft the release note before the meeting ends. That speed makes a patch feel cheap.</p><p>The hidden cost sits with the user. Every patch that preserves the wrong interaction adds more code around the original assumption. The system gets larger while the experience barely improves.</p><p>This is one reason I don&#8217;t treat AI as the product decision-maker. It can explore five implementations in minutes. It can&#8217;t decide which burden my users should keep carrying under my name. That call needs the context around the work and responsibility for what ships.</p><p>The useful 70/30 split shows up clearly here. AI can handle a large share of production. I keep the judgment about what deserves to exist.</p><p>Faster building raises the value of deletion because adding another layer has almost no immediate friction for the builder. When code was expensive, effort forced some restraint. Now the restraint has to come from taste, observed use, and a clear outcome.</p><h2>Deleting a feature is still product work</h2><p>Removal can look like less ambition from outside the team. Inside a product that people use, it is often the cleaner form of progress.</p><p>We still had to change the flow, update the surrounding behavior, and make sure the alert model carried the job the code used to do. Deletion didn&#8217;t mean shrugging and walking away. It meant spending the effort on a simpler contract with the user.</p><p>That contract matters more as a product grows. uPoll now has 297 students, 120 lectures, 520 polls, and 1,172 responses in its production aggregates. Those are counts, not engagement claims. They tell me the product is far enough past its first demo that a small burden can reach a lot of real use.</p><p>At that stage, shipping more surface area isn&#8217;t automatically progress. The product earns trust when each new version asks less from the people using it while protecting the outcome they came for.</p><p>The attendance change did that. Students stopped carrying a code. Instructors kept the attendance flow. The product became smaller at the <strong>exact point</strong> where it became more useful.</p><h2>A ten-minute deletion review</h2><p>Open the backlog for one product or internal workflow you <em>own</em>. Pick the feature that keeps attracting requests for clearer instructions, better placement, or one more exception.</p><p>Set a timer for ten minutes and write four lines:</p><ol><li><p>The outcome the user needs.</p></li><li><p>The work the feature puts on the user.</p></li><li><p>The simplest route with the feature removed.</p></li><li><p>The evidence from someone who actually uses it.</p></li></ol><p>If the new route protects the outcome and removes work from the user, give deletion a real place in the next product conversation. Don&#8217;t let the time already spent make the decision for you.</p><p>The best fix may leave you with less software to maintain and a better product to use.</p><div><hr></div><p>PS. If your business is carrying workflows that keep getting patched but never get simpler, I help map the outcome, remove the unnecessary steps, and build the parts worth owning. Start at <a href="https://coaching.g8n.ai">coaching.g8n.ai</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://calendar.app.google/Q8P96Q4CvDz3WYNf7&quot;,&quot;text&quot;:&quot;Book a Call&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://calendar.app.google/Q8P96Q4CvDz3WYNf7"><span>Book a Call</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Three Sentences My System Couldn’t Write]]></title><description><![CDATA[My system drafted everything last week. The three things that mattered were said out loud.]]></description><link>https://www.g8n.ai/p/the-three-sentences-my-system-couldnt</link><guid isPermaLink="false">https://www.g8n.ai/p/the-three-sentences-my-system-couldnt</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 19 Aug 2026 23:02:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JxZv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JxZv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JxZv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!JxZv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!JxZv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!JxZv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JxZv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png" width="1024" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:759393,&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.g8n.ai/i/211895109?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.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_!JxZv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!JxZv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!JxZv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!JxZv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f83f628-73d9-415d-a4ee-25c999428778_1024x572.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>My content system produced every draft last week. On time, in my voice, with the images rendered and the comments already written.</p><p>Five decisions have been sitting in its queue waiting on me. The oldest is fourteen days old.</p><p>I built the thing to remove my bottleneck. It removed the one I was looking at.</p><p>So I went back through the last three weeks looking for the things that actually changed a situation for somebody, which is a different list than the things that got produced. Three came up. My system wrote none of them. All three were sentences I said out loud, in conversations, and two of them took under a minute.</p><h2>What the system actually took off my plate</h2><p>I want to be precise about this, because &#8220;AI does my content&#8221; is the kind of claim that sounds like either a boast or a confession depending on who&#8217;s reading.</p><p>Here is the real division: <strong>drafting</strong> is handled, and <strong>research</strong> reads the field and comes back with what people are actually saying this week, sourced. <strong>Voice matching</strong> is handled well enough that I stopped rewriting openings. <strong>Images render</strong>. <strong>Scheduling</strong> holds. The system will not <strong>publish</strong> anything without me, and that <strong>gate</strong> has never <em>moved</em>.</p><p>That&#8217;s a genuine amount of work <em>gone</em>. Ten months ago, most of a Tuesday went into one newsletter, a LinkedIn repurposing, and two Substack notes.</p><p>The shape of it, since a few of you asked after last week: every morning a batch gets drafted and lands in a dated folder with a queue file next to it. Each item has an ID, a status, and a line saying what it&#8217;s waiting on. Nothing moves out of that folder without me supplying the ID. When something publishes, the system writes back what actually happened, including when it failed, and I read that rather than assume the send worked. The interesting part is that almost all of the engineering went into the refusals: the checks that stop a thing from going out when a gate cannot be verified.</p><p>What&#8217;s left is smaller and much harder to hand off. Every item in that queue is a judgment call with two defensible answers. Keep pursuing a conversation that&#8217;s gone quiet, or let it close. Retire a tool that&#8217;s failed repeatedly, or keep trusting it. Approve a post the system has surfaced four separate times, or admit I&#8217;m never going to run it.</p><p>The system can draft all of those. It can argue both sides better than I can. It cannot decide, because deciding requires knowing which outcome I actually want, and I&#8217;m the only one who has that.</p><h2>Two words, in a conversation I wasn&#8217;t managing</h2><p>Late July. I was talking with someone I&#8217;ve met recently about what he was building. He had the experience, he had the track record, and he was describing his offer in a way that took four sentences and still left you unsure what you&#8217;d be buying.</p><p>I said two words, well, two that <strong>mattered</strong>: &#8220;<em>Fractional CTO</em>.&#8221;</p><p>That&#8217;s it. I didn&#8217;t write him anything. I didn&#8217;t build him anything. I named the thing he was already doing.</p><p>Eight days later he&#8217;d rebuilt his entire offer around it, had two people he trusts review the result, and sent the finished structure back to me. Along with a video he thought I should watch, which turned out to reframe how I price my own work.</p><p>I&#8217;ve thought about that exchange more than anything my system produced that month. Two words, from a twenty-year pattern library I didn&#8217;t consciously consult, and it reorganized someone&#8217;s business. Then the return came back around without either of us selling anything.</p><p>No model in my stack makes that call. The words themselves are easy. Knowing which two matter to this specific person, at this specific moment in his thinking, requires having sat in that conversation.</p><h2>The call where I gave away the framework</h2><p>Two weeks ago, a working session with someone trying to figure out where AI actually fits in her QA work at a large company.</p><p>She came in with the question most people bring, which is some version of &#8220;what should I use.&#8221; That question has no <em>good</em> answer, and answering it directly is how people end up with eleven tools and no workflow.</p><p>So I gave her a different one. Where do you want this process to be in six months, described as if it already works? Then we worked backwards from her answer.</p><p>Out of that came a decision rule she can apply without me. When the thing you want is a repeatable procedure you&#8217;ll <strong>run</strong> <strong>the same way</strong> <strong>every time</strong>, build a <em>skill</em>. When it needs to <strong>look at a situation and choose</strong>, build an <em>agent</em>. Most people build the agent first, then spend a month debugging judgment they never needed.</p><p>She left with a specific recommendation for her own workflow and a rule for the next twelve decisions. I left with a sharper version of the rule than I walked in with, because explaining it to someone with a real constraint is what exposes where it&#8217;s vague.</p><p>My system <strong>could</strong> have written a thorough article about skills versus agents. It <strong>could</strong> <strong>not</strong> have watched her describe her workflow and noticed that the future-state question was the one she needed.</p><h2>The thing <strong>he&#8217;d</strong> already told me <strong>he</strong> needed</h2><p>The third one is barely a sentence, and it&#8217;s the one I almost missed.</p><p>Someone described a problem to me in detail, as a side note to other things he was telling me about his business and how their business and team leverages AI. His team&#8217;s best AI work was stuck on one person&#8217;s laptop. Useful things being built, none of it reaching anyone else, and everybody who wasn&#8217;t already AI-literate getting more overwhelmed with each new tool.</p><p>Then he wished, almost as an aside, that he could get a daily digest of his meetings with risks flagged.</p><p>I&#8217;d been running exactly that since July. Every recorded meeting, full transcript rather than the vendor&#8217;s summary, decisions and commitments pulled out, anything needing a human pushed to a channel where I&#8217;ll see it.</p><p>Building it was never the valuable part. It already existed. The value was in hearing an aside as the actual request, and recognizing that the thing I run for myself every morning answered the problem he&#8217;d spent <strong>months</strong> trying to solve.</p><p>That&#8217;s pattern matching across two conversations that a transcript would have flattened into one line of small talk.</p><h2>What these have in common</h2><p>Each one took less than a minute of output. Together they produced more value than everything my system generated in the same period, and I say that as someone who genuinely likes what the system produces.</p><p>The common thread is that all three required being present while somebody else was thinking. Not retrieving information. Sitting in a live situation with enough context to know which of a hundred true things was the one worth saying right then.</p><p>Notice what none of them required. Speed wasn&#8217;t the constraint in any of them, and neither was volume or a better model. Two of the three were things I already knew and had already built, waiting for the moment where they applied to someone.</p><p>There&#8217;s a version of this that turns into a comfortable story about human irreplaceability, and I don&#8217;t believe that version. The models are getting better at more of this every quarter, and anyone telling you where the permanent line sits is guessing.</p><p>Here&#8217;s the narrower claim I&#8217;ll defend: right now, today, the constraint in my business is not <strong>production</strong>. It&#8217;s the number of live situations I can be genuinely present in, with enough context loaded to say the useful thing. My system expanded my output roughly fivefold. It expanded that second number by <strong>zero</strong>.</p><p>Which is why the queue <em>keeps growing</em>.</p><h2>Where this leaves you</h2><p>If you&#8217;ve built something that drafts for you, you already know the feeling. The relief lasts about three weeks and then you notice the work didn&#8217;t leave, it <strong>concentrated</strong>. What&#8217;s left is denser and it&#8217;s all yours.</p><p>None of that argues against building the system. Mine gave me back most of a day a week and I&#8217;d build it again tomorrow. It does argue for <em>being honest about what the day is for</em>.</p><p>I&#8217;ve started treating the queue as the actual job rather than the overhead. Five open decisions is not an embarrassing backlog, it&#8217;s the accurate measure of what only I can do. <em>Fourteen days</em> is too long, though, and that one&#8217;s on me.</p><p><strong>Do this in the next ten minutes.</strong> Open whatever holds your undone work. Go through it once and mark every item that is genuinely a decision rather than a task, meaning two defensible answers and no amount of research settles it. Count them. That number is your real workload now. Everything else is production, and production is the part you can hand off.</p><p>Then take the oldest one and decide it today. The answer may well turn out wrong. It has been costing you attention every time you look at that list, and a decided-wrong is cheaper than an open-forever.</p><p>Mine was fourteen days old. I closed it this morning.</p><div><hr></div><p><em>PS. If you&#8217;re staring at a list like that and most of it turns out to be production rather than decisions, that&#8217;s the gap I help people close. I map how the work actually runs today, build the pieces that should run without you, and stay long enough to see whether your team is still using any of it in month five. Reply to this email and tell me what&#8217;s on your list.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://calendar.app.google/Q8P96Q4CvDz3WYNf7&quot;,&quot;text&quot;:&quot;Book a Call&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://calendar.app.google/Q8P96Q4CvDz3WYNf7"><span>Book a Call</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[When the Model You Rented Disappears]]></title><description><![CDATA[It was gone for eighteen days. Nobody who built on it picked any of those dates.]]></description><link>https://www.g8n.ai/p/when-the-model-you-rented-disappears</link><guid isPermaLink="false">https://www.g8n.ai/p/when-the-model-you-rented-disappears</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Thu, 13 Aug 2026 01:01:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!n-Da!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n-Da!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n-Da!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!n-Da!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!n-Da!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!n-Da!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n-Da!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6287031,&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.g8n.ai/i/210968426?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!n-Da!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!n-Da!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!n-Da!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!n-Da!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e012b42-4712-4fde-8953-7af1e3cb9af8_2752x1536.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>Anthropic&#8217;s most capable model went live on June 9th. By June 12th it was gone. On July 1st it came back.</p><p>Eighteen days, and nobody who had built on it picked a single one of those dates.</p><p>That&#8217;s the part worth keeping now that the panic has passed. Fable 5 launched with a million-token context window and the best coding score anyone had posted, free to paying subscribers, and people wired it into their products the way you wire anything that looks permanent. Then the Commerce Department ordered access suspended under export-control rules, citing national security. The instruction covered any foreign national, inside or outside the United States, including Anthropic&#8217;s own employees. There was no way to comply narrowly on that deadline, so the model went dark for everyone. Two and a half weeks later the controls were lifted and it returned.</p><p>I&#8217;m not writing this to pile onto Anthropic. I use their tools every day, and an impossible order arrived with a clock on it. I&#8217;m writing it because of what those eighteen days did to people who had made one model &#8220;load-bearing&#8221;, and because the ending makes the lesson easier to ignore than it should be.</p><h2>Rented reach, rented foundations</h2><p>I&#8217;ve said for a while that the followers you collect on a platform aren&#8217;t yours. You rent access to them, and then the landlord changes the rules whenever they want.</p><p>Fable 5 pointed that same lesson at a different part of the stack.</p><p>A legal-AI startup called Legion went to court over it, because their product stopped working the moment the model did. Their filing put it plainly: every day the directive held disrupted their product and operations, sidelined their engineers, and eroded the company&#8217;s ability to survive in a field defined by continuous access to the most capable models. Legion did exactly what everyone tells you to do. They built on the best model available, and then they learned what &#8220;available&#8221; means when it depends on a vendor and a government you don&#8217;t control.</p><p>Across developer forums the conversation shifted inside a week. It stopped being about which model scores highest and started being about single points of failure. Teams that had hard-coded one provider spent those days building the ability to fail over to another. The ones who already could just kept working.</p><p>Tying your business to one frontier model isn&#8217;t a safety net. It&#8217;s a hope.</p><h2>Draw the line before you need it</h2><p>You can&#8217;t self-host a frontier lab, and you shouldn&#8217;t try. What you can do is decide, in advance and in writing, which parts of your system have to be yours and which parts you&#8217;re happy to rent.</p><p>I run my business on something I built called Core: my CRM, my tasks, my content, and the record of what actually shipped. That lives somewhere I control and can move. I self-host the pieces that are genuinely mine, the hosting and email behind my core workflow product. Everything else is a deliberate rental. Supabase runs my production databases, and it earns its keep with backups and security I&#8217;d otherwise be maintaining at two in the morning. Kit and Substack handle publishing. All in, I&#8217;m paying somewhere around a hundred dollars a month across managed services, and that number goes up as I ship more.</p><p>Sovereignty was never a cheap monthly bill or cancelling all your SaaS. It&#8217;s owning the core and renting only what genuinely earns its place.</p><p>The models sit firmly on the rented side, and they&#8217;re deliberately swappable. When one&#8217;s best for a job, I use it. When it&#8217;s gone, I route around it. The value was never in any single model; it&#8217;s in the <strong>harness</strong> around it, the contracts between the pieces, and knowing my own work well enough to point whatever model is standing at the problem.</p><h2>The lane nobody can switch off</h2><p>Since June I&#8217;ve been building one piece of insurance, and it isn&#8217;t a second subscription.</p><p>At 1:46 in the morning last week, two models running on my own laptop each drove a 39-turn research loop with live web search across ten topics, and both produced valid structured reports. No API bill, no account, no policy anywhere that could switch them off mid-run.</p><p>They&#8217;re not as good as the frontier models. That isn&#8217;t the point. The point is that a lane nobody can revoke changes what the revocable lanes are allowed to cost you. Bounded, repetitive, verifiable work is a good candidate: research, extraction, summarizing, the tasks where you can check the output yourself in seconds.</p><p>I&#8217;d also rather state the reason plainly than dress it up. Quota exhaustion is a routine operating condition here, not an incident. And the subscription policies underneath all of this have reversed three times in four months, which I keep on my risk list rather than in my feelings. Owning one lane outright is how a policy change stops being an outage.</p><h2>What this isn&#8217;t</h2><p>It&#8217;s easy to turn one strange month into a sermon, so let me be careful.</p><p>This isn&#8217;t an argument to abandon the big models. They&#8217;re remarkable, they do things nothing on my laptop can approach, and you should use them. You also don&#8217;t need an elaborate five-provider routing layer you&#8217;ll never maintain. Building that before you need it is its own kind of trap.</p><p>And I&#8217;m not predicting a repeat. The controls lifted, the model came back, and the specific politics of June may never recur. What you got was a free, low-stakes look at what a hard dependency feels like when it fails. The next one will cost more than a look.</p><h2>Do this in the next ten minutes</h2><p>Open whatever runs your business and find your single biggest dependency on something you don&#8217;t control. The model behind your app. The platform that holds your audience. The service that holds your data.</p><p>Write one sentence: if this disappeared for three days, here&#8217;s exactly what I&#8217;d do.</p><p>If you can answer cleanly, you own the seam and you&#8217;re fine. If the honest answer is that you&#8217;d be stuck, you&#8217;ve found the first thing worth fixing, and it starts smaller than you&#8217;d think. Export the data. Write down the manual fallback. Turn one hard-coded provider into a setting you can change.</p><p>You don&#8217;t need to predict the next directive. You need one dependency you&#8217;ve stopped pretending is permanent.</p><p>If you want help working out which layer to own first, and then building it, that&#8217;s exactly what I do with operators.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://calendar.app.google/Q8P96Q4CvDz3WYNf7&quot;,&quot;text&quot;:&quot;Book a Call&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://calendar.app.google/Q8P96Q4CvDz3WYNf7"><span>Book a Call</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Decisions That Carried the Outage]]></title><description><![CDATA[My AI went dark for two days. The mornings shipped anyway, on rules written three weeks earlier.]]></description><link>https://www.g8n.ai/p/the-decisions-that-carried-the-outage</link><guid isPermaLink="false">https://www.g8n.ai/p/the-decisions-that-carried-the-outage</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 05 Aug 2026 17:35:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Fk6a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fk6a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fk6a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png 424w, https://substackcdn.com/image/fetch/$s_!Fk6a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png 848w, https://substackcdn.com/image/fetch/$s_!Fk6a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png 1272w, https://substackcdn.com/image/fetch/$s_!Fk6a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fk6a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png" width="708" height="397" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:397,&quot;width&quot;:708,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:207592,&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.g8n.ai/i/209880649?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.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_!Fk6a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png 424w, https://substackcdn.com/image/fetch/$s_!Fk6a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png 848w, https://substackcdn.com/image/fetch/$s_!Fk6a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.png 1272w, https://substackcdn.com/image/fetch/$s_!Fk6a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c50df1-b064-4c50-8cd4-4fb51a71a14c_708x397.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>At 1:19 in the morning on Saturday, my primary AI assistant hit its usage ceiling and went dark for two days.</p><p>I found out later that morning, the way you find out about good news: nothing was wrong. The Saturday content batch was drafted, staged, and waiting for my review, exactly where it always is. Sunday ran the same way. A backup had taken over both mornings, followed the same rules, and left the same paper trail.</p><p>Nothing about that weekend was lucky. Every decision that carried it was made three weeks earlier, in calm conditions, when nothing was on fire. That gap, between when protection gets designed and when it gets tested, is what this edition is about.</p><h2>The three decisions</h2><p><strong>A takeover contract, written down where any tool can read it.</strong> There&#8217;s a small file on disk for each day. It says who owns the day&#8217;s run, when they claimed it, and what state the work is in. The rule lives in the file, in plain text: if the owner goes quiet for forty-five minutes without delivering, or marks the day failed, the backup may take over. A rule agreed on in advance and enforced by whoever shows up, instead of a meeting or a 7 a.m. judgment call.</p><p>When the primary went dark, the backup didn&#8217;t have to decide anything. It read the file, saw the conditions were met, and started working. The decision had been made weeks before, by me, once.</p><p><strong>A deliberately underpowered backup.</strong> The backup can draft everything and publish nothing. It works in a sandbox with no network access: it can&#8217;t publish or email anything, and it can&#8217;t touch a live system. A separate delivery step, with its own checks, moves finished work to where I review it.</p><p>I weakened the backup on purpose, and trust had nothing to do with it. Permissions are the honest form of governance. Anyone can write a policy document that says &#8220;the backup will be careful.&#8221; The sandbox makes carefulness structural. When it took over, the worst it could possibly do was already decided, and it was small.</p><p><strong>A gate that doesn&#8217;t move.</strong> Nothing publishes under my name without my word. That was true when my usual assistant was working, it was true while the backup ran the mornings, and it will be true for whatever model I&#8217;m running next year. The gate outranks the tools on both sides of it. Swap everything else out and the one thing a reader can rely on is unchanged: a human decided this was worth their time.</p><h2>What broke anyway, and why that was fine</h2><p>Honesty requires the other half. The backup couldn&#8217;t do everything. The parts of my morning routine that need live reads of the outside world, engagement data, other people&#8217;s posts, simply didn&#8217;t happen for two days. Those are exactly the powers the backup doesn&#8217;t have.</p><p>That&#8217;s isn&#8217;t a hole in the design. That <strong>is</strong> the design. The blast radius of the outage was decided in advance: drafting continues, publishing waits for me, and anything requiring live access pauses cleanly instead of running on stale assumptions. I&#8217;d rather lose two days of engagement plans than have a backup improvise with yesterday&#8217;s picture of the world.</p><p>A colleague-in-craft put the principle better than I had: <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Charlotte Ledoux&quot;,&quot;id&quot;:30007326,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!TWOB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b9f229-e6b2-4839-bc95-ddb75482793e_750x750.jpeg&quot;,&quot;uuid&quot;:&quot;3b84da95-8415-4198-b045-e620091811ab&quot;}" data-component-name="MentionToDOM"></span> wrote this week that AI agent governance is a design decision, not a clean-up job, and that most teams do it in the wrong order. They deploy, then discover what the agent shouldn&#8217;t have been able to do. The outage was my proof of the right order. By the time a system is being tested for real, the only decisions that count are the ones you already made.</p><h2>One detail I keep coming back to</h2><p>On Monday morning, with the primary back online, the backup still claimed the day first. It woke at 7:37. The primary showed up at 8:00 and found the work already staged, with a note in the contract file saying so. No collision, no duplicate, no confusion, because the same file that handles disasters also handles ordinary mornings.</p><p>Systems that only exist for emergencies rot before the emergency arrives. The takeover contract works because it isn&#8217;t emergency equipment. It runs every single day, which means it was rehearsed hundreds of times before it mattered.</p><h2>The ten-minute version for your business</h2><p>Pick one process that would hurt if you were unreachable for two days. Invoicing, client replies, publishing, payroll approval, whatever stings to imagine dropped.</p><p>Write three lines about it, somewhere your backup person or tool can actually see:</p><ol><li><p>Who owns this, and how would anyone know they&#8217;ve gone quiet?</p></li><li><p>Who takes over, and after how long?</p></li><li><p>What is the taker-over explicitly NOT allowed to do without you?</p></li></ol><p>That third line is the one people skip, and it&#8217;s the one that matters most. A backup with unlimited permissions isn&#8217;t a safety net. It&#8217;s a second way to have an accident.</p><p>The full system can come later. Something better already happened: the next outage now has rules waiting for it instead of improvisation.</p><p>If you&#8217;d like systems like this running your business, calm on their worst weekend, that&#8217;s what we build together, step by step, in coaching. The strategy call is thirty minutes, and you&#8217;ll leave with at least one takeover rule worth writing down. Book whenever suits you.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://calendar.app.google/Q8P96Q4CvDz3WYNf7&quot;,&quot;text&quot;:&quot;Book a Call&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://calendar.app.google/Q8P96Q4CvDz3WYNf7"><span>Book a Call</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Agents Were Following the Process]]></title><description><![CDATA[My AI agents kept stating stale facts as current. The cause was hiding in my own instructions.]]></description><link>https://www.g8n.ai/p/the-agents-were-following-the-process</link><guid isPermaLink="false">https://www.g8n.ai/p/the-agents-were-following-the-process</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 29 Jul 2026 20:01:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!s-6Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s-6Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s-6Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png 424w, https://substackcdn.com/image/fetch/$s_!s-6Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png 848w, https://substackcdn.com/image/fetch/$s_!s-6Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png 1272w, https://substackcdn.com/image/fetch/$s_!s-6Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s-6Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png" width="708" height="396" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:396,&quot;width&quot;:708,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:163717,&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.g8n.ai/i/209021164?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.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_!s-6Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png 424w, https://substackcdn.com/image/fetch/$s_!s-6Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png 848w, https://substackcdn.com/image/fetch/$s_!s-6Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.png 1272w, https://substackcdn.com/image/fetch/$s_!s-6Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde9303ce-8da6-4561-8821-fdb6f1e012ee_708x396.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>Last week I sat down to review a document that existed for exactly one reason: to fix the problem of my AI agents stating stale information as if it were current fact.</p><p>Inside it, I found a stale snapshot stated as current fact.</p><p>The builder assigned to implement the fix caught it. That was the seventh time in one session that an agent in my fleet had asserted something outdated as if it were live truth. And the seventh one was hiding inside the cure.</p><p>I want to walk you through what we found when we finally stopped blaming the agents, because the answer turned out to be about my business, and probably yours, more than it was about AI.</p><p>Last week I published the full checklist I run before trusting any AI output. If it didn&#8217;t hit your inbox, it&#8217;s <a href="https://www.g8n.ai/p/the-checklist-i-run-before-i-trust">here</a>. Its third check, did I verify it or did I trust the report, is the one this whole story is about. This was the week that check earned its keep inside my own system.</p><h2>Seven wrong facts, zero lies</h2><p>Here&#8217;s the part that made this hard to diagnose. None of the seven assertions were hallucinations. Every single one had been true when someone first observed it.</p><p>A queue that had been empty was reported empty, hours after it filled. An email described as &#8220;scheduled for tomorrow&#8221; had already been rescheduled by another process. A deployment URL that was correct on Friday was quoted confidently on Sunday, after it changed.</p><p>The information had simply expired between the writing and the reading. That difference matters, because you can catch a lie with a fact-check. An expired truth passes every fact-check you run against the moment it was written.</p><h2>The investigation that pointed back at me</h2><p>I run a small fleet of AI agents that draft content, manage publishing, watch queues, and coordinate through a shared database. When the stale assertions kept coming, we did what you&#8217;d do with an underperforming employee: we studied the employee.</p><p>Four separate expert reviews analyzed the agent&#8217;s behavior. Detailed, thoughtful work. Then an independent reviewer did something none of the others had done.</p><p>It read the standing orders.</p><p>Our operating instructions declared one planning file &#8220;the single source of truth for session state&#8221; and told every agent to read it first, before anything else. That file held 670 lines of append-only history. Entries from days and weeks earlier, stacked oldest to newest, under a heading that called itself Session State.</p><p>Every line in that file was a dated historical claim. Every agent had been instructed to read it as current fact.</p><p>The agents weren&#8217;t violating the process. They were following it.</p><p>I&#8217;ve been building software for twenty years, and I still needed an outside reviewer to see it. When every actor in a system makes the same mistake, the instructions are the suspect, and the instructions were mine.</p><h2>Assertion laundering</h2><p>That&#8217;s the name for the mechanism, and naming it is <strong>important</strong>, because once you name it you see it everywhere: <em>assertion laundering</em>.</p><p>An unverified claim gets written into a status document. The document gets read as evidence. A summary quotes the document, a handoff quotes the summary, and three retellings later nobody remembers that no one ever checked the original claim against reality. The claim didn&#8217;t get more true along the way. It just got harder to trace.</p><p>Your business does this. Mine did. The status deck that says the integration is &#8220;on track&#8221; because the last deck said so. The wiki page describing a process the team abandoned in March. Each was true once. Each is read as true now.</p><p>A document is not a status. Anything append-only is a stack of dated historical claims, and the moment someone reads it as &#8220;the current state,&#8221; the laundering has begun.</p><h2>Why &#8220;be more careful&#8221; was never going to work</h2><p>My first instinct was to add a rule. Something like: verify information before asserting it. We actually had versions of that rule already. The agents ignored them, and it turns out they were being economically rational.</p><p>I measured what verification costs in my stack. A full state refresh means about fifteen separate reads across the systems that hold real truth. The single cheapest one costs 3.6 seconds of wall clock. Recalling something from notes costs nothing, and it feels exactly as certain.</p><p>That&#8217;s the whole contest. Fresh truth costs seconds and effort. Stale memory is free and feels identical. A rule that says &#8220;be more careful&#8221; asks every reader, human or AI, to keep paying a tax that laziness refunds instantly. That gradient wins every time, in my fleet and in your Monday standup.</p><p>So the fix can&#8217;t be a plea for discipline. It has to change what the data itself looks like.</p><h2>The fix: make freshness visible</h2><p>What shipped is small and boring, which is usually a good sign.</p><p>First, every state read in the fleet now leads with a timestamp. &#8220;AS OF 07:03 UTC,&#8221; stamped by the system that answered, and stamped only when the read actually succeeded. A claim without a timestamp is visibly naked now. You can&#8217;t quote it without noticing you don&#8217;t know how old it is.</p><p>Second, the 670-line file got restructured. The current-state section is 15 lines. The history didn&#8217;t get deleted, it moved below the fold and got labeled as what it always was: history. The file went from 840 lines to 871 in total. We removed nothing. We just stopped letting the past wear the present&#8217;s name tag.</p><p>Honesty requires me to tell you this fix is a first tier, and a reviewer has already found two defects in it. That&#8217;s fine. The goal was that a stale claim now looks different from a fresh one, so catching the difference stops depending on anyone&#8217;s virtue.</p><h2>The test for your own business</h2><p>You don&#8217;t need an agent fleet for this to bite you. You need exactly two things: a document people trust, and time.</p><p>So here&#8217;s the test I&#8217;d run on any document your team treats as truth. Pick a load-bearing claim from it and ask when it was last observed, by whom, against the real system. If the answer is a date, you have a status. If the answer is &#8220;it&#8217;s in the doc,&#8221; you have laundering.</p><p>The uncomfortable version: the more trusted the document, the better the laundering works. Nobody re-verifies the source of truth. That&#8217;s what makes it one.</p><h2>Do this in the next ten minutes</h2><p>Open the one document your team treats as current truth. The status page, the master tracker, the handoff doc.</p><p>Find the three claims that would cost you the most if they were stale. Next to each one, write the date it was last verified against the actual system rather than against another document. If you can&#8217;t produce a date, mark the claim &#8220;unverified as of today.&#8221;</p><p>That&#8217;s it. The process is still unfixed, and you&#8217;ve already done something better: you&#8217;ve made the staleness visible, and visible problems are the only kind that get fixed.</p><p>P.S. It took an outside reviewer to spot what my own instructions were doing, and that&#8217;s not an accident. You can&#8217;t proofread your own operating assumptions. That&#8217;s exactly what the AI Workflow Audit is: 30 minutes of checking what&#8217;s actually true about where your hours go, instead of what the docs and the habits claim. Short intake, a working call, and a written map of your highest-impact automation opportunities, ranked. Ten founding-rate spots this week: <a href="https://audit.g8n.ai">audit.g8n.ai</a></p><p></p>]]></content:encoded></item><item><title><![CDATA[All of My Writing Is AI. So What?]]></title><description><![CDATA[Substack now scans for AI. It can't see the one thing that makes writing worth reading.]]></description><link>https://www.g8n.ai/p/all-of-my-writing-is-ai-so-what</link><guid isPermaLink="false">https://www.g8n.ai/p/all-of-my-writing-is-ai-so-what</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Thu, 23 Jul 2026 00:30:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!iVN0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iVN0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iVN0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png 424w, https://substackcdn.com/image/fetch/$s_!iVN0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png 848w, https://substackcdn.com/image/fetch/$s_!iVN0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png 1272w, https://substackcdn.com/image/fetch/$s_!iVN0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iVN0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png" width="708" height="396" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:396,&quot;width&quot;:708,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:274655,&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.g8n.ai/i/208133434?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.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_!iVN0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png 424w, https://substackcdn.com/image/fetch/$s_!iVN0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png 848w, https://substackcdn.com/image/fetch/$s_!iVN0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.png 1272w, https://substackcdn.com/image/fetch/$s_!iVN0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce42309c-994b-4db4-a298-9c0cddb8fc69_708x396.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>All of my writing is AI. I&#8217;m proud of it. So what?</p><p>Recently, Substack gave every reader a reason to ask. They shipped a button that scans any post and estimates how much of it a machine wrote, built on Pangram, one of the sharper detectors out there. Open one of my newsletters, tap scan, get back a number. If it&#8217;s high, some readers will close the tab.</p><p>Good. Let them. I&#8217;m not writing for the people counting my keystrokes. I&#8217;m writing for the ones who want something worth reading.</p><p>But &#8220;all of it is AI&#8221; is easy to misread, so I&#8217;ll be precise about what I&#8217;m actually claiming, and where I think the scanner gets it badly wrong.</p><h2>What the scanner actually sees</h2><p>Pangram is good at its job. I&#8217;ll give it that, and so will people far more adversarial than me. Limited Edition Jonathan, a writer I follow who makes a kind of sport out of beating tools like this, put it bluntly: it&#8217;s annoying, he finds it unethical, and he still hasn&#8217;t found a way to beat it. It&#8217;s accurate. I believe him.</p><p>Accurate at what it measures, though, is the catch.</p><p>It tells you a machine touched the words. It cannot tell you whether a person cared. It can&#8217;t see the months and years I spent learning what a sentence is supposed to do. The four passes I made stripping out every line that sounded like a robot are invisible to it. So is the fact that the idea underneath the piece is one I&#8217;ve been turning over for a decade. It sees texture, calls that texture &#8220;AI,&#8221; and a certain kind of reader treats &#8220;AI&#8221; as a reason to leave.</p><p>Substack&#8217;s own CEO, Chris Best, drew the line in a more honest place. He put the weight on ideas over words. Using a tool to get the words down is fine. The offense, in his framing, is passing off thinking you never did as your own. I agree with that completely. The thinking has to be yours. On that test, I&#8217;m not nervous about a scanner. I&#8217;ll take it.</p><h2>How this newsletter actually gets made</h2><p>Substack now suggests writers add a note explaining how they work. Happy to. Here&#8217;s mine:</p><p>I don&#8217;t sit down to a blank page. A model writes the first draft, fed on a pile of my own writing, my rules, and the list of things I refuse to say. Then the real work starts. I (or rather, now, my AI) cuts the generic lines, adds the specific number the model didn&#8217;t have but the context supplied, and kills every sentence that reads like it came off an assembly line - and there are always a lot of them, because that&#8217;s what first drafts are. What survives has to clear a filter I built that hunts down over thirty separate tells of machine writing. Only then does a human, me, read it end to end and decide whether it&#8217;s worth your inbox.</p><p>Call it the 80/20 split (moved from the 70/30 I used to tout). The AI does about eighty percent of the volume. The twenty percent I supply &#8212; the direction, the taste, the judgment, the deletions, the one true story &#8212; is where the entire value sits (and I manually added these em dashes, too bad Mr. AI Detector). Take that twenty out and you get slop, and you&#8217;d be right to close the tab. Leave it in and you get something I&#8217;ll put my name on.</p><p>That&#8217;s the part the scanner can&#8217;t grade. It counts the eighty. It has no field for the twenty.</p><h2>The line I actually hold</h2><p>I use AI for almost everything I ship. I also know exactly where I stop trusting it, and that line is the whole point.</p><p>Last week I wrote about the three checks I run before I trust anything a model hands me. The scanner news makes them matter even more, so here&#8217;s the checklist itself. Keep it near your desk.</p><p>Before you ship or send anything AI touched, ask three things, in order:</p><ol><li><p>If this is wrong, can I undo it easily?</p></li><li><p>Does the cost of being wrong here justify how hard I&#8217;m checking?</p></li><li><p>Do I actually know it worked, or am I trusting a &#8220;done&#8221; message?</p></li></ol><p>Most things pass all three in a couple of seconds. Editing a paragraph is reversible and low stakes, so you barely look. The moment something is permanent, or touches money, or touches another person&#8217;s data, the checklist tells you to stop and read it like your name is on it. Because it is.</p><p>That third check is the one almost nobody runs, and it&#8217;s the one that saves you. A tool saying it worked and the thing actually working are two different facts. I learned that watching one of my own tools print &#8220;POSTED&#8221; for a LinkedIn post that never went live, with a screenshot of somebody else&#8217;s feed saved as its proof. Now I look at the thing itself, not the log. Did the post appear on the profile. Is the file actually in the sent folder. Is the row really in the database when I go look.</p><p>That&#8217;s the bar. The bar isn&#8217;t whether a human typed every word. It&#8217;s whether a human owned the judgment. A scanner can&#8217;t see that. You can.</p><p>I promised that full checklist last week, and it&#8217;s yours. The complete version, with the reversibility triage, the over- and under-checking trap, and the verify-it-yourself list, <a href="https://www.g8n.ai/p/the-checklist-i-run-before-i-trust">lives here</a>.</p><h2>Where I get off the purity train</h2><p>The reactions to Substack&#8217;s button split the way you&#8217;d expect, and the split is worth watching.</p><p>Some writers are treating the number like a verdict. High AI, low value, case closed. <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Karo (Product with Attitude)&quot;,&quot;id&quot;:27968736,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!aG8-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F599e664e-d6b8-4249-814a-4feadc68d706_1096x1096.png&quot;,&quot;uuid&quot;:&quot;72f14f27-10f5-4f5e-a3de-18ad8105a1d9&quot;}" data-component-name="MentionToDOM"></span>, who writes Product with Attitude, pushed back with a whole essay arguing the binary itself is broken. There&#8217;s a missing category, she says, between &#8220;human-made&#8221; and &#8220;AI-made,&#8221; and most careful work now lives there. She calls it AI-assisted craft. I think she&#8217;s right. The scanner offers two boxes for a job that clearly has three.</p><p>Then there&#8217;s the harder objection, the one I keep circling back to. <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Limited Edition Jonathan&quot;,&quot;id&quot;:103642339,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43c770d2-ab0c-450d-8304-02a79f44022d_1140x1140.jpeg&quot;,&quot;uuid&quot;:&quot;7ce18677-9e9f-4365-abbc-a16bd0c5ce0f&quot;}" data-component-name="MentionToDOM"></span>, the same writer who admitted Pangram works, pushed the purity test to its logical end. Disclose your ghostwriter next. Then your spell-check. Then the operating system you typed on, and the way you did your research. Once &#8220;real writing&#8221; means &#8220;no machine touched it,&#8221; the standard quietly eats everyone, because a machine has touched all of it for years.</p><p>I don&#8217;t want to live on that side of the line. I&#8217;d rather tell you exactly how the work gets made, which I just did, than pretend a tool didn&#8217;t help. Transparency, all day. Purity theater, no thanks.</p><p>There were people who refused to use calculators, too. And computers. And the internet. I&#8217;m just not building for them.</p><h2>What this means for you</h2><p>If you write with AI and you&#8217;ve felt a little exposed this week, here&#8217;s the reframe. The scanner doesn&#8217;t change the real question, and the real question hasn&#8217;t moved in years: is the thing worth reading. AI makes it easy to produce more of everything. It does nothing, on its own, to make any of it worth someone&#8217;s time. That part is still yours. It&#8217;s the only part that was ever yours.</p><p>So stop hiding the tool. Start owning the judgment.</p><p>Making this very newsletter, the AI got a few things wrong, and I&#8217;d rather show you the seams than smooth them over. The tool that runs my publishing, the one I mostly let the AI drive, quietly set this week&#8217;s post to mail the whole list when I&#8217;d asked for web only. It never sent. I&#8217;d built the tool to refuse to publish unless it could first prove no email was going out, because publishing is the one place I don&#8217;t let the machine run unsupervised.</p><p>Same week, the tool told me a draft was ready, header image and all. I opened it anyway. No image, and my three-point checklist had collapsed into one unreadable line. The report said success. Success hadn&#8217;t happened. Each of those was an AI doing exactly what I asked and missing a detail, and each got caught the same way: I looked at the actual thing. The words are AI. The catches were mine.</p><p>Your ten minutes this week: take the last thing you made with AI and run it back through the three checks, then add a fourth for the writing itself. Would you still publish this if your name were the biggest thing on the page. If yes, ship it, and let anyone scan it they like. If no, the tool was never the reason. Go back and find the thirty percent you skipped.</p><p>PS. I build these guardrails into the system so the judgment doesn&#8217;t have to live in my memory: idempotent actions, and a verify-then-report gate with a human in the loop. If you want that discipline wired into your own AI setup instead of hoping you remember it every time, that&#8217;s the kind of thing <a href="https://coaching.g8n.ai">I work on with people one on one</a>.</p><p></p>]]></content:encoded></item><item><title><![CDATA[The Checklist I Run Before I Trust Any AI Output]]></title><description><![CDATA[Last week's three checks, turned into the actual checklist I run against AI output. Steal it.]]></description><link>https://www.g8n.ai/p/the-checklist-i-run-before-i-trust</link><guid isPermaLink="false">https://www.g8n.ai/p/the-checklist-i-run-before-i-trust</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 22 Jul 2026 21:44:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nRXU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nRXU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nRXU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png 424w, https://substackcdn.com/image/fetch/$s_!nRXU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png 848w, https://substackcdn.com/image/fetch/$s_!nRXU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png 1272w, https://substackcdn.com/image/fetch/$s_!nRXU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nRXU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png" width="708" height="396" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:396,&quot;width&quot;:708,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132787,&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.g8n.ai/i/208121302?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.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_!nRXU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png 424w, https://substackcdn.com/image/fetch/$s_!nRXU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png 848w, https://substackcdn.com/image/fetch/$s_!nRXU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.png 1272w, https://substackcdn.com/image/fetch/$s_!nRXU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cbb448-b994-4cc7-b7dd-ef3b2751c0b4_708x396.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>Last week I gave you the three checks I run against anything an AI hands me before I trust it. Reversible or not. Consequence versus checking effort. And the big one, did I verify it myself or just believe the tool&#8217;s report.</p><p>I promised I&#8217;d hand over the actual checklist I run those three against. Here it is. Steal it, keep it next to your desk, and run your next AI output through it.</p><h2>First, the thirty-second version</h2><p>Before you ship or send anything AI touched, ask three questions in order:</p><ol><li><p>If this is wrong, can I undo it easily?</p></li><li><p>Does the cost of being wrong here justify how hard I&#8217;m checking?</p></li><li><p>Do I actually know this worked, or am I trusting a &#8220;done&#8221; message?</p></li></ol><p>If all three come back clean, ship it. If any one of them snags, that&#8217;s exactly where you slow down. Most AI output passes all three in a few seconds. The checklist isn&#8217;t there to slow you down everywhere. It&#8217;s there to tell you the one place to slow down.</p><p>Now the full version, one check at a time.</p><h2>Check 1: Reversibility</h2><p>The question: if the AI got this wrong, what does it cost me to fix?</p><p>Run down this list:</p><ul><li><p>Can I undo it in one click or one command? Editing a paragraph, re-running a draft. Green light, barely look.</p></li><li><p>Does this write to something permanent? A database, a billing total, a live post, a sent email. Slow down.</p></li><li><p>Could running it twice by accident do damage? If yes, it needs a guard before it needs your trust.</p></li></ul><p>The rule I build into everything: a re-run or a script I fire twice can&#8217;t quietly cost me an afternoon. If an action isn&#8217;t safely repeatable, I make it safely repeatable before I let AI near it. Check-before-write. A dry run first.</p><p>Your ten-second version: is this edit-and-forget, or is this permanent? Permanent gets read.</p><h2>Check 2: Consequence versus checking effort</h2><p>The question: does the downside here justify the scrutiny, or am I wasting my attention?</p><p>There are two ways to lose here, and most people only guard against one.</p><p>Over-checking. You read every throwaway draft with the same intensity as production code, you burn out, and then, exhausted, you stop checking the things that actually mattered. Over-checking everything is how people end up checking nothing.</p><p>Under-checking. The first ten AI outputs were great, so you stopped looking. The eleventh quietly wasn&#8217;t, and it was the one that went to your biggest client.</p><p>The fix is to match effort to stakes, deliberately. A rough draft gets a glance. Client-facing copy gets a real read. Anything that touches money or someone&#8217;s data gets read like your name is on it, because it is.</p><p>And remember the thing a better model will never fix: context. A smarter AI still doesn&#8217;t know your biggest client hates being called a &#8220;partner,&#8221; or that one number in that report is the one your boss will circle. That&#8217;s not the model&#8217;s job. It&#8217;s yours.</p><h2>Check 3: Did I verify it, or trust the report?</h2><p>This is the one almost nobody runs, and it&#8217;s the one that saves you.</p><p>A tool telling you it succeeded and the thing actually succeeding are two separate facts.</p><p>I learned this watching automations report &#8220;done&#8221; while the actual thing hadn&#8217;t happened. So now, for anything that matters, I check the reality, not the log:</p><ul><li><p>The tool says the post published. Did it actually appear on the profile?</p></li><li><p>The tool says the file sent. Is it in the sent folder, with the attachment?</p></li><li><p>The tool says the record saved. Is the row actually there when I query it?</p></li><li><p>The tool says &#8220;success.&#8221; Success at what, and can I see it with my own eyes?</p></li></ul><p>The gap between &#8220;reported done&#8221; and &#8220;actually done&#8221; is small when models are bad, because they fail loudly. It gets more dangerous as models get good, because they fail quietly and confidently. The better your tools get, the more this check matters.</p><p>Your ten-second version: don&#8217;t read that it worked. Look at the thing.</p><h2>How to actually use this</h2><p>You&#8217;re not running a three-page audit on every prompt. That would be its own kind of failure.</p><p>Here&#8217;s the real rhythm. The reversibility and consequence checks happen in your head, in a second or two, and they tell you whether to bother. Ninety percent of the time the answer is &#8220;reversible, low stakes, move on.&#8221; The verify-it-yourself check is the one you actually stop and do, only on the small handful of things where being wrong is expensive and permanent.</p><p>That&#8217;s the whole system. Two fast filters that tell you where to look, and one real look where it counts.</p><p>Your ten minutes this week: take the last thing an AI did for you that actually mattered, something that sent or shipped. Don&#8217;t trust the confirmation. Go look at the real thing and confirm it happened the way you think it did. That habit, more than any model upgrade, is what separates people who build on AI from people who get surprised by it.</p><p>PS. I build these checks into systems so I don&#8217;t have to remember them: idempotency, and verify-then-report with a human in the loop. If you want that discipline wired into your own AI setup instead of living in your head, that&#8217;s what I do with people one on one: <a href="https://coaching.g8n.ai">coaching.g8n.ai</a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Three Checks Before I Trust Any AI Output]]></title><description><![CDATA[Three checks, one real mistake, and the review process I promised last week.]]></description><link>https://www.g8n.ai/p/the-three-checks-before-i-trust-any</link><guid isPermaLink="false">https://www.g8n.ai/p/the-three-checks-before-i-trust-any</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 15 Jul 2026 20:01:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-PM9!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a4da276-eed4-45e8-b1d9-e70f864ea880_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yesterday, a tool I built told me a LinkedIn post had gone live. It printed &#8220;POSTED.&#8221; The screenshot it saved as proof showed my home feed, and other people&#8217;s posts, but nothing that actually confirmed my post existed anywhere.</p><p>I didn&#8217;t mark it done. I opened my own profile&#8217;s activity page and looked for the post myself. It was there, and the header image had rendered correctly, so I moved on. But sit with the gap for a second: a system reported success, and the success it reported was just a log line that happened to be true this time, coincidentally.</p><p>Last week I told you the scarce skill left over once AI gets good is judgment, not generation. The short version, if you missed it: AI writes clean, well-structured, confident-sounding output now by default, at zero cost and infinite volume. That used to be a decent proxy for someone knowing what they were doing. It isn&#8217;t anymore, because the model can fake the surface for free. What it can&#8217;t fake is the read that catches what&#8217;s wrong underneath the polish.</p><p>I promised to come back with how I actually run that review instead of just describing it from a distance. Here are the three checks, in the order I actually use them, plus the mistake that reminded me why check three exists.</p><h2>Check one: is the mistake reversible?</h2><p>I wrote about this back in April without knowing I&#8217;d need it again this week, in a note about deciding where to place my trust in AI. The real question is what happens if AI got it wrong.</p><p>A bad line of code gets caught in code review before it ships. A bad paragraph gets edited before anyone reads it. Both of those are cheap to undo, so I let AI move fast there and I review lightly. A LinkedIn post that goes out with the wrong link in its first comment costs real time to fix, and a lot of it is spent apologizing. A database write that silently duplicates a row nobody notices for three weeks costs even more, and it&#8217;s usually discovered by accident, weeks after the fact. The scrutiny I apply scales with how expensive a mistake is to reverse. How much I happen to trust the tool that produced the work has nothing to do with it.</p><p>I built this directly into the system behind this newsletter. Before it writes anything to my content ledger, it checks whether the row already exists. If it does, it updates. If it doesn&#8217;t, it inserts. The tool that schedules my Substack Notes does the same thing on the way in: it checks whether a note is already sitting in the queue before adding it, so running the import twice never creates two copies of the same post. Neither check is clever. Both of them mean a re-run, a retry, or a script I fire twice by accident can&#8217;t quietly cost me an afternoon of cleanup I wouldn&#8217;t have noticed I needed.</p><p>You don&#8217;t need a database to use this. A &#8220;solopreneur&#8221; running AI-drafted invoices can let the tool guess at line-item wording all day, because a clumsy sentence costs thirty seconds to fix. The total at the bottom is a different animal. Get that wrong and you&#8217;re either under-billing yourself or asking a client to fix your math for you. Same tool, same afternoon, two different reversibility levels depending on which field you&#8217;re looking at.</p><h2>Check two: is the consequence proportional to how hard I&#8217;m checking?</h2><p>I turn this dial per task. Code that touches production, I turn it up high, because a broken function costs me hours and maybe a client&#8217;s trust in the work. A first draft of a Note, I turn it down, because the worst case is I rewrite three sentences before I post it.</p><p>Most people I talk to run one setting for everything instead. Some check every output like it&#8217;s a nuclear launch code, burn out by week three, and quietly stop checking anything at all. Others stop checking after the first ten outputs look clean, and the eleventh one is the one that costs a client, or ships a number that was never real. An operator automating invoices needs the dial turned up on the total and turned down on the greeting line. A non-technical builder using AI to draft a contract needs it turned up on every clause with a dollar figure in it and turned down on the formatting.</p><p>I see the opposite failure most often in people who love the tools the most. The AI enthusiast who&#8217;s tried every new model the week it ships tends to trust the newest one the hardest, because it&#8217;s smarter than last month&#8217;s, and that&#8217;s true on average and useless for any single task in front of you. A smarter model still doesn&#8217;t know that your biggest client hates being called a &#8220;partner&#8221; in an email, or that the number in row 40 of your spreadsheet came from a source you stopped trusting last quarter. That context doesn&#8217;t come bundled with more capability, no matter how new the model is.</p><p>The dial has to move task by task. Check one, reversibility, is how I decide where to set it.</p><h2>Check three: did I verify it myself, or did I trust the tool&#8217;s report of itself?</h2><p>This is the one nobody talks about, and it&#8217;s the one that got me yesterday.</p><p>A tool telling you it succeeded and the thing actually succeeding are two separate facts. Written down like that, it sounds obvious. It stopped feeling obvious around 7am, with eleven items queued and the fastest path being to read the word &#8220;done&#8221; in a log and move to the next one.</p><p>The fix is a habit: for anything that matters, go look at the real state of the world instead of the tool&#8217;s description of it. A newer model doesn&#8217;t buy you out of this one. The same system that publishes my LinkedIn posts arms a follow-up comment five minutes after each one goes live, and every time, it re-opens the actual post and re-reads the actual comment thread before calling the job finished. That habit has caught real gaps. A comment the log marked as posted that never landed. A note scheduled for the wrong month because a date picker assumed the wrong one. None of those showed up anywhere in a success log. All of them showed up the moment I checked the real thing instead of the report about the real thing.</p><p>This isn&#8217;t only a developer problem. If AI drafts your client email and your inbox shows &#8220;sent,&#8221; that&#8217;s the tool&#8217;s report. Whether the client actually opened it, whether the attachment actually came through: the real inbox holds those answers. The confirmation screen is designed to make you feel done. Feeling done and being done are not the same event.</p><h2>Why this matters more as models get better</h2><p>I run more of my work through AI models today than I did a year ago, and that number keeps climbing every quarter. This is about exactly where trust has to stop: at the line between &#8220;the tool said it worked&#8221; and &#8220;I confirmed it worked.&#8221; Everything on the generation side of that line is fast, cheap, and getting cheaper by the month. Everything on the verification side of it is still yours to do, and it&#8217;s the part that doesn&#8217;t show up in a demo video.</p><p>That&#8217;s the part last week&#8217;s piece was pointing at without naming it directly. These three questions are what judgment actually looks like in practice, asked in order, on the thing in front of you, before you ship it or believe it.</p><p>As models get better, this gets more important. A worse model fails in ways you notice. It writes an awkward sentence, or the code doesn&#8217;t compile, and the failure announces itself. A better model fails quietly. The sentence reads fine. The code compiles and passes its tests and does something subtly different from what you actually needed. The confidence of the output stops correlating with how much you should trust it, and the three checks are what fill the gap that used to be filled by &#8220;well, it looked wrong.&#8221; Nothing looks wrong anymore. That&#8217;s exactly why you still have to look.</p><h2>Do this in the next ten minutes</h2><p>Pick one thing an AI tool did for you today that you marked done without checking. Run it through the three questions. Was the mistake reversible if the tool got it wrong? Was the consequence proportional to how little you actually checked? Did you verify the real result, or did you verify the tool&#8217;s report of the result?</p><p>If the honest answer to that last one is &#8220;the report,&#8221; go look at the real thing right now, while it&#8217;s still fresh enough to fix.</p><p>Next week, I&#8217;ll hand over the actual checklist file I run this against.</p><p>PS. Building the specific checks and systems that keep your judgment in the loop, instead of a tool&#8217;s word for it, is what I help operators do. If that&#8217;s the muscle you want built into your own work, the details are at <a href="https://coaching.g8n.ai">coaching.g8n.ai</a>.</p><p></p>]]></content:encoded></item><item><title><![CDATA[The Skill That Gets Rarer as AI Gets Better]]></title><description><![CDATA[AI made polished output free. Knowing whether it's any good is the skill that's left.]]></description><link>https://www.g8n.ai/p/the-skill-that-gets-rarer-as-ai-gets</link><guid isPermaLink="false">https://www.g8n.ai/p/the-skill-that-gets-rarer-as-ai-gets</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 08 Jul 2026 19:07:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FSMW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FSMW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FSMW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png 424w, https://substackcdn.com/image/fetch/$s_!FSMW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png 848w, https://substackcdn.com/image/fetch/$s_!FSMW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png 1272w, https://substackcdn.com/image/fetch/$s_!FSMW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FSMW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png" width="708" height="396" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:396,&quot;width&quot;:708,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89277,&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.g8n.ai/i/206135588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.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_!FSMW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png 424w, https://substackcdn.com/image/fetch/$s_!FSMW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png 848w, https://substackcdn.com/image/fetch/$s_!FSMW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.png 1272w, https://substackcdn.com/image/fetch/$s_!FSMW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F276e3e30-3826-4e40-b42d-b85aa5fa2406_708x396.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>Researchers at BetterUp and Stanford put a name to something you&#8217;ve probably received this week. They called it workslop. AI-generated work that shows up looking polished and professional and turns out to hold almost nothing.</p><p>You know the feeling. A document that&#8217;s formatted perfectly, hits every expected beat, and leaves you no smarter than before. A pull request that looks clean and quietly does the wrong thing. The surface is flawless. There&#8217;s nothing underneath.</p><p>Here&#8217;s what that tells you about where the value&#8217;s going.</p><h2>The problem was never bad output</h2><p>For years the knock on AI was that it produced junk. Garbled text, broken code, obvious mistakes. That mostly got solved. The new problem&#8217;s the opposite, and it&#8217;s worse.</p><p>These models default to polished. They produce work that looks expert on the surface, at zero cost and infinite volume. The grammatical errors are gone. The structure&#8217;s clean. A non-expert can now generate something that&#8217;s indistinguishable, at a glance, from the real thing.</p><p>So the old signals of quality stopped working. For a long time, competent-looking output was a decent proxy for competence. Clean writing meant a clear thinker. Working code meant a careful engineer. AI broke that link. The polish is free now, which means polish tells you nothing.</p><p>What&#8217;s left is the thing the model can&#8217;t fake. Judgment. Knowing whether the polished thing in front of you is actually any good.</p><h2>Generation got cheap, so judgment got expensive</h2><p>This is the whole shift, and most people have it backwards. They&#8217;re racing to generate more, faster. The leverage moved the other way.</p><p>When I build now, AI hands me five ways to solve a problem in about twenty seconds. Four of them look fine. One&#8217;s actually right for what I&#8217;m making, and knowing which one comes from twenty years of getting it wrong. That part doesn&#8217;t transfer to the model. It&#8217;ll give me options, but it can&#8217;t care about the specific thing I&#8217;m building, or notice the bug that only matters because of how someone uses it on a Tuesday.</p><p>I caught one of these last week, building a video game with an AI agent wired straight into the game engine through MCP. The agent decided the portraits and artwork needed to be generated fresh to match the rest of the art style. It sounded confident and entirely reasonable. It was also completely wrong, I&#8217;d already sourced the proper assets and applied them myself. I didn&#8217;t even need to argue with it. I&#8217;d built a guardrail earlier that runs every AI-generated-asset request through an evaluator before it can spend a single credit, and the evaluator caught what I already knew: the premise was wrong. That one check stopped 54 unnecessary portraits and a few hundred credits from getting burned on a problem that didn&#8217;t exist.</p><p>The work used to be production. Type the thing, build the thing, make the thing exist. The model does that now, at a quality that looks great and a price near zero. So the scarce work is the other half. Choosing. Knowing what to throw away. The taste to look at a pile of fine and pull out the one piece that&#8217;s correct.</p><p>That&#8217;s good news if you&#8217;ve got real experience in any craft. Your judgment is suddenly the rare thing, the one part the model can&#8217;t generate for you.</p><h2>The trap hiding inside the good news</h2><p>I want to be honest about the part that worries me, because it&#8217;s the part nobody selling you AI will mention.</p><p>Taste isn&#8217;t free either. Mine came from years of doing the exact low-level work AI now does for free. Writing the bad draft. Shipping the broken version and feeling it break. I read my own confident mistakes back to myself until they sank in. The judgment I lean on today got built by grinding through the grunt work yesterday.</p><p>So there&#8217;s a real risk in handing all of that to the model. If a new developer offloads every routine task to AI, they produce polished work on day one and never build the foundation that lets them tell good from bad on day one thousand. The apprentice who skips the apprenticeship never becomes the artisan. They just become a faster way to make workslop.</p><p>That&#8217;s the line to hold. Use AI to remove the tedium, not to remove the reps that build your eye. Automate the generation. Stay in the judgment seat. And keep doing enough of the hard work by hand that your taste stays sharp enough to be worth something.</p><h2>Do this in the next ten minutes</h2><p>Take one piece of AI output you were about to ship today. A draft, a function, an email, a plan. Don&#8217;t ship it.</p><p>Spend ten minutes doing the opposite of generating. Hunt for what&#8217;s wrong with it. What you&#8217;d cut. What a real expert would notice that the model missed. Where it&#8217;s polished on top and empty underneath. Mark it up like you&#8217;re reviewing a junior&#8217;s work, because that&#8217;s exactly what you&#8217;re doing.</p><p>That hunt is the skill. Not the prompt that made the draft. The read that catches what the draft got wrong. Do it once today, then do it every time, until reaching for the red pen is the most automatic thing you do.</p><p>The people who win the next few years will be the ones who can look at a sea of polished output and know, fast, which drop of it is real.</p><p>Next week: how I actually run that review, the specific things I check first, and where I&#8217;ve learned to stop trusting the model entirely.</p><p>PS. Building the judgment to tell good AI work from convincing junk, and the systems that keep you in the judgment seat, is what I help operators do. If that&#8217;s the muscle you want to build, the details are at coaching.g8n.ai.</p><p></p>]]></content:encoded></item><item><title><![CDATA[How To Make Your Content Creation Life Easier with AI]]></title><description><![CDATA[A recording from Ahad Amdani and Claudia Faith's live video]]></description><link>https://www.g8n.ai/p/how-to-make-your-content-creation</link><guid isPermaLink="false">https://www.g8n.ai/p/how-to-make-your-content-creation</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 01 Jul 2026 16:45:14 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/204398032/ce51eea111fa84fc81b8cd77f6eca3ee.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Thank you to everyone who tuned into our live video! </p><p>Topics under discussion:</p><ul><li><p>Who I am: 20-year software developer, last 4 with AI, helping solopreneurs turn AI sprawl into a frictionless system they own and take back their week</p></li><li><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Claudia Faith&quot;,&quot;id&quot;:174269834,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!4uTb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4322256a-dd11-48cf-b695-252ec512c776_1024x1024.png&quot;,&quot;uuid&quot;:&quot;558bd649-0623-40e2-b0aa-141680c5af15&quot;}" data-component-name="MentionToDOM"></span>&#8216;s 1:1 AI builder offer and how her coaching, along with her supplied writing and scheduling software, enabled me to automate my entire content generation pipeline. Also, becoming a reseller for her writing software that saves me 7+ hours per week.</p></li><li><p>Using Drift, Claudia&#8217;s professional AI-enabled writing software, plus the 49 PRs of additional AI-driven customizations I tweaked to enable scheduling and publishing on both Substack and LinkedIn, including the ability to generate images for the posts via my Gemini subscription using browser automation, and to build carousels for LinkedIn as well.</p></li><li><p>Dispatching goals/projects via Discord to tmux-based Claude Code sessions (AI agents) on my server, an M5 Max MacBook Pro. It&#8217;s basically running a fleet of per-project AI Agents as well as an orchestrator that handles the dispatches I send with intelligent routing to the appropriate project, or offers to build the project itself, or instead to setup an appropriate new repo, new agent, and new discord channel to enable communicating with the fleet. Automatically launches the fleet if there&#8217;s an interruption or a restart.</p></li><li><p>Resources for non-technical folks to be able to jump into AI, build momentum, and start saving their hours</p></li></ul><p>One free thing to take with you: <a href="https://coaching.g8n.ai/3-time-sinks.html">three common time sinks</a> you can fix this week. No new tools, no obnoxious setup.</p><p>If a question came up while you were watching, reply below. I read every message.</p><p>P.S. If you want to automate the tedious parts of your content creation the way I did, you can pick up <a href="https://buy.stripe.com/eVq4gz8PzgCif3D00l8IU0D">Drift</a> here. And I&#8217;ll be back in the app with another live soon.</p><p>If you have any questions or an idea for my next post, please send me a reply! I read every message.</p><div class="directMessage button" data-attrs="{&quot;userId&quot;:141527315,&quot;userName&quot;:&quot;Ahad Amdani&quot;,&quot;canDm&quot;:null,&quot;dmUpgradeOptions&quot;:null,&quot;isEditorNode&quot;:true}" data-component-name="DirectMessageToDOM"></div>]]></content:encoded></item><item><title><![CDATA[I Sent One Message. An Agent Shipped the Fix.]]></title><description><![CDATA[How I dispatch real work to AI agents that run without me, and the small version you can start with]]></description><link>https://www.g8n.ai/p/i-sent-one-message-an-agent-shipped</link><guid isPermaLink="false">https://www.g8n.ai/p/i-sent-one-message-an-agent-shipped</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 17 Jun 2026 16:03:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kYID!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kYID!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kYID!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!kYID!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!kYID!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!kYID!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kYID!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4940365,&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.g8n.ai/i/201519332?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.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_!kYID!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!kYID!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!kYID!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!kYID!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12a3c92d-64c1-4e60-b037-8d2aae551a43_2752x1536.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 few nights ago I cleared a failing check on a production app without opening my laptop. I typed one sentence into a Discord channel from my phone, set it down, and went back to my evening. About twenty minutes later a reply came back: the check was green, the fix was pushed, here&#8217;s exactly what changed. I read it, looked at the pull request, and merged it.</p><p>I didn&#8217;t write that fix. An AI agent did, running on a Mac at my house that I hadn&#8217;t touched in hours.</p><p>I want to be careful with how that sounds, because &#8220;autonomous AI agents&#8221; is the phrase everyone&#8217;s drowning in right now. Half the feed says agents will run your whole company by Friday. The other half says they&#8217;re a demo that collapses the second real work touches them. Both takes are exhausting, and neither matches what I actually use.</p><p>So here&#8217;s the unglamorous version. What I built, what it really did that night, the part nobody shows, and the much smaller version you could start with this week.</p><h2>What it actually is</h2><p>Strip away the word &#8220;autonomous&#8221; and it&#8217;s simpler than it sounds. I have a few Claude Code agents that stay running on an always-on machine. They coordinate through Discord, the same chat app a lot of people already use. One channel is where I drop tasks. Other channels are where the agents post what they&#8217;re doing.</p><p>When a task lands, an agent wakes up, does the work in the right place, and reports back. Because the machine&#8217;s always on, I can send that task from anywhere. My phone in a grocery line. A laptop that has nothing to do with the work. It barely matters where I am, because the thing doing the work isn&#8217;t the thing in my hand.</p><p>That&#8217;s the whole idea. A reliable place to drop a well-scoped task, and something on the other end that picks it up and finishes it while I go live my life.</p><h2>What happened that night</h2><p>Here&#8217;s the actual sequence, because the specifics matter more than the pitch.</p><p>I had a pull request open on one of my apps. The code was reviewed and clean, but one check stayed red: a security scan flagging known vulnerabilities in some dependencies. So I typed one line into my dashboard channel: make sure this pull request is fixed and the checks pass.</p><p>I did nothing else. A watcher noticed the message, started up the coordinating agent, and handed it the task. That agent figured out which project it belonged to, started the project&#8217;s own agent, and passed it along. The project agent dug in. It traced the failing scan to a batch of advisories published two days earlier, against libraries already in the project. My code was innocent. It bumped the flagged libraries, ran the entire test suite to make sure nothing broke, pushed the update, and posted a clear summary back to me. Then it waited for the checks to finish and confirmed every one of them went green.</p><p>The only things I did were type one sentence and, later, click the merge button. The diagnosis, the fix, the testing, the write-up: none of it was mine.</p><h2>Why this is leverage, not magic</h2><p>Here&#8217;s why it matters to me: the machine stays on when I don&#8217;t.</p><p>For most of my career, progress required me to be at a keyboard. If I stepped away, the work stopped. This flips a small but real piece of that. A bounded task can move forward while I&#8217;m at dinner, asleep, or three errands deep into a Saturday. I&#8217;m off the leash that ties getting something done to sitting at my desk.</p><p>I also want to be honest about the ceiling here, because the hype skips it. This is a long way from the AI running my business. It fixed a dependency advisory, the kind of narrow, checkable job I&#8217;d hand to a junior engineer and verify after. The judgment stayed mine. I read what came back. I decided to merge. An agent that can show me precisely what it did, with tests proving it, is one I&#8217;ll trust with a small task. The moment a task is fuzzy or the blast radius is large, I&#8217;m back in the loop, and that&#8217;s correct.</p><h2>The part nobody shows</h2><p>Now the unsexy truth, because building in public means showing the middle.</p><p>This system sat dead for two months. I&#8217;d set most of it up earlier and it never actually worked. The coordination table I built for the agents had twenty-five old entries, every one of them stuck or cancelled, none ever finished. It looked like infrastructure. It functioned like a brick.</p><p>Making it real took a long string of small, frustrating fixes. The agents stalled on every single action because they kept stopping to ask permission, so I had to give them a careful, scoped set of things they could do on their own. One stale setting silently blocked them from saving any work at all, and it took a while to even find it. The agents couldn&#8217;t hand tasks to each other, because they all share one chat identity and the system quietly drops a bot talking to itself, so I had to route the handoffs a different way. And my favorite: for an hour the whole thing was writing to the wrong database entirely, because one environment pointed somewhere I didn&#8217;t expect.</p><p>The clean, hands-off run I described at the top only happened after all of that. The autonomy is real, and it was earned the slow, annoying way. Anyone selling you the twenty-minute version is selling you the demo, not the Tuesday.</p><h2>How the pieces fit, plainly</h2><p>You don&#8217;t need to know any of this to get the point, but here&#8217;s the map in plain words.</p><p>There&#8217;s a tool that keeps programs alive on a machine after you disconnect from it. There&#8217;s the chat app, which is just my remote control: where I send tasks and read status from any device. There&#8217;s a coordinating agent whose only job is to receive a task and hand it to the right specialist. There are the specialist agents, each one living in its own project. And there&#8217;s a small watcher that boots the whole thing the instant a task arrives, so nothing has to burn power until there&#8217;s real work to do.</p><p>That last piece is the one I&#8217;m proudest of, because it means the system is asleep by default and only wakes for a real request.</p><h2>You don&#8217;t need the whole fleet</h2><p>Here&#8217;s where I talk you out of copying me exactly.</p><p>I run this because I ship across a lot of projects and I&#8217;m away from my desk constantly. That&#8217;s a specific situation. You almost certainly don&#8217;t need a dozen agents and your own chat server. If you build the full thing because it sounds cool, you&#8217;ll spend your weekend debugging plumbing instead of getting the one benefit that actually matters.</p><p>The benefit worth stealing is small. It&#8217;s the habit of handing a bounded, well-defined task to an agent and trusting it to run without you watching every keystroke. Everything else, the dispatch-from-your-phone part, the coordination, the always-on machine, is convenience you bolt on later, once that core habit is reliable.</p><h2>The small version you can start with</h2><p>You can get most of the value today with nothing I have. Open Claude Code, or whatever AI coding tool you use, and give it one task with a clear finish line. Make it concrete: update these dependencies and make sure the tests still pass, then tell me what changed. Then walk away for ten minutes and let it run.</p><p>When you come back, actually read what it did, the way you&#8217;d read a junior teammate&#8217;s work. That single loop, a bounded task plus a clear way to check it plus the discipline to actually check, is the entire foundation everything else sits on. The remote control and the agents are plumbing that sits on top of that habit.</p><p>If you do want the always-on, send-it-from-your-phone version built around your real work, that&#8217;s the kind of system I help people set up. But earn the habit first. The plumbing is worthless without it.</p><h2>Your ten-minute start</h2><p>Pick one task you&#8217;d normally babysit. A dependency bump. A test that needs writing. A small refactor you keep putting off.</p><p>Write two sentences before you hand it over. The first says what done looks like. The second says how you&#8217;ll know it worked: the test or the check or the output you&#8217;ll look at. That second sentence is the one most people skip, and it&#8217;s the one that makes an agent trustworthy instead of hopeful.</p><p>Then give it the task and leave for ten minutes. Come back and read the result like it&#8217;s someone else&#8217;s work, because it is.</p><p>Do that a few times and you&#8217;ll feel the shift. Mostly it feels like getting a piece of your attention back. That&#8217;s the whole game. Start with one task you can walk away from. The rest is plumbing.</p><p></p>]]></content:encoded></item><item><title><![CDATA[Ending AI Overwhelm: Start With One Problem]]></title><description><![CDATA[A weekly look at how I actually use AI, so you can build what matters]]></description><link>https://www.g8n.ai/p/ending-ai-overwhelm-start-with-one</link><guid isPermaLink="false">https://www.g8n.ai/p/ending-ai-overwhelm-start-with-one</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 10 Jun 2026 16:01:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ByWM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ByWM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ByWM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!ByWM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!ByWM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!ByWM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ByWM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:807611,&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.g8n.ai/i/201467381?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.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_!ByWM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!ByWM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!ByWM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!ByWM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcc40348-4542-4bc8-a809-ebf6f029e926_1376x768.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>GPT-5.5 landed a couple of weeks ago. Six weeks after 5.4. The same week, another lab shipped a model that beat it on three benchmarks, and by the time you read this there&#8217;ll be a newer one with a louder launch (edit: <strong>this happened already</strong>, Fable 5 is out from Claude, based off Mythos).</p><p>I&#8217;ve built software for twenty years and used AI seriously for the last four. And I still feel the pull of that noise. The sense that if I&#8217;m not reading every release thread, testing every tool, and forming an opinion on every model, I&#8217;m somehow falling behind.</p><p>I want to tell you the truth about that feeling. It&#8217;s overwhelm. And overwhelm is the thing that actually keeps people stuck, far more than any gap in what you know.</p><h2>The noise is not the work</h2><p>Here&#8217;s what the feed never says out loud: most companies haven&#8217;t finished deploying the model they bought eight months ago. The average enterprise takes the better part of a year to change how people actually work. Meanwhile a new frontier model ships every few weeks (months at the latest), and every one of them gets treated like a deadline you missed.</p><p>It isn&#8217;t a deadline. Swapping models is easy. Changing how you work is hard. The people getting real value out of AI right now picked a couple of tools, went deep, and rebuilt one piece of their actual work around them.</p><p>I&#8217;ve watched this from both sides. I use Claude, ChatGPT, and Gemini depending on the job. I could spend every evening chasing the next release. Instead I spent the last year shipping things: a polling app a professor now uses with dozens of students and multiple classes, a self-hosted email system that replaced a stack costing hundreds a month, a handful of other tools my kids and my peers actually use, an AI agent per project on a dedicated server with an orchestrator that can pickup requests from Discord and dispatch messages to the proper agent. Every one of those came from picking one problem and refusing to let go until it worked.</p><h2>Overwhelm has a shape</h2><p>When I slow down and look at the overwhelm, it always has the same shape. Too many options, no clear next step, and a quiet fear that everyone else already gets it.</p><p>Collecting tools feels like progress. You download the app, you bookmark the tutorial, you can name the feature that shipped this morning. None of it changes your Wednesday. The work that changes your Wednesday is narrower and far less exciting. You take one task you do by hand every week and you build something small that does it for you.</p><p>That gap, between knowing about AI and using it, is where most people live. It&#8217;s also where the overwhelm comes from. You&#8217;re carrying the weight of everything you could be doing and the guilt of doing none of it.</p><p>You can put that weight down. You don&#8217;t need to know everything. You need one problem and a path through it.</p><h2>How I actually cut through it</h2><p>The method is almost boringly simple, and it&#8217;s the same one I use whether I&#8217;m building a product or writing this newsletter.</p><p>Start with one sentence. Before I open any tool, I write a single sentence describing what done looks like. When I built that polling app, the sentence was: a system where a professor can ask a question and see every student&#8217;s answer in real time. One clear outcome, stated plainly. If you can&#8217;t write that sentence yet, you&#8217;re not ready to build, and that&#8217;s useful to know too.</p><p>Treat AI as a collaborator, not a vending machine. Roughly seventy percent of the volume comes from the AI. The other thirty percent is direction, review, and judgment, and that thirty percent is where the value lives. I read what it gives me. I push back. I don&#8217;t ship anything I couldn&#8217;t explain to another person.</p><p>Ship the ugly version. My first builds barely work. The polling app shipped rough but functional. Hundreds of hours of small (and <strong>large</strong>) fixes later, a university professor trusted it with real students. Shipping early means shipping the smallest thing that proves the idea, then improving it against reality.</p><p>That&#8217;s the whole method: pick a real problem, describe the outcome in a sentence. Then, let the AI do the heavy lifting while you keep the judgment. Ship something rough and improve it. None of it requires you to have an opinion on this week&#8217;s model.</p><h2>What this looks like in practice</h2><p>Let me make it concrete with something small. A while back I was paying for a stack of subscriptions just to send email to my list. Add up the email tool, the automation, the database, and the monitoring, and it came to a few hundred dollars a month for software I didn&#8217;t own and couldn&#8217;t change.</p><p>I decided not to keep paying it. Over a few days I described what I wanted in plain language and built my own version. Email sending, automations, a database I control, alerts when something breaks. It runs for about thirty-four dollars a month now.</p><p>I&#8217;m not telling you to go self-host your email this afternoon. The point is the shape of it. I just named one expensive annoyance, described the outcome in plain words, built the rough version, then fixed it when it broke. The email provider even rejected my application twice with no explanation. I pushed back, asked for a real reason, and a few days later they approved me. Friction is part of it. You work through it one piece at a time, and on the other side you own something.</p><p>But here&#8217;s the part that matters for you. None of my builds started big. I made a playable game in one hour. A coaching tool for my own writing took three. A podcast production workflow took six. A LinkedIn scheduling tool took twelve. A bigger writing app took dozens of hours. The polling app took hundreds, across more than a thousand prompts. That ladder is the whole point. The <strong>thousand</strong>-hour thing only ever looks possible after you&#8217;ve climbed the one-hour and three-hour steps in front of it. You start at the bottom, with the smallest version that works, and the next one gets easier.</p><p>It&#8217;s the same move whether you&#8217;re building an email system, a small dashboard, a polling app, or a way to draft your week&#8217;s content: small problem, clear outcome. Rough first version, steady improvement.</p><h2>What I ignore on purpose</h2><p>Cutting through overwhelm is as much about what you ignore as what you do.</p><p>I ignore most launches. When a new model ships, I note it and move on. If something I use gets meaningfully better, I feel it in the work without reading a single thread. The model is rarely the thing holding you back anyway. Context is. Knowing what you&#8217;re building, and giving the AI enough of the right information, matters far more than which model you point at the problem.</p><p>I tune out the pressure to use ten tools. I use a few and I know them well. A hundred dollars a month for the AI I actually build with does more for me than a folder of trials I never opened twice.</p><p>And I ignore the voice that says everyone else already figured this out. They didn&#8217;t. Most people are exactly where you are, scrolling, a little anxious, waiting for permission. You don&#8217;t need anyone to hand you that permission. You can just start.</p><h2>Why this newsletter is changing</h2><p>This is the part where I tell you what I&#8217;m doing differently, because it&#8217;s the reason you&#8217;re reading this.</p><p>For the last stretch I published when I felt like it. Some good things came out of that, and some weeks went quiet while I was heads down building. Going forward, G8N&#8226;AI has one job and one rhythm.</p><p>The job is to help you end AI overwhelm. Every week I&#8217;ll show you one real thing I use, the tech, a tool, or a framework, and exactly how I use it. The actual move, with the actual tradeoffs. You&#8217;ll be able to take it and run with it yourself. And when you&#8217;d rather not go it alone, there&#8217;s a path to do it together. You don&#8217;t have to become the expert. You have to know where you&#8217;re trying to get to, and I help you see the line from where you are now to there. That&#8217;s what the coaching is. Same method, with me in the room.</p><p>The rhythm is weekly. One reliable signal in a noisy feed. I&#8217;m committing to it because there&#8217;s always something real to say about cutting through the noise, and because a thing you can count on is worth more than a thing that shows up whenever it feels like it.</p><p>This is for you whether you run a one-person business, have never written a line of code, follow every AI thread for the sport of it, or have shipped software for twenty years like I have. The overwhelm is the same across all four. So is the way out. One problem, one path, one week at a time.</p><h2>Your ten-minute start</h2><p>Don&#8217;t close this and go read three more articles about AI. That&#8217;s the overwhelm talking.</p><p>Take ten minutes right now instead. Open a blank note. Write down one thing you do by hand every week that you quietly resent. The report you rebuild. The message you retype. The numbers you copy from one place into another. Name it in one sentence, the way I name an outcome before I build.</p><p>That sentence is the entire beginning. A real problem that annoys you, written down where you can see it.</p><p>Next week I&#8217;ll show you how I take a sentence like that and turn it into something that works. Bring yours.</p><p></p>]]></content:encoded></item><item><title><![CDATA[I went quiet. Here's what changed, and what's coming. ]]></title><description><![CDATA[The honest reason, the new weekly rhythm, and a heads-up.]]></description><link>https://www.g8n.ai/p/i-went-quiet-heres-what-changed-and</link><guid isPermaLink="false">https://www.g8n.ai/p/i-went-quiet-heres-what-changed-and</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Thu, 04 Jun 2026 23:35:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-PM9!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a4da276-eed4-45e8-b1d9-e70f864ea880_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I owe you some honesty. It&#8217;s been over six weeks since my last real newsletter. </p><p>I do this on occasion, going into &#8220;monk mode,&#8221; when I&#8217;m focused on delivering products and getting things out the door for clients. But it&#8217;s <strong>not</strong> a reason to push the content I&#8217;ve already produced down the line so I can post it live, rather than trusting the scheduler or worrying about algorithm effects. I have systems in place, and schedulers, but I couldn&#8217;t overcome the &#8220;try to make it perfect&#8221; mindset instead of trusting in my own judgement and efforts, the research and analysis of others who&#8217;ve proven it works, and the social proof I&#8217;d already witnessed (my own as well as that of others who I follow). </p><p>That changes right now. Don&#8217;t get me wrong, some of it was a good reason - I was heads down building! Some of it was due to a medical procedure and the recovery after. And some of it, if I&#8217;m being straight with you, was that I&#8217;d been quietly rethinking what this newsletter is even for.</p><p>I figured it out. So here&#8217;s where things stand:</p><p>G8N&#8226;AI has one job now - helping you end AI overwhelm.</p><p>You know the feeling. A new model drops every few weeks. There are a hundred tools, each one promising to change your life. And underneath it all, the nagging sense that everyone else already gets it and you&#8217;re behind. I&#8217;ve built software for twenty years and used AI seriously for three, and I still feel that pull. So I know it&#8217;s not a knowledge problem. It&#8217;s overwhelm. And overwhelm is the thing that actually keeps people stuck.</p><p>Cutting through it is the whole point of this newsletter.</p><p>Here&#8217;s what&#8217;s changing. One issue a week, same job every time: I show you one real thing I use, the tech, a tool, or a framework, and exactly how I use it. Not just theory, but the actual move, with the actual tradeoffs. You can take it and run with it yourself, or we can do it together.</p><p>One reliable signal in a very noisy feed. That&#8217;s what I&#8217;m committing to.</p><p>A small heads-up: over the next couple of weeks you&#8217;ll hear from me a bit more than usual. I&#8217;m opening up a live workshop, and I want you to have every detail to decide if it&#8217;s for you. If it&#8217;s not your thing, no problem. The weekly issues keep coming either way.</p><p>The first real issue lands this week. It&#8217;s about the one move I make to cut through the noise every single time, whether I&#8217;m building a product or writing this email. And it&#8217;s about ending AI overwhelm.</p><p>Thanks for still being here. I mean that.</p><p>Ahad</p><p>PS. If there&#8217;s one AI thing you keep meaning to figure out and never quite do, hit reply and tell me what it is. It might just become an issue.</p>]]></content:encoded></item><item><title><![CDATA[How to Build Something (Novel, App, Brand) and Not Quit]]></title><description><![CDATA[A recording from Ahad Amdani's live video with Mike Bolton]]></description><link>https://www.g8n.ai/p/how-to-build-something-nove-app-brand</link><guid isPermaLink="false">https://www.g8n.ai/p/how-to-build-something-nove-app-brand</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Tue, 24 Mar 2026 20:07:18 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/192013601/6029ba2d8615b68fd589230e7507a970.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="install-substack-app-embed install-substack-app-embed-web" data-component-name="InstallSubstackAppToDOM"><img class="install-substack-app-embed-img" src="https://substackcdn.com/image/fetch/$s_!KMta!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf6e27c8-5a5a-4c09-9418-7a357fead909_1024x1024.png"><div class="install-substack-app-embed-text"><div class="install-substack-app-header">Get more from Ahad Amdani in the Substack app</div><div class="install-substack-app-text">Available for iOS and Android</div></div><a href="https://substack.com/app/app-store-redirect?utm_campaign=app-marketing&amp;utm_content=author-post-insert&amp;utm_source=ahadamdani" target="_blank" class="install-substack-app-embed-link"><button class="install-substack-app-embed-btn button primary">Get the app</button></a></div>]]></content:encoded></item><item><title><![CDATA[Building Community]]></title><description><![CDATA[What Actually Happened]]></description><link>https://www.g8n.ai/p/building-community</link><guid isPermaLink="false">https://www.g8n.ai/p/building-community</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Fri, 30 Jan 2026 17:16:40 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/186270817/121f85d56ed329083058e25d9c565fa2.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BqKC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BqKC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!BqKC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!BqKC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!BqKC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BqKC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5710609,&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.g8n.ai/i/186270817?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.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_!BqKC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!BqKC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!BqKC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!BqKC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e7be1fe-d096-4e1f-830b-6304554fa8e7_2752x1536.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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/building-community?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/building-community?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p><strong>Episode 009: Building Community (What Actually Happened)</strong></p><p>Building in public means showing the real numbers, the experiments that didn&#8217;t work, and the pivots that emerged from doing the work. This episode covers:</p><p>- The honest numbers: 131 followers, 61 subscribers (not the 100 I targeted)</p><p>- The workshop experiment that didn&#8217;t go as planned</p><p>- The repositioning insight: expert rapid builder vs. teacher of vibe coding</p><p>- How I use Claude to plan, strategize, and iterate on content</p><p>- The prompts and process behind AI-assisted content creation</p><p>- What&#8217;s coming in Season 2</p><p><strong>Current projects mentioned:</strong></p><p>- uPoll.live &#8212; course engagement platform, university pilot</p><p>- BuildWith &#8212; builder/client marketplace</p><p>- QueryBase &#8212; writers&#8217; SaaS for share agent database to use as a querying and research platform</p><p>- Landing page/lead magnet tool (in development)</p><p><strong>The repositioning:</strong></p><p>I can validate your business idea in 14 days. The opportunity cost of waiting is real. That&#8217;s the offer.</p><p><strong>Get involved:</strong></p><p>- What do you want Season 2 to cover?</p><p>- What tools would help your work?</p><p>- Reply, comment, or DM &#8212; the community shapes what comes next.</p><p><strong>Subscribe:</strong> <a href="http://g8n.ai/subscribe">g8n.ai/subscribe</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">G8N&#8226;AI is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Your First Week Building With AI]]></title><description><![CDATA[A day-by-day guide for people who&#8217;ve never built anything but want to start&#8212;plus a real example of what Day 1 can actually look like]]></description><link>https://www.g8n.ai/p/your-first-week-building-with-ai</link><guid isPermaLink="false">https://www.g8n.ai/p/your-first-week-building-with-ai</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Wed, 21 Jan 2026 05:06:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ojZx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ojZx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ojZx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ojZx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ojZx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ojZx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ojZx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5056014,&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.g8n.ai/i/184934424?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.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_!ojZx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ojZx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ojZx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ojZx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d1e985d-7975-49d7-ad9b-e75cc946eac1_2752x1536.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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/your-first-week-building-with-ai?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/your-first-week-building-with-ai?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><h2>You&#8217;ve read about vibe coding. You&#8217;ve seen what&#8217;s possible. You&#8217;re curious.</h2><p><strong>But you haven&#8217;t actually built anything yet.</strong></p><p>That&#8217;s fine. Everyone starts somewhere. This is the guide I wish I had when I started&#8212;not theory, not philosophy, just what to do on Day 1 and every day after.</p><p>By the end of seven days, you&#8217;ll have shipped something real. Something you use. Something that proves to yourself that you can do this.</p><p><em>Let&#8217;s go.</em></p><div><hr></div><h2>Before You Start: The Only Tool You Need</h2><p>Forget the complicated setups. Forget the YouTube tutorials about &#8220;the perfect AI stack.&#8221; You need one thing:</p><p><strong>An AI assistant you can have a conversation with.</strong></p><p>I recommend Claude. Not because it&#8217;s the only option&#8212;but because it specifically handles the things that matter for building: complex multi-file work, database design with security considerations, payment integrations, real-time architecture, and maintaining context across long sessions. The entire BuildWith marketplace I&#8217;ll show you later was built with Claude.</p><p><strong>Which tier matters:</strong></p><p><strong>Pro:</strong> $20/mo - minimum for serious building </p><p><strong>Max:</strong> $100/mo - recommended for production projects </p><p><strong>Max+:</strong> $200/mo - heavy AI leverage, multiple projects</p><p>If you&#8217;re just starting, Pro is fine. If you&#8217;re building something real that you plan to deploy, Max is worth it. One subscription handles everything from ideation to deployment.</p><p>Free tiers work for your first experiments. But when you&#8217;re ready to build something production-grade, the paid tiers are where the capability lives.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share G8N&#8226;AI&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share G8N&#8226;AI</span></a></p><div><hr></div><h2>Day 1: Pick Your First Problem</h2><p>Don&#8217;t start with &#8220;I want to build an app.&#8221;</p><p>Start with: &#8220;What do I do manually that annoys me?&#8221;</p><p>Look for something you do at least once a week. Something repetitive. Something that makes you think &#8220;there has to be a better way.&#8221;</p><p><strong>Good first projects:</strong></p><ul><li><p>A checklist you recreate every week</p></li><li><p>A template you fill out repeatedly</p></li><li><p>A calculation you do by hand</p></li><li><p>Information you look up over and over</p></li><li><p>A reminder system that doesn&#8217;t exist yet</p></li></ul><p><strong>Bad first projects:</strong></p><ul><li><p>&#8220;An app like Uber but for...&#8221;</p></li><li><p>Anything involving payments - save this for later, unless you have guidance or already know what you are doing when it comes to this</p></li><li><p>Anything involving user accounts - save this for later, unless you can easily integrate an auth &amp; auth solution - and if you don&#8217;t know what that is, you probably can&#8217;t</p></li><li><p>Anything you&#8217;d need other people to use immediately</p></li></ul><p>The goal for Day 1: <strong>Write one sentence describing your problem.</strong></p><p>Not the solution. The problem.</p><p>&#8220;I waste 20 minutes every Monday creating the same meeting agenda template.&#8221;</p><p>&#8220;I can never remember which client prefers email versus Slack.&#8221;</p><p>&#8220;I manually calculate my freelance project profitability every month and I always mess up the formula.&#8221;</p><p>That sentence is your foundation. Everything else builds from there.</p><p>Spend the rest of the day, or however long you feel you need, putting together what you want in terms of features, workflows, journeys - however you want to think of your problems and what would work to solve them.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/your-first-week-building-with-ai/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/your-first-week-building-with-ai/comments"><span>Leave a comment</span></a></p><div><hr></div><h2>Day 2: Describe What &#8220;Done&#8221; Looks Like</h2><p>Open Claude (or your AI of choice). Start a new conversation. Paste your problem sentence. Then add:</p><p>&#8220;I want to solve this. What would a simple solution look like?&#8221;</p><p>Don&#8217;t accept the first answer. Push back. Ask questions. Have a conversation. Use the rest of the material and context you thought through on Day 1 and have the AI challenge your thinking, your approach, your assumptions, and your level of understanding.</p><p>The AI will probably suggest something too complicated. That&#8217;s fine. Say: &#8220;That&#8217;s too complex for a first version. What&#8217;s the simplest thing that would actually solve my problem?&#8221;</p><p>Keep going until you can describe &#8220;done&#8221; in one sentence.</p><p>&#8220;A single-page checklist that I can reset with one click.&#8221;</p><p>&#8220;A simple lookup tool where I type a client name and it shows their communication preference.&#8221;</p><p>&#8220;A calculator where I input hours, rate, and expenses and it shows my actual profit.&#8221;</p><p><strong>The goal for Day 2:</strong> Write one sentence describing what the finished thing does.</p><p>Not how it works. What it really does, and how that ties back to solving your problem.</p><div class="directMessage button" data-attrs="{&quot;userId&quot;:141527315,&quot;userName&quot;:&quot;Ahad Amdani&quot;,&quot;canDm&quot;:null,&quot;dmUpgradeOptions&quot;:null,&quot;isEditorNode&quot;:true}" data-component-name="DirectMessageToDOM"></div><div><hr></div><h2>Day 3: Build the Ugly Version</h2><p>Today you build. And it will be ugly. That&#8217;s the point.</p><p>Go back to your AI conversation. Say: &#8220;Help me build this. I want the simplest possible version that works.&#8221; Start from there, and don&#8217;t worry, you haven&#8217;t lost all that other context you&#8217;ve given it, because with memory capabilities and Claude Projects, you can have the AI review your other chats and any files you attach to your Claude Project. So for now, build the minimum viable solution to your specific problem.</p><p>If you&#8217;re comfortable with code or the terminal, at least, the AI can write it for you and you can stick with my recommendation of using Claude Code in the terminal. If you&#8217;re not, ask for a no-code approach&#8212;there are visual builders like Notion, Airtable, or Google Sheets that can handle simple tools.</p><p>For something more interactive, try one of these visual AI builders:</p><ul><li><p><strong>Replit</strong> &#8212; Good for code-based builds with AI assistance, and the one I actually recommend, pay for and use regularly for products, including uPoll, which is continuing to be piloted at UTA, with new updates, bugfixes and feature improvements almost every day (usually via Claude Code, even if we still deploy via Replit before shifting to our production systems).</p></li><li><p><strong>Lovable</strong> (lovable.dev) &#8212; Builds React apps from descriptions</p></li><li><p><strong>Bolt</strong> (bolt.new) &#8212; Similar, builds full applications</p></li></ul><p>Don&#8217;t worry about picking the &#8220;right&#8221; tool. Pick one and start.</p><p>You will hit errors. Things won&#8217;t work. <strong>This is normal.</strong> </p><p>Remember: Generate &#8594; Lint &#8594; Fix &#8594; Test &#8594; Fix &#8594; Repeat. </p><p>That&#8217;s not failure, that&#8217;s the <strong>actual workflow</strong>. I go deeper on this in the workshop - more on that below!</p><p>When errors happen:</p><ol><li><p>Copy the error message</p></li><li><p>Paste it to your AI</p></li><li><p>Say: &#8220;I got this error. What went wrong?&#8221;</p></li></ol><p>The AI will explain and suggest a fix. Try the fix. If it doesn&#8217;t work, tell the AI what happened. Keep going.</p><p><strong>The goal for Day 3:</strong> Have something that works, even if it&#8217;s ugly.</p><p>&#8220;Works&#8221; means it does the thing you described on Day 2. Not perfectly. Not beautifully. It just does the thing.</p><p>Maybe you've already tried building something. Maybe you hit a wall&#8212;Bubble couldn't do what you needed, the AI output was garbage, the whole thing fell apart. That's actually a good sign. You've validated that the problem matters. Now you need a better approach.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Day 4: Use It For Real</h2><p>Today, no building. Today, you use the thing you made.</p><p>This sounds obvious. It&#8217;s not. Most people build something and then never actually use it. They move on to the next idea.</p><p>Don&#8217;t do that.</p><p>Use your tool for its intended purpose. If it&#8217;s a checklist, run through the checklist. If it&#8217;s a calculator, calculate something real. If it&#8217;s a lookup tool, look something up.</p><p>While you use it, notice what&#8217;s annoying. What&#8217;s missing. What&#8217;s confusing.</p><p><strong>The goal for Day 4:</strong> A list of 3-5 things that bug you about your own tool.</p><p>Write them down. These become tomorrow&#8217;s improvements.</p><div><hr></div><h2>Day 5: Fix One Thing</h2><p>Pick the most annoying item from your list. Just one.</p><p>Go back to your AI conversation (or start a new one with context about what you built). Describe the problem: &#8220;When I use this, [X] is annoying because [Y]. How do I fix it?&#8221;</p><p>Fix that one thing. Test it. Make sure it works.</p><p>Don&#8217;t fix everything. Just one thing.</p><p><strong>The goal for Day 5:</strong> Your tool is slightly better than yesterday.</p><p>This is iteration. This is how real software gets built. Not in one perfect session, but through repeated small improvements, and a short feedback loop: <strong>test, track, iterate.</strong></p><div class="community-chat" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/ahadamdani/chat?utm_source=chat_embed&quot;,&quot;subdomain&quot;:&quot;ahadamdani&quot;,&quot;pub&quot;:{&quot;id&quot;:6876060,&quot;name&quot;:&quot;G8N&#8226;AI&quot;,&quot;author_name&quot;:&quot;Ahad Amdani&quot;,&quot;author_photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!xFgz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41689cfb-3f47-4f3f-ba03-b76b51ee279e_577x577.jpeg&quot;}}" data-component-name="CommunityChatRenderPlaceholder"></div><div><hr></div><h2>Day 6: Make It Accessible</h2><p>Your tool works. You&#8217;ve used it. You&#8217;ve improved it. Now make sure you can actually get to it when you need it.</p><p>If it&#8217;s a web page, bookmark it.</p><p>If it&#8217;s a spreadsheet, pin it to your home screen.</p><p>If it&#8217;s code running locally, figure out how to launch it easily.</p><p>The best tool in the world is useless if you forget it exists. Make access effortless.</p><p><strong>The goal for Day 6:</strong> You can open your tool in under 5 seconds. Optionally (though I always do it), make it so that you can easily deploy/update it. You want to be able to spot an improvement or bug, get a fix in place with the help of AI, and push it out to test/validate that it did in fact get fixed as quickly as possible.</p><div><hr></div><h2>Day 7: Reflect and Decide</h2><p>You built something. You used it. You improved it.</p><p>Now ask yourself two questions:</p><p><strong>1. Did this solve the problem I started with?</strong></p><p>If yes, great. You have a tool. Keep using it. Keep improving it when things bug you.</p><p>If no, that&#8217;s valuable too. You learned something about what the problem actually is. That&#8217;s progress.</p><p><strong>2. Do I want to keep building?</strong></p><p>Some people do this once and they&#8217;re satisfied. Problem solved, move on.</p><p>Some people get hooked. They start seeing problems everywhere that could be solved the same way. They want to build more.</p><p>Both are valid. But if you&#8217;re in the second camp, you just discovered something important about yourself. As always, I delve deeper into this during the workshop, which I give details on below.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share G8N&#8226;AI&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share G8N&#8226;AI</span></a></p><div><hr></div><h2>What You&#8217;ve Proven</h2><p>In seven days, you went from &#8220;I&#8217;ve never built anything&#8221; to &#8220;I built a thing and I use it.&#8221;</p><p>That&#8217;s not a small thing. Most people never do it.</p><p>You proved you can:</p><ul><li><p>Identify a real problem</p></li><li><p>Describe a solution</p></li><li><p>Work with AI to build it</p></li><li><p>Handle the debug cycle (it&#8217;s normal, not failure)</p></li><li><p>Use it and improve it</p></li><li><p>Make it part of your workflow</p></li></ul><p>The next build will be faster. You&#8217;ll know the rhythm. You&#8217;ll trust the process.</p><p>And the build after that will be faster still.</p><div><hr></div><h2>Key Takeaways</h2><p>Five things to remember:</p><ol><li><p><strong>AI accelerates, doesn&#8217;t replace.</strong> You still need to understand the patterns. The judgment is yours.</p></li><li><p><strong>Security first.</strong> Even for simple tools, think about who can access what. For production apps: authentication, input validation, access controls.</p></li><li><p><strong>Debugging is normal.</strong> The Generate &#8594; Fix &#8594; Test &#8594; Repeat cycle isn&#8217;t a sign of problems. It&#8217;s how this works.</p></li><li><p><strong>One tool, full stack.</strong> Claude handles planning, design, frontend, backend, devops, testing. You don&#8217;t need to learn five different tools.</p></li><li><p><strong>Cost-effective leverage.</strong> $100/month for capabilities that would require a team. That&#8217;s the new reality.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/subscribe?"><span>Subscribe now</span></a></p></li></ol><div><hr></div><h2>What&#8217;s Next</h2><p>If you want to keep going, here&#8217;s the pattern:</p><p><strong>Week 2:</strong> Build something slightly more ambitious. Two features instead of one. A little more complexity.</p><p><strong>Week 3:</strong> Build something you&#8217;ll share with one other person. A friend, a colleague. Get feedback from someone who isn&#8217;t you.</p><p><strong>Week 4:</strong> Build something that solves a problem for someone else entirely.</p><p>Each week, you expand the scope slightly. You stretch into new territory. You learn what you don&#8217;t know.</p><p>That&#8217;s the whole game. Repeat until you&#8217;re building things you never thought possible.</p><p>And, if you go through this and find that building, while enabling you, takes too much time by yourself, or you aren&#8217;t willing to go through the trouble without guidance, you can always build with me during the workshop&#8212;details below!</p><div><hr></div><h2>What This Looks Like With Experience: The BuildWith Story</h2><p>A couple of days ago, I built BuildWith: a two-sided marketplace connecting AI builders with clients. Production-ready with payments, messaging, security scanning. In a single day.</p><p>Here&#8217;s the honest truth: <strong>This is what 20 years of software engineering plus 3 years of building with AI looks like.</strong> Experience compounds. I&#8217;m not one or two steps ahead of someone starting out, I&#8217;m 10 or 20 steps ahead. And it&#8217;s crazy how much leverage AI can give you - I&#8217;ve built more apps in the last 12 months than I have in the previous 12 years!</p><p>But that&#8217;s the point. When you start doing this and build this leverage and learn these patterns, you can get here too. What I did in a single day, you can sustainably do in a week. And it&#8217;s only going to get faster and better as AI improves and the intelligence infrastructure - the pipelines, the capabilities - keep advancing.</p><p>Here&#8217;s what actually happened:</p><h3>The Numbers</h3><p>Commits: 28 </p><p>TypeScript Files: 144 </p><p>Database Tables: 10 </p><p>Supabase Migrations: 24 </p><p>E2E Test Suites: 7 </p><p>Unit Test Files: 3 </p><p>Build Time: Single Day</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/subscribe?"><span>Subscribe now</span></a></p><h3>Phase 1: Foundation (Before Any Features)</h3><p>Before writing any code, I created a dedicated Claude Project using the Claude MacOS desktop client, and I used the first chat thread to describe what I wanted to build, and had it do deep research on competitors, features, roadmaps, as well as to come up with appropriate Claude Project instructions for the project. I update the project instructions with the results after some review and fine-tuning, then started a new chat and started having a conversation with Claude to figure out the plan, design, things I wanted in the MVP, strategy for building, etc. I ended up manually creating the initial code project directory with a CLAUDE.md file, which serve as persistent instructions that guide every conversation in Claude Code, the terminal-based interface I used in this case for the actual development of the marketplace.</p><p>NOTE: You don't need to understand this file in its entirety. The point is: I documented the patterns I wanted Claude Code to follow, so every conversation started with shared understanding. Now, here's what that looks like:</p><pre><code><code># CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Project Overview

BuildWith is a two-sided marketplace connecting AI/vibe coders (Builders) with clients seeking custom builds, template personalization, and repo customization. Deployed at buildwith.g8n.ai.

## Commands

```bash
npm run dev      # Start development server (localhost:3000)
npm run build    # Production build
npm run lint     # Run ESLint
```

## Tech Stack

- **Framework**: Next.js 16 (App Router), React 19, TypeScript strict mode
- **Database**: Supabase PostgreSQL with Row Level Security
- **Auth**: Clerk (Google, GitHub, LinkedIn, email)
- **Payments**: Stripe Connect Express (milestone-based escrow)
- **Realtime**: Supabase Realtime (messaging, notifications)
- **Styling**: Tailwind CSS v4 + shadcn/ui
- **State**: TanStack React Query for client-side data fetching
- **Forms**: React Hook Form + Zod resolver

## Architecture

### Route Groups
- `(auth)` - Authentication pages (sign-in, sign-up, onboarding)
- `(dashboard)` - Protected dashboard with role-based navigation
  - `/client/*` - Client features (post projects, manage applications, milestones)
  - `/builder/*` - Builder features (browse projects, listings, applications, earnings)
- `(marketing)` - Public marketing pages
- `/builders/[id]` - Public builder profile pages

### Supabase Integration
- **Server**: `createSupabaseServerClient()` from `@/lib/supabase/server` - uses Clerk JWT via `auth().getToken()`
- **Client**: `useSupabase()` hook from `@/lib/supabase/client` - uses Clerk session token
- **Admin**: `createSupabaseAdminClient()` from `@/lib/supabase/admin` - bypasses RLS for system operations
- **Types**: Manual types in `@/types/database.ts`

### Server Actions Pattern
Located in `src/app/actions/`:
- `builder.ts` - Builder profile, listings, applications
- `project.ts` - CRUD for projects, application accept/reject
- `milestone.ts` - Milestone management and payment flow

All server actions follow this pattern:
```typescript
type ActionResult&lt;T = void&gt; =
  | { success: true; data?: T }
  | { success: false; error: string };

export async function actionName(input: Input): Promise&lt;ActionResult&gt; {
  // 1. Auth check via auth() from Clerk
  const { userId } = await auth();
  if (!userId) return { success: false, error: "Unauthorized" };

  // 2. Zod validation
  const validated = schema.safeParse(input);
  if (!validated.success) return { success: false, error: validated.error.errors[0].message };

  // 3. Supabase operation with RLS
  const supabase = await createSupabaseServerClient();
  // ... operation

  // 4. Cache invalidation
  revalidatePath("/path");
  return { success: true, data: result };
}
```

### Validation Schemas
Located in `src/lib/validations/`:
- `builder.ts` - Profile, service listings, applications, filters
- Schemas defined in server action files for project/milestone operations

### User Roles
Three roles stored in `profiles.user_type`: `client`, `builder`, `admin`
- Role hooks in `@/lib/clerk/hooks.ts`: `useUserRole()`, `useIsBuilder()`, `useIsClient()`
- Dashboard sidebar in `@/components/layout/dashboard-sidebar.tsx` auto-switches navigation based on role

## Code Conventions

- TypeScript strict mode, avoid `any` types
- Zod schemas for all input validation
- Server Components by default, `"use client"` only when needed
- Named exports only (no default exports)
- Mobile-first Tailwind classes
- Use React Query for client-side data fetching with `useSupabase()` hook

## Database Tables

| Table          | Purpose                                          |
|----------------|--------------------------------------------------|
| profiles       | User data, linked to Clerk ID                    |
| projects       | Client project postings                          |
| applications   | Builder proposals for projects                   |
| milestones     | Payment stages with escrow status                |
| services       | Builder service listings                         |
| conversations  | Chat threads                                     |
| messages       | Individual messages                              |
| reviews        | Bidirectional ratings                            |
| notifications  | User notifications                               |
| security_scans | Snyk vulnerability scan results for deliverables |

## Security Requirements

- RLS policies on ALL Supabase tables
- Auth check at data layer (server actions), not just middleware
- Validate all inputs with Zod before database operations
- Verify Stripe webhook signatures
- User can only access their own data (enforced by RLS using `auth.jwt()-&gt;&gt;'sub'`)

## Supabase Migrations

Migrations stored in `supabase/migrations/`. Apply via:
```bash
# Using Supabase MCP (preferred)
mcp__supabase__apply_migration

# Using CLI
npx supabase db push
```</code></code></pre><p>This isn&#8217;t just documentation&#8212;it&#8217;s instructions that shape how Claude Code understands and extends the codebase. Every conversation started by reading it. </p><p>And this shape of the CLAUDE.md file? It&#8217;ll change by tomorrow, when I spend another day on it, making updates from feedback and piloting users, online research around the features and capabilities available in similar or competing marketplaces, safety and compliance checks, performance updates, or data gathered from folks helping me to test and iterate and improve this builder/client marketplace so that we can put together a template, if not a complete solution. </p><p>The template could serve as the basis for future workshops where we focus on clients getting to personalize and build their own marketplace rapidly using a pre-existing structure and minimum set of features.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/your-first-week-building-with-ai?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/your-first-week-building-with-ai?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h3>Phase 2: Core Features</h3><p>Once the foundation was solid:</p><ul><li><p>Project posting and browsing</p></li><li><p>Builder applications with proposals</p></li><li><p>Milestone system with escrow tracking</p></li><li><p>Real-time messaging</p></li><li><p>Notification system</p></li></ul><h3>Phase 3: Design System</h3><p>One significant commit overhauled the entire UI:</p><ul><li><p>Dark-first luxury aesthetic</p></li><li><p>760+ lines of CSS custom properties</p></li><li><p>Theme switching (dark/light/system)</p></li><li><p>Glassmorphism, mesh gradients, glow effects</p></li></ul><h3>Phase 4: Payments</h3><ul><li><p>Stripe Connect Express for builder payouts</p></li><li><p>Webhook handlers for all async events</p></li><li><p>Escrow pattern (happy path complete, rejection path under design): </p><ul><li><p>Client funds &#8594; </p><ul><li><p>Status &#8220;funded&#8221; &#8594; </p><ul><li><p>Builder delivers &#8594; </p><ul><li><p>Client approves &#8594; </p><ul><li><p>Transfer to builder (85%) + Platform fee (15%)</p></li></ul></li><li><p>Client rejects (TBD, still reviewing what works best here) &#8594;</p><ul><li><p>Feedback gathered and submitted back to Builder for Revision</p></li><li><p>Revisions negotiated between builder and client prior to escrow process</p></li><li><p>Client can opt for project/contract dismissal</p><ul><li><p>25% cancellation fee charged to client from current milestone price for 15% platform fee and 10% builder compensation regardless of dismissal. </p></li><li><p>Any milestones previously hit by builder will already have been awarded/paid out and had the platform fee collected, thus will not be refunded to client.</p></li></ul></li><li><p>Delivered content for current milestone locked out to client after gathering feedback. </p></li><li><p>All deliveries to client from prior milestones will remain available to them, as that portion of the transaction is already paid out and considered complete.</p></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/leaderboard?&amp;utm_source=post&quot;,&quot;text&quot;:&quot;Refer a friend&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/leaderboard?&amp;utm_source=post"><span>Refer a friend</span></a></p><h3>Phase 5: Security &amp; DevOps</h3><ul><li><p>Snyk integration for dependency scanning</p></li><li><p>Security scanning on builder deliverables</p></li><li><p>CI/CD pipeline with GitHub Actions</p></li><li><p>Rate limiting middleware</p></li></ul><h3>Phase 6: QA &amp; Fixes</h3><p>Multiple commits fixing TypeScript errors, ESLint warnings, test selectors, formatting. This phase is important to understand:</p><p><strong>The real workflow is: Generate &#8594; Lint &#8594; Fix &#8594; Test &#8594; Fix &#8594; Repeat.</strong></p><p>AI doesn&#8217;t produce perfect code on the first pass. The git history shows fixes for strict null checks, type mismatches, unused imports, build-time vs runtime errors. This is normal. This is expected. The debugging cycle is part of the process, not a sign something went wrong.</p><h3>The Cost</h3><p>Claude Max: $100 per month</p><p>Vercel: Hobby Free </p><p>Supabase: Free tier - $0</p><p>Clerk Free: 10K MAUs - $0 </p><p>Sentry (if you want to go that route instead of keeping it simpler up front): Free - 5K errors - $0 </p><p><strong>Total:</strong> <strong>$100/mo</strong></p><p>$100/month for capabilities that would take a team. That&#8217;s the leverage.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/subscribe?&amp;gift=true&quot;,&quot;text&quot;:&quot;Give a gift subscription&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/subscribe?&amp;gift=true"><span>Give a gift subscription</span></a></p><h3>Why This Matters For You</h3><p>The 7-day framework I supplied you with above is the sustainable version of what I compressed into one day for folks who don&#8217;t do this regularly. The speed came from experience with these patterns&#8212;patterns you&#8217;ll learn by doing.</p><p>What&#8217;s possible: BuildWith in a single day. </p><p>What&#8217;s sustainable for newcomers: The same quality in a week.</p><p>The gap closes faster than you think. And every month, AI gets better. The intelligence infrastructure improves. What takes a week today might take two days next year.</p><div><hr></div><h2>Workshop: Build With Me</h2><p>I&#8217;m running a live workshop on Sunday, January 25th.</p><p>Three hours. Three spots. Everyone walks out with a working frontend prototype.</p><p>The goal isn&#8217;t to watch me talk. The goal is to build. I&#8217;ll walk through my exact process&#8212;the same approach behind uPoll, UltraPost, BuildWith, and everything else. Then we build together. You work on your project, I provide guidance and troubleshooting in real-time.</p><p><strong>Investment:</strong> Normally $997. First run: $249.</p><p>Why the discount? I want three people who are serious about building, and I want to refine the format and the framework I&#8217;m putting together. You get a deal. I get proof. We both win.</p><p><strong>I&#8217;m qualifying by project scope.</strong> Three hours is enough to get a working prototype if the scope is right. If your idea is too big, we won&#8217;t hit that goal, and I&#8217;d rather say no upfront than have you walk away frustrated.</p><p><strong>Interested?</strong> Reply to this email or DM me with your project idea. I&#8217;ll tell you if it fits.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/your-first-week-building-with-ai?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading G8N&#8226;AI! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/your-first-week-building-with-ai?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/your-first-week-building-with-ai?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em>Next up: &#8220;Why Owning Your Tools Matters More Than Saving Money&#8221;&#8212;the real reason I build my own software. Subscribe so you don&#8217;t miss it.</em></p><div><hr></div><h2>Notes / Links</h2><ul><li><p>The Vibe Coding Playbook: How I Actually Build - </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b904971f-2e17-496d-bab3-d14ecc7b5b6a&quot;,&quot;caption&quot;:&quot;I've shipped more in the last 12 months than in the previous 12 years.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Vibe Coding Playbook: How I Actually Build&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:141527315,&quot;name&quot;:&quot;Ahad Amdani&quot;,&quot;bio&quot;:&quot;20 years building software. Now saving business owners thousands per year to own their software and data instead of renting it.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!xFgz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41689cfb-3f47-4f3f-ba03-b76b51ee279e_577x577.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-15T14:01:22.753Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!N0Ye!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.g8n.ai/p/the-vibe-coding-playbook-how-i-actually&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:184621805,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:6876060,&quot;publication_name&quot;:&quot;G8N&#8226;AI&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!KMta!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf6e27c8-5a5a-4c09-9418-7a357fead909_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></li><li><p>What Vibe Coding Actually Is - </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;70652fc2-969d-4bed-8cd1-74839f33832e&quot;,&quot;caption&quot;:&quot;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;What Vibe Coding Actually Is&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:141527315,&quot;name&quot;:&quot;Ahad Amdani&quot;,&quot;bio&quot;:&quot;20 years building software. Now saving business owners thousands per year to own their software and data instead of renting it.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!xFgz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41689cfb-3f47-4f3f-ba03-b76b51ee279e_577x577.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-08T18:43:16.316Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!pHXp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.g8n.ai/p/what-vibe-coding-actually-is&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:183769979,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:6876060,&quot;publication_name&quot;:&quot;G8N&#8226;AI&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!KMta!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf6e27c8-5a5a-4c09-9418-7a357fead909_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></li><li><p>Software Sovereignty post: What If You Owned Your Tools Instead of Renting Them? - </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;aa3aa3e6-c84b-429f-9a64-b346c5ba49a6&quot;,&quot;caption&quot;:&quot;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;What If You Owned Your Tools Instead of Renting Them?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:141527315,&quot;name&quot;:&quot;Ahad Amdani&quot;,&quot;bio&quot;:&quot;20 years building software. Now saving business owners thousands per year to own their software and data instead of renting it.&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!xFgz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41689cfb-3f47-4f3f-ba03-b76b51ee279e_577x577.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-12-31T20:51:19.367Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!cDCd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a36cb02-9e6e-49f9-b121-17c9887410f7_2752x1536.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.g8n.ai/p/what-if-you-owned-your-tools-instead&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:182656051,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:8,&quot;comment_count&quot;:0,&quot;publication_id&quot;:6876060,&quot;publication_name&quot;:&quot;G8N&#8226;AI&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!KMta!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf6e27c8-5a5a-4c09-9418-7a357fead909_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div></li></ul><p><strong>Visual builders mentioned:</strong></p><ul><li><p>Replit</p></li><li><p>Lovable</p></li><li><p>Bolt</p></li></ul><p><strong>AI recommendation:</strong></p><ul><li><p>Claude Subscription</p><ul><li><p>Pro $20/mo - minimum. Good enough for most people who are solving small pain points and first beginning to leverage AI to build things.</p></li><li><p>Max $100/mo - recommended. For folks serious about continuing beyond the prototypes and single-person artifacts they are putting together and getting comfortable building.</p></li><li><p>Max $200/mo - serious for heavy AI use. This option is for if you&#8217;re going to be full time on a project or building out your brand/business and willing to learn about and leverage multiple agents running in parallel or across multiple projects for you.</p></li></ul></li></ul><p><strong>Projects mentioned:</strong></p><ul><li><p>BuildWith &#8212; <a href="http://buildwith.g8n.ai">buildwith.g8n.ai</a></p></li><li><p>uPoll &#8212; <a href="http://upoll.live">upoll.live</a></p></li><li><p>UltraPost &#8212; <a href="http://ultrapost.g8n.ai">ultrapost.g8n.ai</a></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">G8N&#8226;AI is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Vibe Coding Playbook: How I Actually Build]]></title><description><![CDATA[Three principles, real examples, and where it all breaks down]]></description><link>https://www.g8n.ai/p/the-vibe-coding-playbook-how-i-actually</link><guid isPermaLink="false">https://www.g8n.ai/p/the-vibe-coding-playbook-how-i-actually</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Thu, 15 Jan 2026 14:01:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!N0Ye!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N0Ye!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N0Ye!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!N0Ye!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!N0Ye!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!N0Ye!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N0Ye!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5502528,&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.g8n.ai/i/184621805?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.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_!N0Ye!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!N0Ye!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!N0Ye!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!N0Ye!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e6dcbfb-125f-4538-8864-882b49c3613e_2752x1536.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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/the-vibe-coding-playbook-how-i-actually?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/the-vibe-coding-playbook-how-i-actually?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>I've shipped more in the last 12 months than in the previous 12 years.</h2><p>A course engagement platform piloting at a university. A LinkedIn tool in beta. Games I'm building with my kids. Custom tools I'm building in public with peers.<br><br>All of it built the same way: describing what I want, iterating until it works, and applying judgment throughout.<br><br>Last week I wrote about what vibe coding actually is. </p><p>Today I'm sharing the exact system; including where it falls apart.</p><h2>The Three Pillars</h2><h3>Pillar 1: Start With a Clear Outcome, Not a Feature List</h3><p>AI can't read your mind. It doesn't know what "good" looks like for your specific situation.<br><br>Before I open any tool, I write one sentence describing what success looks like. Not a feature list. Not a technical specification. One sentence about the outcome.<br><br>When I started building uPoll, the sentence was: "A system where professors can broadcast questions to students in real-time and see responses instantly."<br><br>That clarity shaped every decision. When features got suggested that didn't serve that outcome, I said no. When I got stuck, I returned to that sentence to figure out what actually mattered.<br><br>The discipline isn't technical. It's knowing what you're building before you start building it.</p><p><strong>Tactical takeaway: </strong>Before your next build, write one sentence. </p><p>"A tool that does [X] so that [Y] happens." </p><p>If you can't write that sentence, you're not ready to build yet.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share G8N&#8226;AI&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share G8N&#8226;AI</span></a></p><h3>Pillar 2: Treat AI as a Collaborator, Not a Vending Machine</h3><p>The critics who say vibe coding produces garbage aren't entirely wrong. If you treat AI like a vending machine - insert prompt, receive code, deploy without thinking - you'll get exactly what they describe.<br><br>That's not how this works.<br><br>AI handles the grunt work. I handle the judgment. Every suggestion gets reviewed. Every output gets tested. When something doesn't make sense, I ask why. When something breaks, I understand the failure before accepting a fix.<br><br>The split is roughly 70/30. AI generates 70% of the volume. I provide 30% of the direction, review, and decision-making.<br><br>That 30% is where the value lives.<br><br>When uPoll's context window filled up during a complex feature, Claude suggested pagination. Technically correct. But pagination would have broken the real-time experience that was the whole point. I had to recognize that and redirect.<br><br>AI gave me options. I made the choice. That's collaboration.<br><br>Simon Willison said it better than I could: "I won't commit any code to my repository if I couldn't explain exactly what it does to somebody else."<br><br>That's the line. Cross it, and vibe coding becomes the mess the critics describe. Stay on this side, and you have leverage.<br><br><strong>Tactical takeaway:</strong> Before accepting any AI-generated code, ask: "Can I explain what this does?" </p><p>If no, don't ship it. Ask the AI to explain. Or simplify until you can.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/subscribe?"><span>Subscribe now</span></a></p><h3>Pillar 3: Iterate Relentlessly, Ship Imperfectly</h3><p><a href="http://upoll.live">uPoll.live</a> didn't ship polished. It shipped functional. The polish came from iteration.<br><br>The first version worked. Barely. Students could answer questions and professors could see responses. That was the core loop.<br><br>Then came testing. Real professors. Real students. Real problems I hadn't anticipated. One professor needed anonymous responses. Another needed response timing. A third found an edge case that crashed the whole thing.<br><br>Every problem became a conversation with AI. Every fix made the tool better. Three hundred hours of iteration later, it was polished enough for a university to trust it.<br><br>Here's what most people get wrong: they think shipping early means shipping garbage. It doesn't. It means shipping the smallest thing that proves the concept, then improving it based on reality.<br><br>The games I'm building with my kids started the same way. Simple. Barely functional. We played them, found what was fun and what wasn't, iterated. Now they're actually good.<br><br><strong>Tactical takeaway:</strong> Your first version should be embarrassingly simple. Ship it anyway. The feedback will tell you what actually matters.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/the-vibe-coding-playbook-how-i-actually/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/the-vibe-coding-playbook-how-i-actually/comments"><span>Leave a comment</span></a></p><h2>Your First Week Building With AI</h2><p>If you've never built anything with AI, here's how to start:<br><br><strong>Days 1-2: One small automation.</strong><br>Pick something you do manually at least once a week. A form you fill out. A report you compile. A message you send. Use AI to automate it. The goal isn't impressive. The goal is completing the loop: idea &#226;&#8224;&#8217; build &#226;&#8224;&#8217; ship &#226;&#8224;&#8217; use.<br><br><strong>Days 3-4: Expand slightly.</strong><br>Take that automation and add one feature. Or fix something that annoyed you. The goal is learning how to iterate. You'll hit errors. That's fine. The errors teach you how the system thinks.<br><br><strong>Days 5-7: Build something you'll actually use daily.</strong><br>Now you've got the pattern. Pick something you'll use every day. A dashboard. A tracker. A tool that scratches your itch. Something small enough to finish in a few sessions but useful enough that you'll actually open it.<br><br><strong>Tools to start with:</strong><br>- Claude or ChatGPT for the conversation<br>- A visual builder like Google AI Studio, Replit, Lovable, or Bolt for the interface<br>- That's it. You can get sophisticated later.</p><div class="community-chat" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/ahadamdani/chat?utm_source=chat_embed&quot;,&quot;subdomain&quot;:&quot;ahadamdani&quot;,&quot;pub&quot;:{&quot;id&quot;:6876060,&quot;name&quot;:&quot;G8N&#8226;AI&quot;,&quot;author_name&quot;:&quot;Ahad Amdani&quot;,&quot;author_photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!xFgz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41689cfb-3f47-4f3f-ba03-b76b51ee279e_577x577.jpeg&quot;}}" data-component-name="CommunityChatRenderPlaceholder"></div><h2>Where It All Breaks Down</h2><p>I'm not going to pretend this works for everything. It doesn't. Here's where vibe coding hits its limits:<br><br><strong>Context limits:</strong> Long conversations lose coherence. The AI forgets earlier decisions. You get contradictory suggestions. <em>The solution:</em> break complex builds into smaller sessions with clear handoffs. Document your decisions outside the chat.<br><br><strong>Complex debugging:</strong> When systems get interconnected, AI guesses can make things worse. One "fix" creates two new bugs. <em>The solution:</em> isolate the problem first. Strip away complexity until you can see what's actually broken.<br><br><strong>Anything with real consequences:</strong> Payments. Authentication. Security. Data you can't afford to lose. <em>The solution:</em> prototype with vibe coding, but slow down for production. Understand what you're deploying when the stakes are real.<br><br><em>The solution</em> isn't to avoid vibe coding. It's to use it appropriately. Prototype fast. <strong>Iterate freely</strong>. Then slow down when it matters.</p><div class="directMessage button" data-attrs="{&quot;userId&quot;:141527315,&quot;userName&quot;:&quot;Ahad Amdani&quot;,&quot;canDm&quot;:null,&quot;dmUpgradeOptions&quot;:null,&quot;isEditorNode&quot;:true}" data-component-name="DirectMessageToDOM"></div><h2>Beyond Code: Building With AI as a Thinking Partner</h2><p>Here's something I didn't expect when I started: AI isn't just useful for code. It's useful for thinking through problems.<br><br>The content strategy for this newsletter? Developed in conversation with Claude. The episode planning for the podcast? Same thing. The positioning for my services? Refined across multiple sessions.<br><br>I'm not accepting everything AI suggests. I'm challenging it, pushing back, using my judgment. But having something to react to is faster than staring at a blank page.<br><br>The 70/30 split applies to business building, not just coding. AI generates ideas and options. I decide what's actually right for my situation.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share G8N&#8226;AI&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share G8N&#8226;AI</span></a></p><h2>What I'm Building Now</h2><p>Here's where I'm at:<br><br><strong><a href="http://upoll.live">uPoll.live</a>:</strong> Live, piloting at University of Texas at Arlington. Real professor using it with real students. The iteration continues.<br><br><strong>UltraPost:</strong> In beta at <a href="http://ultrapost.g8n.ai">ultrapost.g8n.ai</a>. A LinkedIn content generation and scheduling tool built on these same principles. Testing with early users now.<br><br><strong>Custom client tools:</strong> Building in public with peers who want their own solutions. <em>More on this soon.</em><br><br><strong>Games with my kids:</strong> Not for distribution, just for fun. But the process is identical.<br><br><strong>And this whole thing: </strong>the newsletter, the podcast, the content machine. It&#8217;s a demonstration of what's possible when you approach AI as a collaborator.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/the-vibe-coding-playbook-how-i-actually?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/the-vibe-coding-playbook-how-i-actually?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>Workshop: Build Your First Prototype With Me</h2><p>I'm running a live workshop on Sunday, January 25th.<br><br>Three hours. Three spots. Everyone walks out with a working frontend prototype.<br><br>The goal isn't to watch me talk. The goal is to build. I'll walk through my exact process - the same approach behind uPoll, UltraPost, and everything else. Then we build together. You work on your project, I provide guidance and troubleshooting in real-time.<br><br><strong>Investment:</strong> Normally $997. First run: $249.<br><br>Why the discount? I want three people who are serious about building, and I want to prove this format works. You get a deal. I get proof. We both win.<br><br><strong>I'm qualifying by project scope.</strong> Three hours is enough to get a working prototype if the scope is right. If your idea is too big, we won't hit that goal, and I'd rather say no upfront than have you walk away frustrated.<br><br><strong>Interested?</strong> Reply to this email/post or DM me with your project idea. I'll tell you if it fits.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">G8N&#8226;AI is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>Next up: "Your First Week Building With AI" &#8212; a detailed walkthrough for complete beginners. Subscribe so you don't miss it!</em></p>]]></content:encoded></item><item><title><![CDATA[The Citizen Developer Mindset]]></title><description><![CDATA[The Barrier to Building Has Collapsed]]></description><link>https://www.g8n.ai/p/the-citizen-developer-mindset</link><guid isPermaLink="false">https://www.g8n.ai/p/the-citizen-developer-mindset</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Tue, 13 Jan 2026 16:16:16 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/184406381/f577a4ba4c8c21170ec41140b3fb2911.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7a9D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7a9D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!7a9D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!7a9D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!7a9D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7a9D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6723712,&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.g8n.ai/i/184406381?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.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_!7a9D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!7a9D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!7a9D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!7a9D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1093a8-a623-4712-b193-d3203dd55423_2752x1536.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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/the-citizen-developer-mindset?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/the-citizen-developer-mindset?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>The barrier to building serious software has collapsed. This episode covers:</p><ul><li><p>Why most people who could build with AI don&#8217;t (hint: it&#8217;s not technical)</p></li><li><p>What vibe coding actually requires: clarity, discipline, iteration</p></li><li><p>Proof that this approach builds production software, not toys</p></li><li><p>How Software Sovereignty and the citizen developer mindset connect</p></li><li><p>What&#8217;s coming in 2026 with agentic AI and agentic workflows</p></li></ul><p><strong>Links referenced:</strong></p><ul><li><p>&#8220;What If You Owned Your Tools Instead of Renting Them?&#8221; &#8212; <a href="https://www.g8n.ai/p/what-if-you-owned-your-tools-instead">https://www.g8n.ai/p/what-if-you-owned-your-tools-instead</a></p></li><li><p>&#8220;What Vibe Coding Actually Is (And Why Both Camps Are Wrong)&#8221; &#8212; <a href="https://www.g8n.ai/p/what-vibe-coding-actually-is">https://www.g8n.ai/p/what-vibe-coding-actually-is</a></p></li></ul><p><strong>Projects mentioned:</strong></p><ul><li><p><a href="https://upoll.live">uPoll.live</a> &#8212; 300+ hours, university pilot, course engagement SaaS</p></li><li><p>UltraPost &#8212; <a href="http://ultrapost.g8n.ai">ultrapost.g8n.ai</a> (in beta)</p></li></ul><p><strong>Subscribe:</strong> <a href="https://www.g8n.ai/subscribe">g8n.ai/subscribe</a></p>]]></content:encoded></item><item><title><![CDATA[What Vibe Coding Actually Is]]></title><description><![CDATA[(And Why Both Camps Are Wrong)]]></description><link>https://www.g8n.ai/p/what-vibe-coding-actually-is</link><guid isPermaLink="false">https://www.g8n.ai/p/what-vibe-coding-actually-is</guid><dc:creator><![CDATA[Ahad Amdani]]></dc:creator><pubDate>Thu, 08 Jan 2026 18:43:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pHXp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pHXp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pHXp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!pHXp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!pHXp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!pHXp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pHXp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6577562,&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.g8n.ai/i/183769979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.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_!pHXp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!pHXp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!pHXp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!pHXp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb18e94a2-debe-4ea5-94a8-bd3b5d02cdc5_2752x1536.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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/what-vibe-coding-actually-is?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/what-vibe-coding-actually-is?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><h2>The Real Skill Isn&#8217;t Using AI. It&#8217;s Knowing Where to Stop and Adjust.</h2><p>In February 2025, Andrej Karpathy posted something that would define the year in software development.</p><p>&#8220;There&#8217;s a new kind of coding I call &#8216;vibe coding,&#8217;&#8221; the OpenAI co-founder wrote, &#8220;where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.&#8221;</p><p>He described his approach: accepting all AI suggestions without reading them, copy-pasting error messages without analysis, letting &#8220;the code grow beyond my usual comprehension.&#8221;</p><p>The response was immediate and polarized.</p><p>One camp embraced it completely. Suddenly feeds filled with people claiming anyone could build production apps overnight. No coding required. Just describe what you want and AI handles the rest.</p><p>The other camp rejected it just as forcefully. Senior engineers called it irresponsible. They pointed to security vulnerabilities, deleted databases, applications that collapsed under real usage. A study from METR found developers actually worked 19% <em>slower</em> with AI tools&#8212;even though those same developers believed they were faster. Before the study, developers predicted AI would speed them up by 24%. After experiencing the measured slowdown, they still believed AI had improved their productivity by 20%.</p><p>That perception gap should concern everyone.</p><p>Here&#8217;s what both camps missed: Karpathy explicitly said this approach was for &#8220;throwaway weekend projects.&#8221; Not production software. Not apps handling real users or real money. Weekend experiments where the stakes are low and the learning is high.</p><p>That context got stripped away in every hot take that followed.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share G8N&#8226;AI&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share G8N&#8226;AI</span></a></p><div><hr></div><h2><strong>The Actual Question Nobody&#8217;s Asking</strong></h2><p>The debate over whether vibe coding is &#8220;good&#8221; or &#8220;bad&#8221; misses what matters. The real question is simpler: <strong>Where does AI help end and human judgment begin?</strong></p><p>Simon Willison&#8212;creator of Django, one of the most widely-used web frameworks&#8212;drew the line clearly: &#8220;Vibe coding does not mean &#8216;using AI tools to help write code.&#8217; It means &#8216;generating code with AI without caring about the code that is produced.&#8217;&#8221;</p><p>His personal rule: &#8220;I won&#8217;t commit any code to my repository if I couldn&#8217;t explain exactly what it does to somebody else.&#8221;</p><p>That&#8217;s the distinction. Not whether AI wrote the code, but whether you understand it.</p><p>If you&#8217;ve reviewed everything, tested it, and can explain what it does? That&#8217;s not vibe coding&#8212;that&#8217;s software development with better tools. If you&#8217;re accepting suggestions without reading them and hoping it works? That&#8217;s the approach Karpathy reserved for throwaway projects.</p><p>The people having success with AI building aren&#8217;t the ones who&#8217;ve figured out how to give AI complete control. They&#8217;re the ones who&#8217;ve figured out how to collaborate&#8212;when to trust AI&#8217;s output and when to question it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>When to Use This Approach</strong></h2><p>Not every project deserves the same level of scrutiny. A weekend experiment is different from software handling customer data. The skill is matching your approach to the stakes.</p><p><strong>This approach works well for:</strong></p><p>Personal tools and games you&#8217;re building for yourself. The worst case is you waste some time if something breaks.</p><p>Prototypes where you&#8217;re testing whether an idea is worth pursuing. Speed matters more than polish. You&#8217;re trying to learn something, not ship something.</p><p>Learning projects where the goal is understanding, not production. Breaking things is part of the process.</p><p>Automation for your own workflows. Connecting tools, moving data around, simplifying repetitive tasks. Low stakes, high leverage.</p><p><strong>This approach breaks down for:</strong></p><p>Anything touching money. Payments, transactions, financial data. The cost of getting it wrong is too high.</p><p>Anything touching security. Authentication, authorization, user data. A Veracode analysis found 45% of AI-generated code introduced security vulnerabilities. That&#8217;s not a rounding error&#8212;that&#8217;s a pattern.</p><p>Production systems you don&#8217;t understand. If you can&#8217;t explain what the code does, you can&#8217;t debug it when it breaks. And it will break.</p><p>Code that other people depend on. When the blast radius extends beyond yourself, the standards have to go up.</p><div class="community-chat" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/ahadamdani/chat?utm_source=chat_embed&quot;,&quot;subdomain&quot;:&quot;ahadamdani&quot;,&quot;pub&quot;:{&quot;id&quot;:6876060,&quot;name&quot;:&quot;G8N&#8226;AI&quot;,&quot;author_name&quot;:&quot;Ahad Amdani&quot;,&quot;author_photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!xFgz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41689cfb-3f47-4f3f-ba03-b76b51ee279e_577x577.jpeg&quot;}}" data-component-name="CommunityChatRenderPlaceholder"></div><div><hr></div><h2><strong>The Permission You Might Need</strong></h2><p>Here&#8217;s something that took me too long to realize: you don&#8217;t need to &#8220;become a developer&#8221; to build useful things with AI.</p><p>That framing is wrong. It implies there&#8217;s a binary&#8212;either you&#8217;re a developer or you&#8217;re not, and you need to cross some threshold before you&#8217;re allowed to build.</p><p>The data suggests otherwise. According to research on vibe coding adoption, 63% of people using this approach identify as non-developers. Product managers, designers, entrepreneurs&#8212;people building functional applications without traditional engineering backgrounds.</p><p>The goal isn&#8217;t becoming an engineer. The goal is solving your problems.</p><p>What you do need: willingness to try, willingness to break things, willingness to ask questions when you&#8217;re stuck. The barrier isn&#8217;t knowledge&#8212;it&#8217;s permission.</p><p>And here&#8217;s the thing about permission: you don&#8217;t need anyone else to give it to you. You can just start.</p><p>Build something small. Something where the stakes are low and you&#8217;ll learn regardless of whether it works. See what happens. See if you like it. See if you want to keep going.</p><p>Most people who build successfully with AI didn&#8217;t start with a grand vision. They started with a small annoyance they wanted to fix. The skills compound from there.</p><div class="directMessage button" data-attrs="{&quot;userId&quot;:141527315,&quot;userName&quot;:&quot;Ahad Amdani&quot;,&quot;canDm&quot;:null,&quot;dmUpgradeOptions&quot;:null,&quot;isEditorNode&quot;:true}" data-component-name="DirectMessageToDOM"></div><div><hr></div><h2><strong>What Comes Next</strong></h2><p>This piece was intentionally about framing. About understanding what vibe coding actually is, when it applies, and where the real skill lies.</p><p>Next week, I&#8217;ll share the actual playbook&#8212;the specific principles that guide how I build, with examples from tools I&#8217;ve shipped. The tactics work better once this framing is in place.</p><p>But here&#8217;s what I want you to take from today:</p><p>The skeptics aren&#8217;t entirely wrong. There are real risks, real failures, real reasons to be careful. Understanding those risks is part of being good at this.</p><p>The enthusiasts aren&#8217;t entirely wrong either. <strong>The barrier to building has genuinely collapsed</strong>. Things that required teams of engineers five years ago can be built by individuals now. That&#8217;s real and significant.</p><p>The skill isn&#8217;t picking a side in that debate. It&#8217;s developing judgment about when to trust AI&#8217;s output and when to verify. It&#8217;s understanding enough about what you&#8217;re building that you can catch problems before they become disasters.</p><p>That&#8217;s not magic. It&#8217;s not &#8220;just vibes.&#8221; It&#8217;s a learnable skill. And it starts with permission&#8212;permission to try, to break things, to build something even if you don&#8217;t have all the answers yet.</p><p>You&#8217;re allowed to try this.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/p/what-vibe-coding-actually-is/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.g8n.ai/p/what-vibe-coding-actually-is/comments"><span>Leave a comment</span></a></p><div><hr></div><p><em>Next week: The Vibe Coding Playbook&#8212;specific principles for building with AI, with examples from tools I&#8217;ve shipped. Subscribe so you don&#8217;t miss it.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.g8n.ai/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">G8N&#8226;AI is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>