<?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[Push To Prod]]></title><description><![CDATA[John is Senior Staff engineers from Meta. I share practical AI workflows, tools, and engineering insights. no hype, just what actually works in production.]]></description><link>https://getpushtoprod.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!-l5-!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89a13663-f57e-455d-89f3-7d63667b36d9_256x256.png</url><title>Push To Prod</title><link>https://getpushtoprod.substack.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 04 Nov 2026 15:14:00 GMT</lastBuildDate><atom:link href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Ffeed" rel="self" type="application/rss+xml"/><copyright><![CDATA[John Kim]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[getpushtoprod@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[getpushtoprod@substack.com]]></itunes:email><itunes:name><![CDATA[John Kim]]></itunes:name></itunes:owner><itunes:author><![CDATA[John Kim]]></itunes:author><googleplay:owner><![CDATA[getpushtoprod@substack.com]]></googleplay:owner><googleplay:email><![CDATA[getpushtoprod@substack.com]]></googleplay:email><googleplay:author><![CDATA[John Kim]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Stop Prompting]]></title><description><![CDATA[New video on how to think about AI coding in systems and goals]]></description><link>https://getpushtoprod.substack.com/p/stop-prompting</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/stop-prompting</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sun, 11 Oct 2026 17:53:29 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Fyoutube%2Fw_728%2Cc_limit%2FP0I8jl7WUf0" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>What does it mean to Stop Prompting?<br><br>A lot of the leaders in AI Coding space has been saying this for the past few months. In my latest video I dive into this topic and deep dive into how you should be thinking about loop / goals and thinking in system.<br><br>If you are juggling a bunch of agents in different terminals ever 5 minutes, I highly recommend you to watch this video.</p><div id="youtube2-P0I8jl7WUf0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;P0I8jl7WUf0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2FP0I8jl7WUf0%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fsubscribe%3F"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Making Your App Feel Alive With Animations]]></title><description><![CDATA[Craft and Delight is what separates your app from AI Slo]]></description><link>https://getpushtoprod.substack.com/p/making-your-app-feel-alive-with-animations</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/making-your-app-feel-alive-with-animations</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sat, 03 Oct 2026 15:19:53 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Fyoutube%2Fw_728%2Cc_limit%2Ff-Ar8mwm3kQ" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there,</p><p>Does your vibe-coded app feel a little lifeless?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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">Push To Prod 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>I think a lot of AI-built apps focus on getting the functionality working, but miss the taste and craft you expect from a really good app. Animations are one of the things that can make a big difference.</p><p>That last bit of polish is where you can bring a lot of delight. I&#8217;ve been working on a little side project, and when someone opens it, I want them to stop for a moment, and think, &#8220;Wow, this is really beautiful.&#8221;</p><p>AI makes building animations a lot easier, but just asking it to &#8220;add animations&#8221; usually isn&#8217;t enough. You still have to know what you&#8217;re going for and look at the result.</p><p>In this video, I walk through the different approaches and how I use Codex to build them, so you have a better sense of how to steer your AI.</p><div id="youtube2-f-Ar8mwm3kQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;f-Ar8mwm3kQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2Ff-Ar8mwm3kQ%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><br>I also made a visual cheat sheet you can keep around while you&#8217;re building. These approaches overlap, and you&#8217;ll often want to combine them. You can probably just send the picture to your Agent to give it a good seed of things to think through.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21EMyl%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F77017a91-74e2-473d-a099-4977da660840_1086x1448.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EMyl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77017a91-74e2-473d-a099-4977da660840_1086x1448.png 424w, https://substackcdn.com/image/fetch/$s_!EMyl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77017a91-74e2-473d-a099-4977da660840_1086x1448.png 848w, https://substackcdn.com/image/fetch/$s_!EMyl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77017a91-74e2-473d-a099-4977da660840_1086x1448.png 1272w, https://substackcdn.com/image/fetch/$s_!EMyl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77017a91-74e2-473d-a099-4977da660840_1086x1448.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21EMyl%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F77017a91-74e2-473d-a099-4977da660840_1086x1448.png" width="1086" height="1448" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77017a91-74e2-473d-a099-4977da660840_1086x1448.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1448,&quot;width&quot;:1086,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The app animation cheat sheet: keyframes, springs, gestures, physics, SVG paths, layout transitions, Rive and Lottie, skeletal rigs, flipbooks and video, particles, and shaders. Combine approaches to create the feeling you want.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The app animation cheat sheet: keyframes, springs, gestures, physics, SVG paths, layout transitions, Rive and Lottie, skeletal rigs, flipbooks and video, particles, and shaders. Combine approaches to create the feeling you want." title="The app animation cheat sheet: keyframes, springs, gestures, physics, SVG paths, layout transitions, Rive and Lottie, skeletal rigs, flipbooks and video, particles, and shaders. Combine approaches to create the feeling you want." srcset="https://substackcdn.com/image/fetch/$s_!EMyl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77017a91-74e2-473d-a099-4977da660840_1086x1448.png 424w, https://substackcdn.com/image/fetch/$s_!EMyl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77017a91-74e2-473d-a099-4977da660840_1086x1448.png 848w, https://substackcdn.com/image/fetch/$s_!EMyl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77017a91-74e2-473d-a099-4977da660840_1086x1448.png 1272w, https://substackcdn.com/image/fetch/$s_!EMyl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77017a91-74e2-473d-a099-4977da660840_1086x1448.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 useful tradeoffs:</p><ul><li><p>Keyframes give you precise timing; springs are useful when motion needs to respond and settle.</p></li><li><p>Gestures make motion follow the person; physics adds simulated momentum and collisions.</p></li><li><p>SVG paths animate geometry; layout transitions connect two arrangements of your UI.</p></li><li><p>Rive and Lottie let you author motion visually. Think about the interactions and runtime features you need.</p></li><li><p>Rigs coordinate character parts. Flipbooks and video bake the motion ahead of time, so there&#8217;s less you can change during playback.</p></li><li><p>Particles make a celebration out of lots of small pieces. Shaders change the rendered surface, but take more care to build and tune.</p></li></ul><p>Knowing what these tools can do makes it easier to give your AI a useful direction. Try one small interaction in your app and see how it feels.</p><p>Cheers John</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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"></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[WTF is JEV]]></title><description><![CDATA[Everything you need to know and debunking the demos]]></description><link>https://getpushtoprod.substack.com/p/wtf-is-jev</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/wtf-is-jev</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Thu, 01 Oct 2026 21:05:40 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Z-OS%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Z-OS%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z-OS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z-OS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z-OS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z-OS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Z-OS%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;JEV in large black lettering on pink, with the handwritten question &#8216;best new ai model?&#8217; and an arrow.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="JEV in large black lettering on pink, with the handwritten question &#8216;best new ai model?&#8217; and an arrow." title="JEV in large black lettering on pink, with the handwritten question &#8216;best new ai model?&#8217; and an arrow." srcset="https://substackcdn.com/image/fetch/$s_!Z-OS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Z-OS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Z-OS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Z-OS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05a94248-f279-44ed-bab0-d456051324a3_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>By now everyone has probably heard about Jev and its insane claims about being 400x faster and 200x cheaper than the state of the art AI models.<br><br>I recently made a video and I go over what Jev actually is, how to use it, and debunking the demos!<br><br>I also built a voice controller for World of Warcraft for fun to see how far I can push it.<br><br>Check it out!</p><div id="youtube2-fgNf9nFXO_I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;fgNf9nFXO_I&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2FfgNf9nFXO_I%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fsubscribe%3F"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[If You Feel Behind in AI This is For You]]></title><description><![CDATA[let me prove it to you with data]]></description><link>https://getpushtoprod.substack.com/p/if-you-feel-behind-in-ai-this-is</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/if-you-feel-behind-in-ai-this-is</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sat, 12 Sep 2026 16:28:22 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Fyoutube%2Fw_728%2Cc_limit%2FY80xnKNabSQ" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you spend enough time on social media and it starts to feel like everyone is running 100 agents while you&#8217;re still figuring out where to start. This is a lie and I want to prove it to you.</p><p>I made a video breaking down what the adoption data actually says and what I&#8217;d focus on instead of trying to keep up with every new tool. If you&#8217;ve been feeling overwhelmed by AI lately, this one&#8217;s for you.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fsubscribe%3F"><span>Subscribe now</span></a></p><div id="youtube2-Y80xnKNabSQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Y80xnKNabSQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2FY80xnKNabSQ%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Cheers y&#8217;all!</p>]]></content:encoded></item><item><title><![CDATA[Which AI Agent Is Right For You?]]></title><description><![CDATA[A quick guide for on AI Agents for busy people]]></description><link>https://getpushtoprod.substack.com/p/which-ai-agent-is-right-for-you</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/which-ai-agent-is-right-for-you</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sat, 12 Sep 2026 14:12:31 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%210hZd%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%210hZd%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0hZd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!0hZd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!0hZd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!0hZd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%210hZd%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Jonny considers a laptop, a toolbox, and a personal assistant on a phone.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Jonny considers a laptop, a toolbox, and a personal assistant on a phone." title="Jonny considers a laptop, a toolbox, and a personal assistant on a phone." srcset="https://substackcdn.com/image/fetch/$s_!0hZd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!0hZd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!0hZd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!0hZd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04e91315-4b22-447f-baad-5d2aa1276c3a_1672x941.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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 year ago, I would have said everyone should just be using Claude Code CLI or Codex CLI in the terminal. Going from a chatbot experience like ChatGPT to one of these agentic systems, the difference in what you could do was dramatic. <br><br>Learning the terminal felt worth it, even if you never seen a terminal before.</p><p>I don&#8217;t give everyone that recommendation anymore. There are enough options now that the right starting point depends a lot more on the person.</p><p>There are so many product offerings now that are all kind of labeled as agentic assistants. </p><p>Codex, Claude, Cursor, Pi, OpenCode, OpenClaw, Hermes, Muse, Grok Bot. </p><p>But anyone who&#8217;s using these things daily knows very quickly that certain things are better for different things. I want to break down my thoughts on these harnesses and what they&#8217;re useful for, because just telling someone to go use agents doesn&#8217;t really tell them where to start.</p><p>And the tool I&#8217;d recommend to another engineer is probably different from the one I&#8217;d recommend to a small business owner, or my mom.</p><p>I made a few Personas for this newletter. <br><br>We have engineers doing software engineering, who want to understand the code and have control over how things run. Then there are people in technical roles who can build a lot of things: data scientists, PMs, designers. They might be able to do UI work or build something useful without necessarily understanding everything that&#8217;s written in the code, or every optimization it needs.</p><p>Then there are the tinkerers and early adopters. People who don&#8217;t mind figuring things out. Some business owners fall into that group, but plenty are just working at some business, trying to make something easier. Then there&#8217;s the average person, or a less technical parent, who just wants some help.</p><p>For each of these groups where you should start in your AI journal I think is very different.<br><br>lets get into it.</p>
      <p>
          <a href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fp%2Fwhich-ai-agent-is-right-for-you">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Questions From my Ask Me Anything]]></title><description><![CDATA[Answering 300 or so questions by themes.]]></description><link>https://getpushtoprod.substack.com/p/questions-from-my-ask-me-anything</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/questions-from-my-ask-me-anything</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Mon, 24 Aug 2026 14:03:39 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Fyoutube%2Fw_728%2Cc_limit%2FPl_3EAq-nbw" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I recently starting posting on Threads and X and I stated with an AMA. I got roughly over 300 questions over a few days and these are the top questions de-duped and organized by themes. I also created a video version for those of you who want to consume it that way. Cheers! </p><div id="youtube2-Pl_3EAq-nbw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Pl_3EAq-nbw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2FPl_3EAq-nbw%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fsubscribe%3F"><span>Subscribe now</span></a></p><h2><br>1. Where Do You See The Future Of Software Engineering Jobs?</h2><p>Honestly, no one knows the future.</p><p>There is probably more safety in a physical job like dentistry, at least for a while. But maybe because I&#8217;m an optimist I still feel that Software Engineering will be important in the future. I believe there is a Jevons paradox happening with code. As coding agents get cheaper and easier to use, we&#8217;re going to create much more software. That code still needs to be reviewed, landed, and maintained.</p><p>Junior engineers are clearly having a hard time entering the field, and that problem needs to be solved. It&#8217;s hard for me to recommend this career 100% to someone who has not started yet because the entry point is rough right now.</p><p>But if you&#8217;re already an engineer, I think you should stick around. Keep learning, keep pushing, and adopt these tools. The latest models are geniuses and then somehow fall flat on their face doing the smallest thing. I think humans are still going to be needed for a while.</p><h2>2. How Much Time Should Engineers Spend Improving Their AI Workflow?</h2><p>There is a balancing act between always jumping to the newest thing and sticking with what works.</p><p>I like to build a workflow that works really well for me first. Then, when there is a meaningful model release or a product that changes the paradigm, I go into an exploration phase and give it a real try. I don&#8217;t rebuild my entire setup for every little launch.</p><p>Doing normal work will teach you a lot, but it only teaches you the features you happen to run into. I also read the docs. I try the small changes like hotkeys. I deliberately test all the features that I&#8217;d probably never discover during a normal workday.</p><p>You would be surprised how much one hidden feature can change your workflow. So my answer is: get very good at one setup, then create focused periods where you explore what is new.</p><h2>3. How Do You Review AI-generated Code?</h2><p>Code review is the topic I keep changing my mind on. Right now, I think of it as a gradient based on safety.</p><p>I imagine the codebase as a tree. If the change touches the trunk, e.a. shared infrastructure, a hotspot, or something with a lot of dependencies, then I increase both my effort and the agent&#8217;s effort. I look at safety and gating first, then architecture, quality, and cleanliness.</p><p>If it&#8217;s a leaf-node change, like a new component that&#8217;s not integrated anywhere, I don&#8217;t review it with the same intensity. The blast radius is tiny.</p><p>The old engineering practices still matter: small atomic diffs, one purpose per change, easy reverts, and strong tests. I also ask agents to provide proof: screenshots, videos, runtime data, logs, unit tests, or whatever actually demonstrates that the code works.</p><p>At the end of the day, you can&#8217;t go into a SEV review and say, &#8220;The AI wrote it. It&#8217;s not my fault.&#8221; You still have to stand by what you ship. I just tune the amount of review to the risk of the change.</p><h2>4. How Can Someone Without Much Experience Judge AI Architecture Decisions?</h2><p>Honestly, it&#8217;s hard because you don&#8217;t know what you don&#8217;t know.</p><p>You can ask another agent to do an adversarial review or use a skill that grills the architecture, but the goal should still be understanding. If the AI gives you a plan and you don&#8217;t understand a word or a term, slow down and ask about it.</p><p>I&#8217;ve been learning model scaling even though I&#8217;m not an ML engineer or AI researcher. Sometimes I read one paragraph, ask the AI questions about every part I don&#8217;t understand, and it takes me hours to get through one page. But afterward I understand it much more deeply than if I had just breezed through it.</p><p>If your goal is to ship something as fast as possible, slowing down like this may not help. But if your goal is to become a better engineer, use AI to teach you. Study the fundamentals, question the plan, and don&#8217;t let the agent&#8217;s confidence become your understanding.</p><h2>5. Are You Making An Updated Coding Workflow Walkthrough?</h2><p>Yes. The original video was my first major breakout on YouTube and is sitting around half a million views. I still think most of it holds up because it was not only a Claude Code tutorial. It covered the beginnings of agentic engineering.</p><p>But my workflow has changed a lot. I use the Codex app much more, and the ideas around context engineering, compound engineering, harnesses, goals, and agentic validation have all evolved.</p><p>So the short answer is that an update is in the works. The annoying answer is that these videos take months because I need to use the workflow every day before I feel comfortable teaching it.</p><h2>6. How Much Code Do You Still Write By Hand?</h2><p>The simple answer is none. I don&#8217;t manually write code by hand anymore.</p><p>I used to genuinely love coding. I don&#8217;t have a CS degree. I found coding as a hobby, spent about five years building random apps with friends, and eventually went through a boot camp and became an engineer. So when I stopped writing code manually, I mourned it for a while. It felt kind of bad.</p><p>But the workflow is different now. Agents can take longer goals and complete much larger tasks without the constant babysitting we had before.</p><p>I think manual coding is going away, as sad as that is. AI won&#8217;t write the exact perfect code you imagined every time, but with the right context and validation, it can usually do the coding part.</p><p>That doesn&#8217;t mean engineering is solved. Architecture, context, product judgment, validation, debugging, and responsibility are still there. The typing part is just becoming a much smaller part of the job.</p><h2>7. If AI Lets Everyone Build, What Becomes The Competitive Advantage?</h2><p>There are a few answers.</p><p>For companies, domain knowledge, proprietary data, distribution, and network effects still matter. AI doesn&#8217;t magically recreate a social graph or years of specialized operational data.</p><p>For individuals, I think there is still a massive gap in AI skill. I teach AI coding, and I see how different the knowledge level is between people. We live in this tiny bubble where everyone talks about models, harnesses, image generation, and token costs all day. Most normal people don&#8217;t give a shit about any of that. They use ChatGPT or Gemini and are happy.</p><p>My mom uses them and thinks they&#8217;re great. She doesn&#8217;t need to know what Codex can do.</p><p>So if you learn these coding tools deeply right now, that&#8217;s already an advantage. The fact that everyone technically has access doesn&#8217;t mean everyone knows how to use them well.</p><h2>8. How Do You Stay Sharp If You&#8217;re No Longer Writing Code Manually?</h2><p>I&#8217;m constantly learning.</p><p>When I see an architecture or pattern I don&#8217;t recognize during a diff review, I stop and ask questions. I also spend a lot of my own time digging into technologies that have nothing to do with the immediate task.</p><p>The biggest advantage I have is that I create content. If I want to teach something, I have to understand it. Once you try to explain an idea out loud, you immediately see the gaps in what you thought you knew.</p><p>That&#8217;s actually why I started YouTube eight years ago. I wanted an excuse to talk about the things I was learning. Teaching creates a flywheel: I learn something, try to teach it, discover the gaps, learn it more deeply, and sometimes change the way I work.</p><p>You don&#8217;t need to become a creator, but you do need focused time where the goal is learning rather than output.</p><h2>9. What Should A Student Learn Now To Become Job-Ready?</h2><p>I&#8217;d focus on two things at the same time.</p><p>First, learn one agentic coding tool really well. Codex, Claude Code, Cursor, OpenCode. It doesn&#8217;t matter as much as going deep. Understand memory, context, skills, MCP, subagents, agent teams, models, and validation. Use the tools enough that you develop a feel for where they&#8217;re strong and where they&#8217;re likely to fail.</p><p>I think interviews will eventually test some of this. Maybe not everywhere yet, but agentic engineering is becoming part of the job.</p><p>Second, keep learning the foundations: data structures, algorithms, design patterns, clean code, architecture, and debugging.</p><p>Agentic coding is another abstraction layer, and abstractions always leak. When the agent gets stuck, your fundamentals are what let you peel back the layers, understand the actual problem, and steer it somewhere useful.</p><h2>10. Codex Or Claude Code? Which Coding Agent Do You Use?</h2><p>I use both, although I&#8217;ve moved almost entirely from the terminal into the Codex app for my own work.</p><p>Two months before recording this, I&#8217;d have said there was no way I&#8217;d give up the CLI. It&#8217;s powerful and I had a lot of muscle memory there. But the app has rich rendering, voice control, prompt queues, easy diff review, and all these little interactions that are difficult to reproduce in a terminal.</p><p>I can also control my threads from my phone while my laptop is sitting at home running. That has changed how I work more than I expected.</p><p>On model quality, I preferred the OpenAI coding models when I recorded this. I thought the output was comparable, less verbose, and had a little more dog in it&#8212;it would just keep going until it found the answer. But this can change with the next model release. That&#8217;s the annoying thing about making permanent recommendations in this space.</p><p>The durable preference for me is the complete app workflow. It would be hard to give that up now.</p><h2>11. How Do You Think About Permissions And Safeguards For Coding Agents?</h2><p>I think we&#8217;re moving toward longer agent runs with fewer permission interruptions, but much stronger safeguards around the work.</p><p>The agent should be able to operate without asking you about every tiny action. At the same time, you need an agentic garden around it: boundaries that stop one failure from spreading across your codebase, database, or operating system.</p><p>More autonomy is fine if the output meets your quality bar and the system prevents the truly destructive stuff. The long-term answer is not endless approval prompts. It&#8217;s better models plus better containment and validation.</p><h2>12. How Should Students Balance Fundamentals With Rapid Prototyping?</h2><p>If you&#8217;re a student, I think you should focus on the fundamentals.</p><p>Why are you prototyping? At work, we prototype to answer a specific question. For a product, I might want to feel the UX before committing to it. For infrastructure, I may have several agents build different approaches so I can feel the API and discover missing abstractions.</p><p>I&#8217;m usually not studying the generated code in those situations because learning is not the purpose of the prototype. The prototype is there to answer a question.</p><p>So if your goal is learning, learn. If your goal is testing an idea, prototype. Don&#8217;t confuse the two and assume that producing more demos means you understand the system better.</p><h2>13. Which AI Engineering Specialty Should Someone Focus On?</h2><p>Serving models, training, reinforcement learning, AI infrastructure, security, memory&#8212;any one of these can become a great career. It depends on where you are and what you actually find interesting.</p><p>For me to switch into serious model research or kernel optimization would probably take years. I feel world-class at what I do now, but I&#8217;d be a novice again in that domain. There is a huge amount to learn before you can contribute at the frontier.</p><p>Try the basic version of the work first. Train a small model. Talk to people who do the job. See whether you enjoy sitting with the hard parts.</p><p>Chasing a specialty only because it pays well has never made sense to me. You usually quit because the work required to become good is too hard. Pick the difficult thing you&#8217;re interested enough to keep doing.</p><h2>14. What Do You Think The Next Major Leap In AI Will Be?</h2><p>I don&#8217;t know what the industry&#8217;s next leap will be, but I know what I want personally.</p><p>First, I want a much better mobile interface. Voice control is already good, but I need richer visual feedback so I can manage agents while walking around instead of sitting in front of a computer all day. Glasses may eventually be a good form factor. If I could do more of this job without being attached to a desk, it would genuinely change my quality of life.</p><p>Second, I want native video understanding. Current workflows often break video into frames and try to piece together what happened. I use that for debugging animations, and it&#8217;s slow and unreliable. A model that can understand video directly would be really useful.</p><h2>15. Will Agents Become Portable Across Models And Coding Tools?</h2><p>I think agents that operate for people will eventually have their own identity.</p><p>An agent may need its own payment method, permissions, reputation, communication accounts, and other things required to act on your behalf. I think agent traffic will eventually be larger than human traffic on the internet, so some concept of an agent as a real entity has to emerge.</p><p>I&#8217;m less sure that all of the memory and behavior will move cleanly between Claude Code, Codex, Cursor, and every other harness. But the identity and permission layer feels inevitable to me. Someone will build it. I wouldn&#8217;t be surprised if a payments company plays a major role, but we will see.</p><h2>16. Is It Safe To Upload Confidential Documents To AI Tools?</h2><p>If you work with regulated or highly confidential data, I wouldn&#8217;t casually upload it to a consumer tool and hope that turning off a setting is enough.</p><p>Use a deployment that actually matches your company&#8217;s security requirements. That may be an approved enterprise product, or it may mean hosting open-weight models inside your own environment. Local models are good enough now that a company with the right budget and people can get a lot done without sending everything to an outside provider.</p><p>The exact answer depends on your company, your compliance requirements, and the data. But &#8220;the training toggle is off&#8221; should not be the entire security strategy.</p><h2>17. What Happens When Open Models Become Powerful Enough For Cyberwarfare?</h2><p>Honestly, this is scary, and I think it&#8217;s a legitimate thing to worry about.</p><p>The underlying capability is already moving in that direction. Closed providers can add post-training safeguards and reject certain requests, but open models make those controls much easier to remove or bypass.</p><p>People sometimes hear AI labs talk about slowing down or security risks and assume it&#8217;s all marketing. I don&#8217;t think every concern is hype. These models are powerful, cybersecurity already has a huge number of unknown vulnerabilities, and more capable open models make that situation harder.</p><p>I try not to be pessimistic about every AI development, but in this case I think the risk is real. I don&#8217;t have a clean answer for it.</p><h2>18. What Advice Would You Give Someone Trying To Get Into Meta Or Another Big Tech Company?</h2><p>I wish I had gotten better grades and gone to a better school. That would have made the first door easier to open.</p><p>But I didn&#8217;t have that path. I worked at Capital One for about four years. Around my third year, companies like Meta and Netflix finally started reaching out. Before that, I sent resumes and barely got interviews. Experience gave me the credibility that school didn&#8217;t.</p><p>Once you get the interview, you need the fundamentals. Big Tech interviews are a fairly known problem, but the hard part is committing enough time to become good at them. You should recognize common data-structure and algorithm patterns while you&#8217;re still reading the question.</p><p>The first time I interviewed, I got my ass kicked. I failed basically everywhere. That showed me the gaps. The next time, I studied four hours a day for about a month and a half and got offers from Meta and Netflix.</p><p>I&#8217;d also learn agentic engineering and build in public. Posting useful work online is one of the most even playing fields I&#8217;ve seen. Good content creates relationships and opens doors that you didn&#8217;t know existed. Maybe somebody even gives you a job. I don&#8217;t know.</p><h2>19. What Does It Take To Grow From Senior To Staff Or Senior Staff?</h2><p>At a company with a very high engineering bar, technical excellence is the minimum. Everyone is smart. You also need EQ. People need to like working with you. You need to be easy to work with without becoming a pushover.</p><p>From junior through senior, the progression is mostly doing the job with more independence and scope. You go from landing code, to owning a project end to end, to mentoring people and taking on more complicated projects.</p><p>Senior to staff is different. It&#8217;s almost a different job.</p><p>My bar for staff is that you have so many ideas and so many things you want to execute that you can&#8217;t do all of them yourself anymore. You need other people to help. That naturally creates scope, which is why the tech-lead archetype is so common at staff.</p><p>Your impact starts scaling beyond your own output. At senior staff and above, that influence expands across teams and eventually across an organization. The biggest difference is not that you type dramatically better code. It&#8217;s how you create scope and move people toward it.</p><h2>20. What Is Your Favorite Use Of Agents Outside Coding?</h2><p>I use agents for almost everything: taxes, research, and all the normal ChatGPT use cases.</p><p>But my favorite is probably my content pipeline. I run most of it through Codex. There was a period where I was using Codex more for content than coding because I didn&#8217;t have an active side project.</p><p>It helps me research, organize ideas, repurpose work, and run the boring parts of being a one-person content operation.</p><h2>21. How Is AI Changing Product, Design, And Data Roles?</h2><p>The roles are blending.</p><p>I&#8217;ve worked with designers who can now make UI changes directly instead of asking an engineer to move this pixel or fix that component. That brings them closer to the code and gives them more empathy for the engineering side.</p><p>The reverse is happening too. I can run more of my own queries, do analysis, and estimate product impact without waiting for every question to pass through a specialist.</p><p>People will still have specialties, but product management, design, engineering, data science, and data engineering are starting to overlap in interesting ways. I don&#8217;t think the industry has figured out what the final roles look like. The &#8220;member of technical staff&#8221; title spreading through AI companies is probably one sign of that uncertainty.</p><h2>22. What Were The Most Interesting Products You Worked On At Meta?</h2><p>Working on Reels was a dream project for me at the time. I joined near the tail end of the original creation, moved from full-stack web into mobile because I wanted to work on it, and grew to senior during that period.</p><p>It was also much more technically interesting than people may realize. Reels is heavily organized around music, and that affects how the product and its content are structured.</p><p>I also worked on the original Meta AI launch in Messenger during the Llama 3 era. That was interesting for a completely different reason: nobody really knew what interacting with AI should look like. The industry was inventing the UX patterns while building the product.</p><p>I really enjoyed being in that state where the answer was not already known and we had to imagine what the client experience should become.</p><h2>23. How Should A New Creator Grow The Reach Of Their Content?</h2><p>Don&#8217;t rely on one platform.</p><p>People live in different places. Some people only use X. Some stay on Threads or LinkedIn. Some only watch YouTube. They rarely see everything you make, so reuse and repurpose your work instead of assuming every post needs to be a brand-new idea.</p><p>I use agent pipelines and Ferryman.io, which my friend Kevin built, to post in one place and distribute the content elsewhere. That has helped me go viral on platforms where I didn&#8217;t even realize a post was taking off.</p><p>Every large creator already does this. They just have a team. I&#8217;m by myself, so I use agents and software.</p><p>That&#8217;s everything I could reasonably deduplicate from the AMA. I&#8217;m sure I missed a few questions, so reply and send me the ones I should answer next.</p><p>I genuinely love doing these. I can talk about AI, software, and career stuff all day. My wife doesn&#8217;t want to talk about any of this. She wants to talk about Korean mom dramas.</p><p>So it&#8217;s nice to have all of you.</p>]]></content:encoded></item><item><title><![CDATA[I Beat Substack’s AI Detector]]></title><description><![CDATA[With great power comes great responsibility]]></description><link>https://getpushtoprod.substack.com/p/i-beat-substacks-ai-detector</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/i-beat-substacks-ai-detector</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sun, 16 Aug 2026 21:28:41 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21fyra%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.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="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21fyra%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fyra!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!fyra!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!fyra!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!fyra!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21fyra%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02d34868-c0f6-440d-bea9-768304e2665e_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hero image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero image" title="Hero image" srcset="https://substackcdn.com/image/fetch/$s_!fyra!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!fyra!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!fyra!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!fyra!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d34868-c0f6-440d-bea9-768304e2665e_1672x941.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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><br>Substack started to role out a AI detector. I never cared that much about this topic before because everyone knows that I use AI a lot in all of my work flows. However, it got me thinking about the process of AI writing and what it means for ai detection.<br><br>It seemed like a technical challenge that I wanted to see if I can solve. So I got to work.<br><br>After a few hours of working through a new pipeline, I beat the detector and I was able to get a 100 percent AI generated writing of my essay to be 100% Human written. At least based on Substacks detector.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%214o4d%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4o4d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png 424w, https://substackcdn.com/image/fetch/$s_!4o4d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png 848w, https://substackcdn.com/image/fetch/$s_!4o4d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png 1272w, https://substackcdn.com/image/fetch/$s_!4o4d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%214o4d%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png" width="938" height="678" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:678,&quot;width&quot;:938,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:76587,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/211356930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!4o4d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png 424w, https://substackcdn.com/image/fetch/$s_!4o4d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png 848w, https://substackcdn.com/image/fetch/$s_!4o4d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png 1272w, https://substackcdn.com/image/fetch/$s_!4o4d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa05aa8ae-8ade-420e-b45e-c4c8e666b8c8_938x678.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ll get into how I did it and how you can do it too in this newsletter.<br><br>BTW, this is not a newsletter on whether or not you should do this. That is a moral discussion that I have my own thoughts on but I won&#8217;t get too into it here.<br><br>I mention this because I&#8217;ve been seeing people use these detection software to virtue signal and &#8220;win&#8221; arguments. Below is a random post I found and the most hilarious things is that the author posting the Pangram has a fully AI generated Youtube video on the top of his website. LOL</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%218YD2%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8YD2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8YD2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8YD2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8YD2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%218YD2%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg" width="1320" height="1780" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1780,&quot;width&quot;:1320,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:294569,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/211356930?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8YD2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8YD2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8YD2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8YD2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae25665-61d3-4727-bf70-3b8520de87c8_1320x1780.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>
      <p>
          <a href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fp%2Fi-beat-substacks-ai-detector">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Chasing Something Hard]]></title><description><![CDATA[What do you do when you can't stop chasing it.]]></description><link>https://getpushtoprod.substack.com/p/chasing-something-hard</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/chasing-something-hard</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sun, 16 Aug 2026 14:00:52 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%210ad4%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.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="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%210ad4%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0ad4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!0ad4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!0ad4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!0ad4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%210ad4%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hero image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero image" title="Hero image" srcset="https://substackcdn.com/image/fetch/$s_!0ad4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!0ad4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!0ad4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!0ad4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0ddaf14-652d-48cd-993e-bc8b81a5a843_1672x941.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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 kept thinking there was one paragraph about model training that confused me. That isn&#8217;t accurate. It wasn&#8217;t a single paragraph. It was the entire topic.</p><p>There was a lot of math and a lot of equations I didn&#8217;t understand. It felt like I had to read it over and over. Every single time, there was some word I needed to look up just to understand what I was reading.</p><p>To be honest, I don&#8217;t quite remember the equation that stopped me. I remember the feeling much more clearly. I could get maybe 50 percent of it, but I couldn&#8217;t get through it. I kept coming back and trying to finish because I had this huge desire to understand it.</p><p>The videos were blackboard lectures with Reiner Pope and Dwarkesh Patel. One went through the math behind how large language models are trained and served. Another built up chip design from basic logic gates. They were exactly the kind of thing I wanted to understand and couldn&#8217;t.</p><p>That annoyed the hell out of me.</p><p>Most engineering problems don&#8217;t make me feel completely out of my depth anymore. I&#8217;ve dealt with them for more than ten years. They&#8217;re hard for most people, but I&#8217;ve done them so much that they are not necessarily hard for me. There are still hard problems to solve, but I usually recognize the shape of them.</p><p>With these lectures, I kept having to look things up, and I still only had maybe 50 percent real understanding. My reaction was basically: I could fucking learn this. And I wanted to.</p>
      <p>
          <a href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fp%2Fchasing-something-hard">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[ How to Get Ahead of 99% of People In the Age of AI - 50 tips]]></title><description><![CDATA[I&#8217;m currently in Korea enjoying my recharge, and looking around there are so many young people, busy people, just running around.]]></description><link>https://getpushtoprod.substack.com/p/how-to-get-ahead-of-99-of-people</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/how-to-get-ahead-of-99-of-people</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Tue, 07 Jul 2026 11:55:10 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Fyoutube%2Fw_728%2Cc_limit%2F3sQNBviF6WM" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m currently in Korea enjoying my recharge, and looking around there are so many young people, busy people, just running around. It got me thinking about myself back when I graduated in 2010, right after the housing crisis. I remember finding a job was extremely difficult. I heard the market is pretty bad right now too, but this time it feels very different. The unemployment numbers and a lot of the data we see seem a little misleading for some reason, and because of AI and what it could mean, there is a sense of dread and uncertainty.</p><p>I get a lot of comments asking &#8220;what should I study&#8221;, &#8220;what should I do&#8221;. So I made a video with 50 tips on what I would do if I was in my twenties or early thirties again and didn&#8217;t already have a major career I could lean off of. Because the numbers clearly show the jobs getting automated right now are the tasks junior engineers used to do earlier in their careers. Moreover, Claude Code, Codex, and these agentic tools are getting better and better, and buisnesses might be too aggressive and replace a bunch of people they still need.</p><p>This is not a doom and gloom newsletter. This is about how we can adapt and put our best foot forward. I switched careers at 28. I quit my job and did a bootcamp right when I got married, felt really behind the whole time, and somehow went from PM to staff software engineer at Meta. So this is really just advice I would give to myself back in the day.</p><p>This is the newsletter version of all 50, but if you want to watch the video here it is!<br></p><div id="youtube2-3sQNBviF6WM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3sQNBviF6WM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2F3sQNBviF6WM%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fsubscribe%3F"><span>Subscribe now</span></a></p><h2><br>Level Set First</h2><h3>1. Your Feed Is Not The Marketplace</h3><p>The thing about your feed is that negative sentiment always sells. All the doom and gloom posts, the hundred applications with nothing back, there&#8217;s definitely validity to that pain. But those posts are written by people who are still looking, still angry, still deep in the trenches. The people who got hired went quiet.</p><p>So instead of relying on doom scrolling, do your own deep dives into the actual data. What jobs are actually being posted, which companies are hiring. Your feed is definitely not the actual marketplace. Don&#8217;t let it be your map.</p><h3>2. Never Ask The Barber For A Haircut</h3><p>Every AI company has a major incentive to hype the progress, AGI, self-improving AI, &#8220;I don&#8217;t code anymore,&#8221; so the gravy train keeps going. There&#8217;s probably a lot of truth in these statements, and I genuinely believe learning tools like Claude Code or Codex is the best thing you can do for your career. But take the predictions with a grain of salt, do your own research, and get your own feel for how these tools are evolving.</p><h3>3. Demos Lie, Production Tells The Truth</h3><p>MIT found that 95% of AI adoption at major companies had failed so far (the study&#8217;s a little old, before the November Claude Opus 4.5 release, so things have probably changed). PMs and grifters posting that they built something in one shot are posting demos. Look for the things that survived in production with wide usage, like Codex and Claude Code, and forget the rest.</p><h3>4. Don&#8217;t Judge Your Insides By Someone Else&#8217;s Outsides</h3><p>Everyone on LinkedIn and X is posting the shiny stuff, everyone and their mom has a new skill that&#8217;s changing their world. The reality is they&#8217;re spending a ton of time iterating and prompting, and those skills are flaky. GitHub stars are just marketing now. Focus on yourself, focus on getting better.</p><h3>5. You Are Not Behind</h3><p>I did a bootcamp at 28, right when I got married, and I remember feeling really behind, especially at my first company where everyone at my level was a new grad. That was about ten years ago and it worked out fine.</p><p>And honestly, if you&#8217;re worried AI takes over everything: if AI can truly get rid of 100% of engineering jobs, what other job is actually safe? Not many. So why not do the thing that teaches you these tools? Software engineers are the best at them because they inherently understand what&#8217;s going on under the hood.</p><h3>6. Fear Is A Crowded Trade</h3><p>This is probably my favorite tip in the whole video. Buffett famously said you want to be greedy when others are afraid, and afraid when others are greedy. Right now people are quitting CS, avoiding tech, fearing every white collar job gets automated away. That&#8217;s the crowded trade.</p><p>With the current architecture, I just don&#8217;t see it happening. AI is essentially a super genius and also very stupid at the same time. It needs constant guidance, it needs good validations to know when something&#8217;s right, it has no taste in the matter. A really good engineer can 10x or 20x their output with these tools, but it&#8217;s just not realistic for non-technical people to get very far with them. So right now is the best time to learn the foundations, while everyone else is scared off.</p><h2>The New Job</h2><h3>7. Own The Problem, Not The Code</h3><p>Code is losing value, but the domain knowledge and expert problem understanding are still going to be extremely valuable. When code becomes cheap, good ideas become even more valuable. Steve Jobs said it&#8217;s just as important, maybe more important, to learn which ideas not to pursue.</p><p>So if you want to become irreplaceable, deep dive into a specific domain and start owning that problem space. Understand it to the root, and be the person who knows which code is worth generating.</p><h3>8. Taste Is The Moat</h3><p>There&#8217;s a reason it&#8217;s so obvious when something is fully AI generated, whether that&#8217;s writing or an image. The most human part left is taste. How do you encode your taste so the machine can understand it? That&#8217;s the real work now.</p><p>Study the greats, study the work that inspires you, and slowly start building your own taste, whether that&#8217;s about code, design, or how things should feel. That&#8217;s where the real moat is going to be.</p><h3>9. Learn Agentic Engineering</h3><p>Karpathy talks about learning to use these tools effectively as a skill gap. At a high level it&#8217;s context engineering, agentic validations, building tools for the agent, compound engineering and much more. As the models get better, the meta work of getting agents to do more on your behalf is going to be the real leverage and the real work.</p><h3>10. Ship Things That Last</h3><p>Because AI coding is cheap, people ship a lot of code without double checking it, then blame the AI when it&#8217;s garbage. You can&#8217;t blame the AI. You own your own code. Buffett said reputation takes twenty years to build and five minutes to lose, so ship things that last and don&#8217;t ship slog.</p><h3>11. Follow The Cost Of Being Wrong</h3><p>Here&#8217;s a filter for picking your problem space: the more expensive it is to be wrong, the higher the bar AI has to clear before that work gets fully replaced. It&#8217;s why doctors and lawyers still haven&#8217;t seen deep AI penetration, the cost of getting a decision wrong is extremely high.</p><p>AI is really good at making frontend code these days, landing pages and things like that, so that&#8217;s not where you should be focusing. Focus on things that are hard for the AI to do, where being wrong is expensive. That&#8217;s your longest runway.</p><h2>Build The Moat</h2><h3>12. Be So Good That You&#8217;re Undeniable</h3><p>CEOs are somewhat disconnected from reality. There are people like Jensen, who famously said he&#8217;d rather torture you to greatness than fire you, and then there&#8217;s a bunch of companies not named that just lay people off for whatever reason. The only way through all these turmoils and ups and downs is to just be so good that you&#8217;re undeniable.</p><p>Aim for the top 10% of whatever you do. Top 1% if you can. Easier said than done, but if you&#8217;re doing well, keep doing well. Don&#8217;t take it easy.</p><h3>13. Learn The Layer Below</h3><p>These agentic tools are new abstraction layers, and all abstractions are inherently leaky. If you can&#8217;t go in and debug the layers underneath when something breaks, you&#8217;re going to lose control of your project, and it happens all the time to people who skip the foundations. Be curious as a default stance and dig in whenever you don&#8217;t understand how something works.</p><h3>14. Read More Code</h3><p>People will tell you to read less code because the AI reviews better and writes too much of it. I still spend more time reading code than writing it. Read the hard stuff, the patterns and system designs you wouldn&#8217;t figure out on your own (want to build an agentic tool? go deep dive how OpenCode does its loop), and let the AI handle the how-to-center-a-div stuff you can verify with tests.</p><h3>15. Ignore Titles, Focus On Shipping</h3><p>When I first became an engineer I just tried to ship a lot of things, and that helped me move up very quickly. The best ideas will always win, so if you&#8217;re new somewhere, don&#8217;t let your position hold you back.</p><h3>16. Learn Where The AI Fails</h3><p>Use these tools enough and you develop a second sense of what the AI can and cannot do. Someone asks &#8220;can we automate this,&#8221; and you immediately know what&#8217;s realistic and where it breaks. That&#8217;s a skill in itself.</p><p>The funny thing is, all LLMs can really do is hallucinate. The useful ones just happen to be useful hallucinations. So push the systems as far as you can, start a log of where they fail, and build the intuition most people never bother getting.</p><h3>17. Have A T-Shaped Portfolio</h3><p>You want breadth of knowledge on various things so you know what&#8217;s possible and can orchestrate multiple agentic tools at a higher level of abstraction, plus at least one deep understanding of a tech stack to be competitive. That combination is what recruiters are currently looking for.</p><h3>18. Master AI Tools</h3><p>You have to learn Claude Code or Codex like the back of your hand. How it loads memory, how it manages context, skills, subagents, agent teams, scheduling loops. I know that&#8217;s a lot, and yes, you need to know it, the same way a professional woodworker knows every tool in the shop well enough to make complex joinery. Invest in learning these tools.</p><h3>19. The World&#8217;s Best Tutor Is An AI</h3><p>I can learn basically anything I want with AI now, Blender, Photoshop, deep dives into a codebase, TPUs versus GPUs. The important thing is that you develop the desire to want to learn.</p><h3>20. Push It To Prod</h3><p>A little shout out to this newsletter. The number one thing that happens when people start building with AI tools is they chase the red dress, a little of this shiny thing, a little of that, and never ship anything to production. You learn the most shipping something from zero all the way to the end and then maintaining it.</p><h3>21. Communication Is Your Biggest Leverage</h3><p>Being able to properly articulate your ideas is still the killer skill most people lack, unless you&#8217;re Carmack and can build the next graphics layer the whole industry adopts. YouTube for me started from a place of trying to get better at speaking (go look at my first video if you want to see someone suck at communicating), and now I&#8217;m never afraid of a presentation. In the age of AI noise, the soft skills are where AI can&#8217;t really interject.</p><h3>22. Become Worth Vouching For</h3><p>The industry is a lot smaller than you think, people cycle between the same companies. I worked incredibly hard to earn the trust of every manager I&#8217;ve had, and I still chat with my first one. Build the reputation, because referrals are always the best way to get hired.</p><h2>Place Your Bets</h2><h3>23. Do What Feels Like Play</h3><p>When I&#8217;m juggling multiple Claude Code instances across panes, it kind of feels like StarCraft, and I get genuine joy from it. That&#8217;s not everyone&#8217;s fun, to each their own, but find the version that is play for you. Steve Jobs said the people who succeed long term are the ones passionate enough to stick through the hard and frustrating parts. Without passion and fun you will just end up quiting.</p><h3>24. Follow The Money</h3><p>If the major AI labs or FAANG are out of reach right now, look at where AI is actually being leveraged hard: traditionally boring industries, finance, farming, some bespoke place. You want to be where demand for AI is super high and there&#8217;s just not a lot of people looking in uncrowded places.</p><h3>25. Take The Risk Before You Can&#8217;t</h3><p>I quit my job at 28 and went to a bootcamp without much money, and it paid off. Now, with two kids and a good paying job, doing something else is a huge risk financially. When you get older you don&#8217;t regret the failures, you regret the risks you didn&#8217;t take. So take them while you&#8217;re young and you can.</p><h3>26. Optimize For Slope, Not Salary</h3><p>When I was starting out I agonized between two offers over about 20 grand, and I&#8217;m so glad I took the better learning opportunity, because it elevated me further faster. At my level now, my end-of-year bonus is multiple times that difference. Maximize the slope of your learning; the salary catches up.</p><h3>27. Own The Ugly Work</h3><p>The shiny projects are crowded, and most of the credit goes to the leads and senior folks. Instead, own an ugly piece of work that&#8217;s still critical to the org, insights, a migration, some core piece of technology nobody picked up, and do it consistently well. Two caveats: it has to actually be important, and you have to be vocal about it.</p><h3>28. Be The Bridge From AI To The Business</h3><p>Companies everywhere are doing AI native transformations, and almost universally, engineers at every level, principal engineers included, aren&#8217;t sure what&#8217;s actually possible with these tools. They&#8217;re in meetings all day; they don&#8217;t have ten hours a day to live in Claude Code or Codex. If you invest that time, you can end up leading efforts a principal engineer would usually lead. That&#8217;s what happened to me.</p><h2>People, And Getting Seen</h2><h3>29. Network Before You Need It</h3><p>Opportunities are attached to people, not job boards; you can see it in referral versus cold apply. The best network is genuine work colleagues over time (a few years at a big tech company and one day you wake up with an amazing network), and pro tip, making content works too for building great networks. Build it before you need it, because that&#8217;s when it&#8217;s easiest and most genuine.</p><h3>30. Win The New Interview</h3><p>Interviewing sucks, but it&#8217;s a skill you need to learn. Has AI changed it? Yes and no. LeetCode-style coding is still around, system design is still a large portion and I think it gets graded even heavier from here, and I could almost guarantee AI-assisted interviews on agentic engineering are coming in a year or two. Nail the fundamentals, then brush up on each company&#8217;s new process.</p><h3>31. Pick The Manager, Not The Logo</h3><p>A good manager fights for you in rooms you&#8217;re not part of, protects your time, and guides you to the right projects. You have to pick the right horse though: look at your manager, their manager, and their manager, check how long they&#8217;ve worked together, and count how many strong ICs want to work for them. Getting on the bench of a good manager pays dividends for a long, long time.</p><h3>32. Find Great Mentors</h3><p>My mentors have saved me years, technical ones, career ones, even YouTube ones. There&#8217;s a limit to what AI can teach you. &#8220;I know I just said I can learn anything from AI haha&#8221;, and when there are too many choices the AI may glaze you. You need a human to course correct you along the way.</p><h3>33. Teach To Learn It</h3><p>You don&#8217;t really know something until you teach it to a beginner. I&#8217;ve trained hundreds of engineers on Claude Code and Codex, at my company and in a course I do on the side, and the flywheel is real: teaching forces me to deep dive every new feature, which creates more opportunities to teach. Give it a try, and let your students&#8217; questions challenge your understanding.</p><h3>34. Pick One Direction And Stick With It</h3><p>If you start too many things and never finish, you mistake motion for progress. It&#8217;s like climbing: hit a hard peak, hop to a new mountain, re-climb the easy part, feel productive, learn nothing new. Pick one thing, mobile, an agentic tool, whatever, and see it from zero to end.</p><h3>35. Build And Learn In Public</h3><p>It takes courage to share things that aren&#8217;t quite ready, and that&#8217;s the point: tough skin, pressure to actually finish, and easy networking with people interested in your work. Sometimes you straight up get a job off it, and sometimes an open source project goes crazy, like OpenClaw, and now you&#8217;re one of the staple developers in the ecosystem.</p><h2>Your Base, And The Long Game</h2><h3>36. Audit Your Expenses</h3><p>You&#8217;d be surprised how many subscriptions you have that you don&#8217;t need. Focus on the core things, learning, surviving, eating, and save the rest. Get your house in order. I know finance tips doesn&#8217;t seem relevant but unless you are free from financial burden you can&#8217;t really do the things you need when opportunity comes knocking.</p><h3>37. Your First $100K Is The Hardest</h3><p>The first 100K is extremely difficult, then the first million is too, and then it gets easier to make money. Saving that first 100K buys you safety and wiggle room, and studies say once you&#8217;ve saved it you&#8217;re much more likely to hit a million later.</p><h3>38. Set It And Forget It</h3><p>Pick a good index like the S&amp;P 500, put money in every month, make it part of your fixed expenses, and let compounding do the work. We don&#8217;t know what&#8217;s coming, so save for a rainy day. This is not investment advice :).</p><h3>39. Pay For Your Own AI Tools</h3><p>Don&#8217;t be stingy here. The max plan is like $200. I pay for it myself even though I get a bunch of tokens at work, because it&#8217;s learning. These are the single most important tools to learn in the next few years, and in my opinion this $200 plan with the current usage limits is not going to last forever. Leverage it now.</p><h3>40. Rest Is Non-Negotiable</h3><p>It&#8217;s kind of funny, you&#8217;d assume AI means less work, but I find myself working even more, because builders want to build (I have a whole video on being addicted to Claude Code). There are times to push and times to rest, and if you don&#8217;t build the habit of working out and relaxing, you&#8217;re not going to make it very long. It&#8217;s a marathon.</p><h3>41. Build Your Escape Hatch</h3><p>Work is just one of my income streams. YouTube is one, the newsletter is one, the course is one, and I&#8217;m always looking for more. Nobody knows if the K-shaped economy talk is right, and honestly it&#8217;s a little unsettling, so have multiple sources of income just in case something happens to one of them.</p><h3>42. Train Like Your Life Depends On It</h3><p>I&#8217;m getting close to my 40s and this desk job has caught up with me: my wrists hurt, my lower back hurts, I&#8217;m tight everywhere. I wish I&#8217;d stretched more and used the standing desk when I was younger. Don&#8217;t let your body be the limiting factor on your growth.</p><h3>43. Be An Early Adopter</h3><p>When Opus 4.5 came out in November, I tried it right away, something clicked, and I switched all my workflows to it. By the time usage exploded at our company around February, I&#8217;d been on it for months and was ready to teach while everyone else was struggling to learn. Being early lets you live in the future a little bit.</p><h3>44. Follow The Leaders In The AI Arena</h3><p>I follow Boris Cherny, Karpathy, Steinberger, obviously Dario and Sam, also Elon. When Jensen says something ridiculous, like being deeply concerned about a $500K engineer who doesn&#8217;t spend $250K in tokens, a lot of people clown on it, but I really try to think about it. The leaders&#8217; headspace gives you signs and clues about where things are going. Just be careful and test the things they are saying yourself. Remember Tip number 2.</p><h3>45. Bet On Yourself</h3><p>I bet on myself at every step, quitting for the bootcamp, helped me go from PM to staff engineer at Meta. If you&#8217;ve built your base and you&#8217;re able to make moves, this is a great time to bet on yourself, while most people are still sleeping on these tools.</p><h3>46. Ship It Slightly Embarrassed</h3><p>If you&#8217;re not embarrassed by the first version you ship, you probably waited a little too long. I&#8217;ve met a lot of perfectionists who always talk about shipping things and never end up shipping anything, because they worry about all the little details before anyone has seen the thing.</p><p>Once you ship, you get a ton of feedback and ideas you never would have found on your own. The people way at the top have shipped a ton of things and have the scars to prove it.</p><h3>47. Luck Is Preparation Meets Opportunity</h3><p>One of my favorite sayings (I probably picked it up from the movie Serendipity). With AI booming there are going to be opportunities everywhere, funding, interviews, chance meetings, but if you haven&#8217;t been training, preparing, and building, you won&#8217;t be able to seize them when they show up.</p><h3>48. First Job, Not Final Job</h3><p>A job is just a job. Take the best one you can get, do the best you can, and seize the next opportunity when it comes. You&#8217;ll have many jobs in your career, sometimes across totally different industries, so don&#8217;t treat the first one like a life sentence, just keep moving forward.</p><h3>49. Build For Future Models</h3><p>The best advice I heard from Boris at a talk: build for the models of the future, and that&#8217;s essentially what Claude Code was, built assuming the models would catch up. Every model generation makes something newly possible, and if you only build for the current level, you&#8217;re easier to copy and your thinking stays limited to what&#8217;s possible today.</p><h3>50. Don&#8217;t Let AI Atrophy You</h3><p>When you go deep on AI tooling, you just stop coding manually, and honestly I don&#8217;t think manual coding matters that much anymore. But keep studying system design, keep the foundations sharp, don&#8217;t forget space-time complexity, don&#8217;t stop reading code. Skills atrophy faster than you think, and at least for now, interviews will still make you code by hand.</p><h2>Part I Actually Want You To Remember</h2><p>This is not a doom and gloom take. I know it can feel like nothing is working out, especially when you&#8217;re young and starting out. I was 28 and felt completely behind, but I just went head into it and pushed towards my goals. It somehow worked out.<br><br>Work hard enough where it is unreasonable for you to not be successful.</p>]]></content:encoded></item><item><title><![CDATA[It’s Cool to Hate AI]]></title><description><![CDATA[I keep seeing the same kind of meme posts these days.]]></description><link>https://getpushtoprod.substack.com/p/its-cool-to-hate-ai</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/its-cool-to-hate-ai</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sat, 04 Jul 2026 16:02:28 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21m9SY%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21m9SY%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m9SY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!m9SY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!m9SY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!m9SY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21m9SY%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!m9SY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!m9SY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!m9SY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!m9SY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10fc1ede-b04a-4074-a450-27de45857281_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><br>I keep seeing the same kind of meme posts these days.</p><p>Someone posts a bad AI generation. A broken image with multiple hands. A confidently dumb answer. A code change that obviously did not get reviewed. <br><br>The caption says some version of <strong>&#8220;AI slop,&#8221;</strong> and the replies pile on.</p><p>I get why it feels good.<br>It almost feel cathartic.</p><p>Until pretty recently, it was exactly the opposite. Most people were glazing about how amazing Codex and Claude Code was. <br><br><strong>Coding was solved. Prompting was dead.</strong> <br><br>Every company had to become AI native immediately or get left behind by someone with more tokens.</p><p>Then the pendulum swung the other way, and the hype went too far. Now there are a large group of people that wants to hear that AI is fake, the output is slop, and anyone excited about this stuff is either naive or selling something.</p><p>I get where this perspective is coming from. A lot of the marketing has been ridiculous, and some of the loudest voices are hard to relate to.<br><br>The leaders in this space are operating with unreleased models with infinite tokens. How could an average 200$ plan relate to that? I feel this disconnection is where the hate is coming from.</p><p>But I think hating AI is becoming the easy way out.</p><p>If I choose to hate AI and skip the hard work of learning these new tools and patterns, I&#8217;ll fall behind on what our works.<br><br>AI is here to stay whether you hate it or not.<br></p>
      <p>
          <a href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fp%2Fits-cool-to-hate-ai">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[When Coding Is Cheap]]></title><description><![CDATA[Showing wins arguments]]></description><link>https://getpushtoprod.substack.com/p/when-coding-is-cheap</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/when-coding-is-cheap</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Thu, 02 Jul 2026 00:01:18 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21ju5v%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21ju5v%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ju5v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ju5v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ju5v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ju5v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21ju5v%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hero image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero image" title="Hero image" srcset="https://substackcdn.com/image/fetch/$s_!ju5v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ju5v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ju5v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ju5v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b1a0655-3093-4d0c-9f5a-efa949845996_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The overall team shape that I&#8217;ve been used to for my entire engineering career was built around one assumption: <strong>engineering is expensive</strong></p><p>That sounds obvious, but I think it explains a lot of changes that we are seeing in the industry around roles due to AI. <br><br>Engineering being expensive is why PMs spent so much time on alignment. Why designers mocked various options before anything touched the codebase. Why data scientists sized the opportunity before the team committed. Why engineers were protected from half-baked ideas as much as possible.</p><p>The whole system was designed around not wasting engineering time.</p><p>Now that coding itself is getting cheaper, and the roles around the codebase are starting to blur. It feels like everyone is being encouraged to do everything. PMs being Designers / DS / Eng and Designers being PMs / Eng / DS and etc. Personally I think the concept that everyone can do everyone&#8217;s jobs using AI is a little ridiculous but I can&#8217;t deny how I think about my own work is changing because writing the code is becoming cheaper.</p><p>Engineering gets more important when the bottleneck moves from &#8220;can we make this&#8221; to &#8220;is this worth making at all.&#8221;<br></p>
      <p>
          <a href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fp%2Fwhen-coding-is-cheap">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Reduce 90% of Claude Code Token Usage]]></title><description><![CDATA[With all of its tradeoffs!]]></description><link>https://getpushtoprod.substack.com/p/how-to-reduce-90-of-claude-code-token</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/how-to-reduce-90-of-claude-code-token</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sun, 31 May 2026 17:10:45 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Fyoutube%2Fw_728%2Cc_limit%2FUslVzxAkiZ0" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Not everyone has unlimited tokens to spend and companies are more and more token cost concision these days as the bills are coming due.<br><br>In this newsletter I will show you how to cut your Claude Code token usage by up to 90%, using four different strategies. They&#8217;re easy, they&#8217;re free, and you can set them up today.</p><p>However there are tradeoffs with each strategy, and I&#8217;m going to walk through those too, because knowing when to turn each of these off matters just as much as turning them on.<br><br>I made a video version of this newsletter for those that prefer watching over reading :)</p><div id="youtube2-UslVzxAkiZ0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;UslVzxAkiZ0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2FUslVzxAkiZ0%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fsubscribe%3F"><span>Subscribe now</span></a></p><h2>Index The Code</h2><p>The first strategy is to index your code, so Claude stops reading your codebase file by file.</p><p>If you&#8217;ve never thought about indexing, the most familiar version of it is search. What Google does behind the scenes, as a dumbed-down example, is to build a map of keywords that point to different websites. Instead of reading every page to find what you want, you build that map ahead of time and jump straight to the answer. We&#8217;re going to do the same thing for your codebase, except the map is a graph of how your code connects.</p><p>By default, Claude finds code the pretty sequentially via grep. You ask about your auth setup, and it greps and reads files one at a time until it stumbles onto the right one, loading a bunch of stuff it never needed along the way. And every one of those reads sticks around in the context window for the rest of the session.</p><p>The tool I used is called <a href="iframe.php?url=https%3A%2F%2Fgithub.com%2Fcolbymchenry%2Fcodegraph">codegraph</a>. It&#8217;s free, and it runs entirely on your machine. It parses your repo into a queryable graph of your functions, classes, imports, and how they all call each other, and then Claude queries that graph in plain language instead of scanning.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21r2rA%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r2rA!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif 424w, https://substackcdn.com/image/fetch/$s_!r2rA!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif 848w, https://substackcdn.com/image/fetch/$s_!r2rA!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif 1272w, https://substackcdn.com/image/fetch/$s_!r2rA!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21r2rA%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_lossy%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif" width="800" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Query the structure instead of reading every file.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Query the structure instead of reading every file." title="Query the structure instead of reading every file." srcset="https://substackcdn.com/image/fetch/$s_!r2rA!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif 424w, https://substackcdn.com/image/fetch/$s_!r2rA!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif 848w, https://substackcdn.com/image/fetch/$s_!r2rA!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif 1272w, https://substackcdn.com/image/fetch/$s_!r2rA!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F761fb49b-e081-4644-8140-65f2d6e14782_800x500.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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><em>You index once, and Claude queries it under the hood.</em></p><p>Now the tradeoff. </p><p>The moment you index, you&#8217;ve got two sources of truth: your actual code, and codegraph&#8217;s picture of your code. And that picture drifts. The repo gives you a way to re-sync, but if you forget, or you just haven&#8217;t synced since you started coding this morning, the graph goes stale and Claude gets confidently wrong. It&#8217;ll swear a function exists when you deleted it an hour ago, or miss one you just wrote.</p><p>Its extra complexity that you will need to juggle</p><h2>Compress The Output</h2><p>The second strategy is to compress what your tools hand back to Claude.</p><p>If you&#8217;ve been coding for a while, you already know server logs, test output, and CLI dumps are noisy. Most of it is stuff Claude doesn&#8217;t actually need to see, but by default that whole wall of text lands in the context window anyway.</p><p>There&#8217;s an open source tool for this called RTK, short for Rust Token Killer. You install it (I just used Homebrew), and it sits in front of your commands and compresses their output before it ever reaches Claude.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21z5wz%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fbbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z5wz!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif 424w, https://substackcdn.com/image/fetch/$s_!z5wz!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif 848w, https://substackcdn.com/image/fetch/$s_!z5wz!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif 1272w, https://substackcdn.com/image/fetch/$s_!z5wz!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21z5wz%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_lossy%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fbbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif" width="800" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Compress the dump before it reaches the window.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Compress the dump before it reaches the window." title="Compress the dump before it reaches the window." srcset="https://substackcdn.com/image/fetch/$s_!z5wz!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif 424w, https://substackcdn.com/image/fetch/$s_!z5wz!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif 848w, https://substackcdn.com/image/fetch/$s_!z5wz!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif 1272w, https://substackcdn.com/image/fetch/$s_!z5wz!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbedf1b9-0386-4c1d-89ac-25ad9efb437e_800x500.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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><em>RTK shrinks the noise before Claude ever reads it.</em></p><p>So instead of dumping all 43 test results, it tells Claude &#8220;43 test paths&#8221; and moves on. Instead of every single warning, it bundles them. </p><p>The tradeoff here is obvious: the compression is lossy. RTK does its best to drop only the noise, but its best isn&#8217;t perfect, and every now and then it tosses the one log line you actually needed. So when I&#8217;m debugging server logs, or I want Claude to read the full output so it can self-correct step by step, that&#8217;s exactly when I turn it off. You learn to feel when a task wants the full firehose instead.</p><h2>Make Claude Talk Less</h2><p>The third strategy is my favorite, and honestly I think they named it wrong.</p><p>It&#8217;s a tool called caveman. You install it over npm, and it sets your session into one of a few modes, light, full, or ultra, that strip the filler out of Claude&#8217;s replies while keeping the actual content. Less padding, same answer.</p><p>The best way to explain it is a clip from the Office: </p><blockquote><p>I waste time say lot word when few word do track.</p></blockquote><div id="youtube2-m6K1laFT89E" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;m6K1laFT89E&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2Fm6K1laFT89E%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>which is why I think caveman should have just been called Kevin.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21snQJ%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!snQJ!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif 424w, https://substackcdn.com/image/fetch/$s_!snQJ!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif 848w, https://substackcdn.com/image/fetch/$s_!snQJ!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif 1272w, https://substackcdn.com/image/fetch/$s_!snQJ!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21snQJ%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_lossy%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif" width="800" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Why use many token when few token do trick.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Why use many token when few token do trick." title="Why use many token when few token do trick." srcset="https://substackcdn.com/image/fetch/$s_!snQJ!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif 424w, https://substackcdn.com/image/fetch/$s_!snQJ!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif 848w, https://substackcdn.com/image/fetch/$s_!snQJ!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif 1272w, https://substackcdn.com/image/fetch/$s_!snQJ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F140b56f1-36e3-4899-9297-528e2c8fd4c9_800x500.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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><em>Roughly half the output, about the same quality.</em></p><p>I tested it with the same prompt twice, &#8220;tell me about this project,&#8221; once normal and once on ultra. The ultra answer was about half the length, and the quality was basically the same. It&#8217;s per session, so you can flip it off the second you need full detail. I keep it on ultra most of the time and only bump it up when a task asks for more.</p><p>The tradeoff is correctness. Claude uses the back and forth of its own messages to keep track of what it&#8217;s been doing across a session, and that message history is basically its memory. When you shrink those outputs too aggressively, you&#8217;re thinning out that memory, and on a long multi-step task, a thinner memory can mean worse answers. On a quick question, ultra costs you nothing. On a hard plan-mode build where the history is doing real work, the over-trimming can bite you, so I keep it off for that.</p><h2>Manage Your Session</h2><p>The fourth strategy is the boring but good one, and it might matter most, because it&#8217;s free, built in, and always there.</p><p>Start with <code>/context</code>. It shows you exactly what&#8217;s eating your window, and that&#8217;s how you catch the stuff you&#8217;d never notice otherwise. The classic one is a giant CLAUDE.md. I&#8217;ve seen a 50k-token CLAUDE.md quietly burn about 4% of the window every single time you open a session, before you&#8217;ve even typed anything. You won&#8217;t know until you look.</p><p>From there it&#8217;s mostly habits. <code>/clear</code> wipes the context between unrelated tasks so you&#8217;re not dragging old junk into new work. <code>/compact</code> summarizes and lets you keep going when you do need the history. Plan mode before you let Claude start editing kills the expensive trial-and-error loops. And for actual building, I usually sketch the thing in pencil or Figma first instead of having Claude code it cold.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21MyFG%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fe2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MyFG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!MyFG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!MyFG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!MyFG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21MyFG%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fe2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Built in ways to save.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Built in ways to save." title="Built in ways to save." srcset="https://substackcdn.com/image/fetch/$s_!MyFG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!MyFG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!MyFG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!MyFG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2015942-d5ff-45c5-8ee1-bee5a0736a85_1920x1080.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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><em>The free layer: /context, /clear, /compact, /model, plan mode, and a lean CLAUDE.md.</em></p><p>The other half is picking the right model with <code>/model</code>. People ask me if Haiku or Sonnet is ever worth it, and my answer is 100% yes. Haiku is great for driving Chrome, where the speed is the whole point. And I run Sonnet on repeatable scheduled jobs, like a <code>/schedule</code> that looks at my desktop every morning and files everything into folders, because I already know that task works fine on it.</p><p>For real planning and deep dives, stay on the most capable model. Dropping to a cheaper one to save a few tokens, getting a worse result, and redoing the work costs you more than you saved. The good model can save tokens in the long run.</p><h2>So Should You Use All Of These?</h2><p>Yes. I use all four, because the savings are real and worth the little bit of babysitting they ask for.</p><p>But every layer you add is one more thing that can break. codegraph goes stale. RTK drops messages. caveman over-trims. Stack them all and you can absolutely get past 90%, but now you&#8217;ve got four moving parts sitting between you and a correct answer, and the real tradeoff across the whole stack is cost versus quality versus complexity. </p><p>So the skill isn&#8217;t installing these. It&#8217;s knowing which one to turn on for the task in front of you, and which to leave off.<br><br>I hope this newsletter saved you a ton of tokens!</p>]]></content:encoded></item><item><title><![CDATA[Engineering Getting Cheap?]]></title><description><![CDATA[Why is everyone a technical staff]]></description><link>https://getpushtoprod.substack.com/p/engineering-getting-cheap</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/engineering-getting-cheap</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Tue, 19 May 2026 17:57:56 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21vbek%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21vbek%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vbek!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vbek!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vbek!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vbek!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21vbek%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/292090ec-746d-42cf-950f-610894605963_1376x768.jpeg&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;:null,&quot;alt&quot;:&quot;Hero image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero image" title="Hero image" srcset="https://substackcdn.com/image/fetch/$s_!vbek!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vbek!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vbek!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vbek!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F292090ec-746d-42cf-950f-610894605963_1376x768.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 watched Code with Claude, Anthropic&#8217;s first developer conference recently, and every talk kept circling the same question. What does it actually mean to be a AI native builder in 2026.</p><p>What stuck with me was that everyone on stage had stopped behaving like the role on their badge. Designers were shipping their own UI fixes in code. PMs were building their own dashboards and running their own experiments. Engineers were shipping product copy and doing DS work to figure out opportunity sizing. Nobody was waiting on anybody for the next handoff. The team makeup that I have been used to for the past 11 years, the one I assumed was the natural shape of software development, didn&#8217;t look like the natural shape anymore.</p><p>Basically everyone is <strong>&#8220;Technical Staff&#8221;</strong> but why is the world going towards this direction in the world of AI?</p><p>I did the math to figure it out.</p><h2>What Engineering Actually Costs</h2><p>The traditional software team has the shape it does for one reason. Engineering is expensive.</p><p>If you draw the impact equation on a napkin, it looks roughly like this. </p><p></p>
      <p>
          <a href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fp%2Fengineering-getting-cheap">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Obsession I Can’t Shake]]></title><description><![CDATA[Is it time to give up everything again?]]></description><link>https://getpushtoprod.substack.com/p/the-obsession-i-cant-shake</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/the-obsession-i-cant-shake</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sat, 09 May 2026 18:37:32 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Y3-v%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F7b2098cf-87d9-42e7-8757-45e75ed32f9f_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="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Y3-v%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F7b2098cf-87d9-42e7-8757-45e75ed32f9f_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y3-v!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b2098cf-87d9-42e7-8757-45e75ed32f9f_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!Y3-v!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b2098cf-87d9-42e7-8757-45e75ed32f9f_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!Y3-v!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b2098cf-87d9-42e7-8757-45e75ed32f9f_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!Y3-v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b2098cf-87d9-42e7-8757-45e75ed32f9f_1376x768.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Y3-v%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F7b2098cf-87d9-42e7-8757-45e75ed32f9f_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b2098cf-87d9-42e7-8757-45e75ed32f9f_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;:null,&quot;alt&quot;:&quot;Hero image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero image" title="Hero image" srcset="https://substackcdn.com/image/fetch/$s_!Y3-v!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b2098cf-87d9-42e7-8757-45e75ed32f9f_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!Y3-v!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b2098cf-87d9-42e7-8757-45e75ed32f9f_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!Y3-v!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b2098cf-87d9-42e7-8757-45e75ed32f9f_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!Y3-v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b2098cf-87d9-42e7-8757-45e75ed32f9f_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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve been watching this one AI video for a few weeks now, in chunks, and I&#8217;m still only about halfway through it. </p><p>Not because it&#8217;s long. But because I&#8217;m only following maybe half of it on a generous day, and the rest of the time I&#8217;m pausing to look stuff up, rewinding the same two minutes, closing the laptop annoyed, and then opening it again a few days later to try again.</p><p>I&#8217;ve been trying to figure out why this video, of all things, keeps pulling me back. The answer I keep landing on is that I think I need to be obsessed again.<br><br>The video in question:</p><div id="youtube2-xmkSf5IS-zw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;xmkSf5IS-zw&quot;,&quot;startTime&quot;:&quot;4173s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2FxmkSf5IS-zw%3Fstart%3D4173s%26amp%3Brel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>What Obsession Used To Look Like</h2><p>The first time I was really obsessed with anything, I was switching careers into software with no CS degree and no real backup plan.</p><p>Every free hour went into coding, learning, solving problems, going to meetups, cornering engineers at events to ask questions I probably should have been embarrassed to ask. I wasn&#8217;t talented. I was just unwilling to think about anything else, and that turned out to be the whole game. The lever I had was sheer volume of effort and I pulled it constantly, and that obsession is what made me a real engineer faster than my background should have allowed.</p><p>When I got the job, the obsession didn&#8217;t end, it just changed shape. The new fuel was being great at the work, shipping the things, getting the promotions, being the engineer people pulled into the hard rooms. Same fire, different shape. That carried me from bootcamp grad to staff at Meta in just 6 years.</p><h2>Then It Faded</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21TGer%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Ff29b96fa-f4d3-41bc-8b9e-d3894d9d7681_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TGer!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29b96fa-f4d3-41bc-8b9e-d3894d9d7681_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!TGer!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29b96fa-f4d3-41bc-8b9e-d3894d9d7681_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!TGer!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29b96fa-f4d3-41bc-8b9e-d3894d9d7681_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!TGer!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29b96fa-f4d3-41bc-8b9e-d3894d9d7681_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21TGer%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Ff29b96fa-f4d3-41bc-8b9e-d3894d9d7681_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f29b96fa-f4d3-41bc-8b9e-d3894d9d7681_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;:null,&quot;alt&quot;:&quot;Then It Faded&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Then It Faded" title="Then It Faded" srcset="https://substackcdn.com/image/fetch/$s_!TGer!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29b96fa-f4d3-41bc-8b9e-d3894d9d7681_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!TGer!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29b96fa-f4d3-41bc-8b9e-d3894d9d7681_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!TGer!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29b96fa-f4d3-41bc-8b9e-d3894d9d7681_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!TGer!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29b96fa-f4d3-41bc-8b9e-d3894d9d7681_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 still love being an engineer. I still love building things. But the obsession is gone, and I&#8217;ve noticed it more than I expected to.</p><p>At this point I&#8217;ve seen almost every kind of problem that lands on my plate. After enough years of shipping, the shapes start repeating. New product, new team, new tech stack, but the codebases tend to have similar shapes and the same handful of design patterns underneath, and the problem on top is usually a variant of something I&#8217;ve already worked through two or three times. I know the tradeoffs. I know which patterns hold up and which ones quietly rot. And when a new problem shows up, I have pretty high confidence I can find an optimal solution.</p><p>I can count on one hand the times in the past few years I&#8217;ve felt genuinely out of my depth at work, the kind of out of my depth that forces you to dive deep and grow yourself before you can even see the solution.</p><p>And that turns out to be the actual problem, even though it sounds like the opposite. The obsession was always tied to being out of my depth, to having something to prove, to standing at the bottom of a mountain I wasn&#8217;t sure I could climb. Once you&#8217;re not at the bottom of a mountain anymore, the engine that got you up the last one doesn&#8217;t really have anything to do.</p><p>So my interests have spread out. YouTube has become a huge part of my life. Family time is the baseline underneath everything. I&#8217;ve been sneaking in hours on Slay the Spire 2, climbing ascensions like that&#8217;s somehow important. I have ten interesting things instead of one all consuming thing, and on paper that sounds like the good version of a life. It probably is.</p><p>The obsession is missing, and I&#8217;ve been quietly mourning it for longer than I want to admit.</p><h2>Back To The Video</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21p90W%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F7a7511f1-7f38-44a4-8914-51abd8e8a197_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p90W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a7511f1-7f38-44a4-8914-51abd8e8a197_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!p90W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a7511f1-7f38-44a4-8914-51abd8e8a197_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!p90W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a7511f1-7f38-44a4-8914-51abd8e8a197_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!p90W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a7511f1-7f38-44a4-8914-51abd8e8a197_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21p90W%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F7a7511f1-7f38-44a4-8914-51abd8e8a197_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a7511f1-7f38-44a4-8914-51abd8e8a197_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;:null,&quot;alt&quot;:&quot;The Video, Again&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Video, Again" title="The Video, Again" srcset="https://substackcdn.com/image/fetch/$s_!p90W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a7511f1-7f38-44a4-8914-51abd8e8a197_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!p90W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a7511f1-7f38-44a4-8914-51abd8e8a197_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!p90W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a7511f1-7f38-44a4-8914-51abd8e8a197_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!p90W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a7511f1-7f38-44a4-8914-51abd8e8a197_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Then this chalkboard talk, and I keep coming back to it.</p><p>The thing is, I actually want to understand this stuff. It isn&#8217;t a video I&#8217;m watching out of obligation or because someone told me I should. AI training, how these models actually learn, the math under the hood, it&#8217;s a topic I&#8217;m genuinely interested in and want to learn. So when I keep bouncing off it, it isn&#8217;t boredom pushing me away, it&#8217;s just that I&#8217;m in over my head.</p><p>It was the first time in years I sat with something I couldn&#8217;t muscle through. Not in the &#8220;I could figure this out in a weekend&#8221; way. In the &#8220;this would take me years to really understand&#8221; way.</p><p>And there I realized this is the feeling I&#8217;ve been missing. The wall I can&#8217;t climb yet, the thing that&#8217;s hard enough that I can&#8217;t sandbag my way through on pattern recognition alone.</p><p>I started peeling the onion on what&#8217;s actually pulling me toward AI research, because this isn&#8217;t the first time the thought has come up. It comes back every few months. I look into what the path actually requires, get scared off by the cost, drop it, and then a few months later it&#8217;s back again. The fact that it keeps returning is starting to feel like the answer.</p>
      <p>
          <a href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fp%2Fthe-obsession-i-cant-shake">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[6 Years at Meta]]></title><description><![CDATA[Have I been here too long?]]></description><link>https://getpushtoprod.substack.com/p/6-years-at-meta</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/6-years-at-meta</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Fri, 01 May 2026 22:21:18 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21tP3a%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.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="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21tP3a%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tP3a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.png 424w, https://substackcdn.com/image/fetch/$s_!tP3a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.png 848w, https://substackcdn.com/image/fetch/$s_!tP3a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!tP3a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21tP3a%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/609195bd-9013-400e-9520-00c382b2a34a_2048x1152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hero image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero image" title="Hero image" srcset="https://substackcdn.com/image/fetch/$s_!tP3a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.png 424w, https://substackcdn.com/image/fetch/$s_!tP3a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.png 848w, https://substackcdn.com/image/fetch/$s_!tP3a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!tP3a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609195bd-9013-400e-9520-00c382b2a34a_2048x1152.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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 hit my Metaversary this month, which is what we call your work anniversary at Meta, and mine just turned six.</p><p>Six is a kind of useless number to celebrate, because it isn&#8217;t five and it isn&#8217;t ten, and there&#8217;s no plaque or email or recognition attached to it, just a bot that pings you in the morning while you&#8217;re refilling coffee. I almost let mine pass without thinking about it, the way I let the previous two pass, except that this time the number sat on me a little.</p><p>Six years at Meta is enough time to feel like you&#8217;ve worked at six different companies. Every year, something major shifts. The product, the strategy, the org chart, the office culture, the technology under everything. The Meta I joined six years ago looks very different today.</p><h2>What I Signed Up For</h2><p>I joined Meta as a rotational engineer, which is a polite name for a tryout, in the sense that you do two rotations of six months each and you have to hit E4 by the end of the year or you&#8217;re out. The program is officially designed for people with non-traditional backgrounds but real industry experience. However, underneath the framing it&#8217;s mostly a way for the company to hire fast and fire fast on a stopwatch, which is why most people I knew at the time told me to take the safer offer.</p><p>I came into it with five years at a hardware company as a program manager and four years at Capital One as an full stack engineer, and Capital One was a great place to grow because I got promoted multiple times there, including a year where I got promoted twice, so by the time I was looking at Meta I had the swagger of someone who basically thought he couldn&#8217;t lose. I had an offer from Netflix sitting next to the Meta one, and the Netflix one was senior engineer, with a big jump in pay and no probation and no stopwatch, the kind of offer most people would have signed right away.</p><p>I turned it down. Meta was my dream company, the one I&#8217;d been trying to get into since I was a bootcamp student crashing hackathons on this campus, and honestly I would have taken almost anything to get in. So I took the smaller offer, took the title cut, took the probation, and showed up.</p><p>But then on my start day, they told me to go home.</p><p></p>
      <p>
          <a href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fp%2F6-years-at-meta">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Everything You Need to Know About Claude Design]]></title><description><![CDATA[Is Figma and Adobe Dead?]]></description><link>https://getpushtoprod.substack.com/p/everything-you-need-to-know-about</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/everything-you-need-to-know-about</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sun, 19 Apr 2026 15:38:38 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Fyoutube%2Fw_728%2Cc_limit%2Faai8PahvU0Y" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Before we get into it there is a video version of this newsletter, and at the end of this post I have my slides and Claude Code slide rules if you want to generate slides like this.</p><div id="youtube2-aai8PahvU0Y" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;aai8PahvU0Y&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2Faai8PahvU0Y%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2><strong>Anthrophic Keeps Making Me Work</strong></h2><p>My entire Feed this weekend was around Anthropic&#8217;s new Claude Design. The usual doom and gloom of &#8220;Figma is dead&#8221; and &#8220;Rip Adobe&#8221; was everywhere and honestly justified based on their stock prices. Whenever their is this my hype I just can&#8217;t help myself so I deep dived into Claude Design.</p><p>I told myself I&#8217;d just take a quick look. Maybe click around for ten minutes and move on. Five hours later, I learned basically everything that the tool had to offer from quick designs, importing a Figma design systems, generating animations for my YouTube channel, and much more.</p><p>This is everything I found after systematically testing out all of the features. No speculation, no guessing. Just what&#8217;s actually there right now.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fsubscribe%3F"><span>Subscribe now</span></a></p><h2><strong>The Layout</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21rjHs%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rjHs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.png 424w, https://substackcdn.com/image/fetch/$s_!rjHs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.png 848w, https://substackcdn.com/image/fetch/$s_!rjHs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.png 1272w, https://substackcdn.com/image/fetch/$s_!rjHs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21rjHs%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.png" width="1456" height="810" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:392192,&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://getpushtoprod.substack.com/i/194702155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.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_!rjHs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.png 424w, https://substackcdn.com/image/fetch/$s_!rjHs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.png 848w, https://substackcdn.com/image/fetch/$s_!rjHs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.png 1272w, https://substackcdn.com/image/fetch/$s_!rjHs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129a4287-c370-47ec-a121-a0c8a677691c_2624x1460.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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The first thing you notice is the layout. The chat moves to the left side, and the canvas takes up the right. This is different from other Claude interfaces I&#8217;ve used, where the chat Is the product and everything else is secondary. Its similar to focused canvas modes for writing though.</p><p>Here, the design is the main event. The chat is just how you talk to it. You describe what you want, Claude generates it on the canvas, and you iterate from there. It sounds simple, but the shift in spatial hierarchy changes how you think about the interaction. You stop thinking &#8220;let me prompt the AI&#8221; and start thinking &#8220;let me adjust this design.&#8221;</p><h2><strong>Four Starting Points</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%2184cN%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!84cN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png 424w, https://substackcdn.com/image/fetch/$s_!84cN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png 848w, https://substackcdn.com/image/fetch/$s_!84cN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png 1272w, https://substackcdn.com/image/fetch/$s_!84cN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%2184cN%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png" width="393" height="447.93548387096774" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:848,&quot;width&quot;:744,&quot;resizeWidth&quot;:393,&quot;bytes&quot;:93507,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/194702155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.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_!84cN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png 424w, https://substackcdn.com/image/fetch/$s_!84cN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png 848w, https://substackcdn.com/image/fetch/$s_!84cN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png 1272w, https://substackcdn.com/image/fetch/$s_!84cN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc494ec95-7318-4d75-a7ba-0b08c2fa1abc_744x848.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When you create a new project, you pick from four templates. Prototype, Slide Deck, From Template, or Other.</p><p>Prototype is the main one. It gives you a choice between Wireframe and High Fidelity. Wireframe is rough sketches for exploring ideas fast. High Fidelity uses your design system and gives you polished mockups with real brand assets. Same prompt, completely different output. The gap between the two is worth seeing yourself.</p><p>Slide Deck mode has a toggle I really like: &#8220;Use speaker notes.&#8221; Turn it on and Claude moves the detail into speaker notes instead of cramming everything onto the slide itself. The slides I made for this video used this mode, and honestly, it changed how I think about making presentations. I&#8217;ve been doing HTML slides with reveal.js for a while, but Claude Design takes the fidelity to another level.</p><p>From Template lets you start from reusable patterns. Right now there&#8217;s one built-in template for animation. But the interesting part is you can create your own templates from any project. Just go to Share, then Duplicate as Template. That&#8217;s the kind of workflow that compounds over time.</p><p>Other is a blank canvas sandbox. Good for experiments that don&#8217;t fit the other categories. I image these templates will be like skills and grow organically overtime from the community.</p><h2><strong>The Wizard Approach</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%211Cgw%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1Cgw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png 424w, https://substackcdn.com/image/fetch/$s_!1Cgw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png 848w, https://substackcdn.com/image/fetch/$s_!1Cgw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png 1272w, https://substackcdn.com/image/fetch/$s_!1Cgw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%211Cgw%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png" width="1232" height="834" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:834,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:544359,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/194702155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.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_!1Cgw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png 424w, https://substackcdn.com/image/fetch/$s_!1Cgw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png 848w, https://substackcdn.com/image/fetch/$s_!1Cgw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png 1272w, https://substackcdn.com/image/fetch/$s_!1Cgw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1721be3-03a6-4880-a36a-9b30de578bbd_1232x834.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>One thing that surprised me: Claude Design doesn&#8217;t just drop you into a blank canvas and wait for instructions. Every time I started a new project, it launched a wizard. A short set of questions to narrow down what I was building before generating anything.</p><p>It asked about style preferences, color direction, layout density. You don&#8217;t need any of it, technically. You can skip straight through. But the effect is that Claude doesn&#8217;t have to guess as much, and the first output is usually closer to what you want.</p><p>This is the same principle behind good context engineering in Claude Code. The more context upfront, the less iteration later. They just built the context-gathering into the UI.</p><h2><strong>Nine Built-In Demos</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21qM6z%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qM6z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png 424w, https://substackcdn.com/image/fetch/$s_!qM6z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png 848w, https://substackcdn.com/image/fetch/$s_!qM6z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png 1272w, https://substackcdn.com/image/fetch/$s_!qM6z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21qM6z%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png" width="1456" height="1151" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1151,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:605850,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/194702155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.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_!qM6z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png 424w, https://substackcdn.com/image/fetch/$s_!qM6z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png 848w, https://substackcdn.com/image/fetch/$s_!qM6z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png 1272w, https://substackcdn.com/image/fetch/$s_!qM6z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe51f1e3e-ea6b-49b1-81e9-2a1275529dd5_1814x1434.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 shipped nine example projects with the preview. You can find them in the Examples tab on the right panel. Each one has a &#8220;Use this prompt&#8221; button that lets you run it instantly.</p><p>The shader wallpapers are the showstopper. Five interactive wallpapers that react to your mouse. Genuinely impressive for something generated through conversation.</p><p>But the one that caught my attention as a YouTube creator was the animation examples. I could see a world where I generate transitions and motion graphics for my videos directly in this tool. I tested it with my Pomodoro design system and it actually applied the Mac OS aesthetic to the animation. It uses web technologies behind the scenes, so everything runs natively in the browser.</p><p>The other demos range from a globe loader with real country outlines to text particle effects where words dissolve into fire and smoke. Some are more impressive than others, but they all show the range of what&#8217;s possible.</p><h2><strong>Six Ways to Edit</strong></h2><div class="captioned-image-container"><figure><div class="image-link image2" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!okip!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0934f1-223f-4c53-a472-0262855de397_962x76.png 424w, https://substackcdn.com/image/fetch/$s_!okip!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0934f1-223f-4c53-a472-0262855de397_962x76.png 848w, https://substackcdn.com/image/fetch/$s_!okip!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0934f1-223f-4c53-a472-0262855de397_962x76.png 1272w, https://substackcdn.com/image/fetch/$s_!okip!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0934f1-223f-4c53-a472-0262855de397_962x76.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21okip%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F1a0934f1-223f-4c53-a472-0262855de397_962x76.png" width="962" height="76" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a0934f1-223f-4c53-a472-0262855de397_962x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:962,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:20313,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/194702155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0934f1-223f-4c53-a472-0262855de397_962x76.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_!okip!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0934f1-223f-4c53-a472-0262855de397_962x76.png 424w, https://substackcdn.com/image/fetch/$s_!okip!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0934f1-223f-4c53-a472-0262855de397_962x76.png 848w, https://substackcdn.com/image/fetch/$s_!okip!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0934f1-223f-4c53-a472-0262855de397_962x76.png 1272w, https://substackcdn.com/image/fetch/$s_!okip!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a0934f1-223f-4c53-a472-0262855de397_962x76.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div></div></div></div></figure></div><p>After Claude generates something, you need to refine it. The canvas toolbar has four or so modes for this.</p><p><strong>Tweaks</strong> is the one that surprised me most. Claude embeds actual sliders and color pickers directly into your prototype. Toggle Tweaks on and suddenly there are controls for theme color, accent color, timing values, whatever Claude decided was adjustable. You can fiddle with these live without going back to chat. Toggle Tweaks off and the controls disappear, leaving a clean design. For engineers this is pretty normal variables wrapped in UI but it stills feels like magic.</p><p><strong>Edit mode</strong> opens a property inspector on the right side. You can change the background color, font family, base font size, and click on any element to edit its properties directly. It&#8217;s basically inspecting the HTML, which as an engineer, I appreciate. But I can also see why a designer might want more control here. Designers will definately miss the power controls you get from Figma.</p><p><strong>Comments</strong> is where the collaboration story lives. You pin comments on specific elements, and here&#8217;s the non-obvious part: each comment gets a checkbox labeled &#8220;Select for Send to Claude.&#8221; You can check multiple comments and send them all in one batch. Claude resolves everything in a single turn. This mirrors how engineers and designers actually work. You don&#8217;t fix one thing at a time. You batch your feedback.</p><p><strong>Draw mode</strong> lets you sketch annotations directly on the canvas. It has a queue system where you can mark up multiple things before sending. It even has mic input if you want to narrate your changes instead of typing them.</p><p>Below are some non editing controls but useful.</p><p><strong>Zoom</strong> changes your canvas and goes from 50% to 200%.</p><p><strong>Present</strong> has three options to view the canvas: in the current tab, fullscreen, or a new tab.</p><h2><strong>Feed It Everything</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Edd0%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Edd0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png 424w, https://substackcdn.com/image/fetch/$s_!Edd0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png 848w, https://substackcdn.com/image/fetch/$s_!Edd0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png 1272w, https://substackcdn.com/image/fetch/$s_!Edd0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Edd0%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png" width="640" height="678" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:678,&quot;width&quot;:640,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74003,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/194702155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.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_!Edd0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png 424w, https://substackcdn.com/image/fetch/$s_!Edd0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png 848w, https://substackcdn.com/image/fetch/$s_!Edd0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png 1272w, https://substackcdn.com/image/fetch/$s_!Edd0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ed44e9e-0968-4969-8b2d-a7f29c40564e_640x678.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The import menu is where the context engineering lives. Six ways to pull external context into a project.</p><p>You can upload a .fig file directly from Figma. Connect a GitHub repo so Claude reads your components and styling patterns. Grab a live web element from any URL. Link a local code folder. Reference another Claude Design project. Or just drag and drop images, docs, and folders into the drop zone.</p><p>The Figma import is the one I used most. I also think this and Github combo will be the most important. To test I had a Mac OS design system as a .fig file, and once I imported it, every new design picked up the visual language automatically. Liquid glass, the macOS typography, all of it. This is where Claude Design stops being a toy and starts being useful for real work.</p><h2><strong>Design Systems</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21sT-D%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sT-D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png 424w, https://substackcdn.com/image/fetch/$s_!sT-D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png 848w, https://substackcdn.com/image/fetch/$s_!sT-D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png 1272w, https://substackcdn.com/image/fetch/$s_!sT-D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21sT-D%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png" width="1456" height="992" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:992,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:283049,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/194702155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.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_!sT-D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png 424w, https://substackcdn.com/image/fetch/$s_!sT-D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png 848w, https://substackcdn.com/image/fetch/$s_!sT-D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png 1272w, https://substackcdn.com/image/fetch/$s_!sT-D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc41d04c-fff1-4de5-9ff8-d4f2fa3fee4f_1964x1338.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is what I think makes the whole thing work for teams.</p><p>You go to Organization Settings, create a design system, and upload your brand assets. Codebases, slide decks, PDFs, logos, color palettes, type specimens. Claude extracts colors, typography, components, and layout patterns from whatever you give it.</p><p>Each design system has a Published/Draft toggle. Set one as Default and every new project automatically inherits it. Create templates from any project via the Share menu.</p><p>I spent a lot of time on this part because I think it&#8217;s the single most important feature. Without a design system, every project starts from zero. With one, you get consistency across everything. It&#8217;s the same reason companies invest in design systems in Figma. Claude Design just does the extraction for you.</p><p>You can also connect your codebase directly. Point it at your component library and Claude uses those patterns when generating new designs. This is the bridge between design and engineering that most tools get wrong.</p><h2><strong>Six Models</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21oaKc%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oaKc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png 424w, https://substackcdn.com/image/fetch/$s_!oaKc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png 848w, https://substackcdn.com/image/fetch/$s_!oaKc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png 1272w, https://substackcdn.com/image/fetch/$s_!oaKc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21oaKc%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png" width="204" height="264.2168674698795" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:430,&quot;width&quot;:332,&quot;resizeWidth&quot;:204,&quot;bytes&quot;:40297,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/194702155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.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_!oaKc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png 424w, https://substackcdn.com/image/fetch/$s_!oaKc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png 848w, https://substackcdn.com/image/fetch/$s_!oaKc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png 1272w, https://substackcdn.com/image/fetch/$s_!oaKc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb980f2ce-ed16-43a5-b3e6-5c06d8d42a1e_332x430.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You have access to six Claude models and can switch between them mid-conversation without losing context. Opus 4.7 is the default. Haiku 4.5 is the fastest but weakest. Sonnet 4.6 sits in the middle.</p><p>For quick experiments, use Haiku. For anything that needs to look polished, stick with Opus. Its really a trade off between quality, cost, and speed.</p><h2><strong>Export and the Killer Feature</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21b7Qq%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b7Qq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png 424w, https://substackcdn.com/image/fetch/$s_!b7Qq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png 848w, https://substackcdn.com/image/fetch/$s_!b7Qq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png 1272w, https://substackcdn.com/image/fetch/$s_!b7Qq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21b7Qq%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png" width="466" height="464" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:464,&quot;width&quot;:466,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66350,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/194702155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.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_!b7Qq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png 424w, https://substackcdn.com/image/fetch/$s_!b7Qq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png 848w, https://substackcdn.com/image/fetch/$s_!b7Qq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png 1272w, https://substackcdn.com/image/fetch/$s_!b7Qq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d00126e-14c9-463c-8aae-fa4b93e69e30_466x464.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can export your designs as .zip, PDF, PPTX, standalone HTML, or send them directly to Canva. Share links support view, comment, and edit permissions.</p><p>But the my favorite export feature is at the bottom of the export menu: <strong>Handoff to Claude Code.</strong></p><p>One click and your visual prototype becomes a Claude Code session. The design gets transported into your coding environment and Claude starts implementing it as real, working code. This is the direction I&#8217;m most excited about. Design something visually, then hand it off to be built.</p><p>I think this pattern is a more releastic workflow for most tech workers. You stop choosing between &#8220;design tool&#8221; and &#8220;coding tool.&#8221; They become one pipeline. Personally I would just love to control all of Claude Design in Claude Code.</p><h2><strong>My Honest Take</strong></h2><p>I don&#8217;t think Claude Design kills Figma or Adobe. Not yet anyways.</p><p>The output quality is genuinely impressive. Zero to design, this is the best I&#8217;ve seen. The slides alone changed my workflow permanently for Youtube content creation. I&#8217;ll probably use Claude Design for every presentation from now on, then move them into Claude Code for final polish.</p><p>But for serious design work, it&#8217;s not there yet. The editing controls feel like Squarespace with AI attached. A real designer who needs layers, transparencies, precise control over every element is not going to switch off Figma for this. The collaboration story exists (comments, permissions, batch sending) but it&#8217;s early. Its missing a ton of features that would make it hard for Designers to leave Figma.</p><p>What I do think is that for engineers who need to prototype ideas quickly, for tech workers making presentations and animations, for anyone who needs &#8220;good enough&#8221; design without learning a design tool, this is already incredibly useful. It fits perfectly into my workflow for side projects and YouTube content.</p><p>And the design system + Claude Code handoff pipeline? That&#8217;s the thing to watch. If they keep pushing on that loop, this stops being a demo and starts being how things get built. Why build figma at all if you can just build a prototype? Right now its really the complexity, token cost and speed, but one day that may not be the case.</p><h2><strong>Get the Slides</strong></h2><p>Below are the full slide deck from this video. Same ones you saw at the beginning, built entirely in Claude Design.</p>
      <p>
          <a href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fp%2Feverything-you-need-to-know-about">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Complete Beginner’s Guide to OpenAI’s Codex App]]></title><description><![CDATA[I&#8217;ve talked a ton about Claude Code on this channel.]]></description><link>https://getpushtoprod.substack.com/p/complete-beginners-guide-to-openais</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/complete-beginners-guide-to-openais</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sat, 11 Apr 2026 16:17:27 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Bzv1%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fbf022246-c534-423a-9566-d2c2bff79744_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="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Bzv1%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fbf022246-c534-423a-9566-d2c2bff79744_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bzv1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf022246-c534-423a-9566-d2c2bff79744_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!Bzv1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf022246-c534-423a-9566-d2c2bff79744_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!Bzv1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf022246-c534-423a-9566-d2c2bff79744_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!Bzv1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf022246-c534-423a-9566-d2c2bff79744_1376x768.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Bzv1%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fbf022246-c534-423a-9566-d2c2bff79744_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf022246-c534-423a-9566-d2c2bff79744_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;:null,&quot;alt&quot;:&quot;Hero image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero image" title="Hero image" srcset="https://substackcdn.com/image/fetch/$s_!Bzv1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf022246-c534-423a-9566-d2c2bff79744_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!Bzv1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf022246-c534-423a-9566-d2c2bff79744_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!Bzv1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf022246-c534-423a-9566-d2c2bff79744_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!Bzv1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf022246-c534-423a-9566-d2c2bff79744_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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve talked a ton about Claude Code on this channel. And I think it&#8217;s great. But I also think it&#8217;s really important to not be in some echo chamber where everyone&#8217;s just saying how good their tool is.</p><p>Understanding the differences between these tools helps you choose the right one for the job. So I spent time learning <a href="iframe.php?url=https%3A%2F%2Fchatgpt.com%2Fcodex%2F%3Futm_source%3Dgoogle%26amp%3Butm_medium%3Dpaid_search%26amp%3Butm_campaign%3DGOOG_X_SEM_GBR_Codex_CDX_BAU_ACQ_PER_DMA_ALL_NAMER_US_EN_031826%26amp%3Bc_id%3D23655882150%26amp%3Bc_agid%3D197896593721%26amp%3Bc_crid%3D800673030641%26amp%3Bc_kwid%3Dkwd-416596866180%26amp%3Bc_ims%3D%26amp%3Bc_pms%3D9032032%26amp%3Bc_nw%3Dg%26amp%3Bc_dvc%3Dc%26amp%3Bgad_source%3D1%26amp%3Bgad_campaignid%3D23655882150%26amp%3Bgbraid%3D0AAAAA-I0E5cjje5OcUDhcv0jQLTs3e1kL%26amp%3Bgclid%3DCjwKCAjw4ufOBhBkEiwAfuC7-dyYl3JZ6NaMRbY3ybPhgeEsW87Vi1URuNq4taheMaMdsi62NagO2RoCCVsQAvD_BwE">Codex app</a>, and I wanted to share everything you need to know so you can be effective and start building with it.</p><p></p><p>I also made a video version of this newsletter in case you prefer to learn visually!</p><div id="youtube2-nQFtsehu7h0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;nQFtsehu7h0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2FnQFtsehu7h0%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fsubscribe%3F"><span>Subscribe now</span></a></p><h2>It&#8217;s Codex CLI wrapped in an IDE</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Su5p%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F882d40f3-6014-4e29-8575-35885d4a6f3c_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Su5p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F882d40f3-6014-4e29-8575-35885d4a6f3c_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!Su5p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F882d40f3-6014-4e29-8575-35885d4a6f3c_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!Su5p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F882d40f3-6014-4e29-8575-35885d4a6f3c_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!Su5p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F882d40f3-6014-4e29-8575-35885d4a6f3c_1376x768.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Su5p%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F882d40f3-6014-4e29-8575-35885d4a6f3c_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/882d40f3-6014-4e29-8575-35885d4a6f3c_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;:null,&quot;alt&quot;:&quot;It's an IDE, Not a Chat Window&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="It's an IDE, Not a Chat Window" title="It's an IDE, Not a Chat Window" srcset="https://substackcdn.com/image/fetch/$s_!Su5p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F882d40f3-6014-4e29-8575-35885d4a6f3c_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!Su5p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F882d40f3-6014-4e29-8575-35885d4a6f3c_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!Su5p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F882d40f3-6014-4e29-8575-35885d4a6f3c_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!Su5p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F882d40f3-6014-4e29-8575-35885d4a6f3c_1376x768.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The first thing you notice about Codex app is that it looks and feels like an IDE. It&#8217;s an Electron app with a project sidebar, threads, a built-in terminal, and a code review panel.</p><p>Claude Code&#8217;s desktop app has some of these elements too. But Codex leans harder into the visual experience. Rich rendering. Image previews. Downloadable plans. Inline diffing. The kind of stuff that&#8217;s impossible in a terminal UI.</p><p>If you&#8217;ve ever tried to review a massive diff in a TUI and thought &#8220;this would be so much easier with a proper interface,&#8221; Codex is what that looks like.</p><p>There are four ways to use Codex overall: the desktop app, the VS Code extension, the CLI, and Codex Cloud (which runs on OpenAI&#8217;s infrastructure using their Agent SDK). We&#8217;re focused on the desktop app here.</p><h2>Three Ways To Execute: Local, Cloud, And Worktrees</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21kzFr%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F8c15f475-68d2-463f-a167-af0c70110c08_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kzFr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c15f475-68d2-463f-a167-af0c70110c08_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!kzFr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c15f475-68d2-463f-a167-af0c70110c08_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!kzFr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c15f475-68d2-463f-a167-af0c70110c08_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!kzFr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c15f475-68d2-463f-a167-af0c70110c08_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21kzFr%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F8c15f475-68d2-463f-a167-af0c70110c08_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c15f475-68d2-463f-a167-af0c70110c08_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;:null,&quot;alt&quot;:&quot;Three Ways to Execute: Local, Cloud, and Worktrees&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three Ways to Execute: Local, Cloud, and Worktrees" title="Three Ways to Execute: Local, Cloud, and Worktrees" srcset="https://substackcdn.com/image/fetch/$s_!kzFr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c15f475-68d2-463f-a167-af0c70110c08_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!kzFr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c15f475-68d2-463f-a167-af0c70110c08_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!kzFr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c15f475-68d2-463f-a167-af0c70110c08_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!kzFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c15f475-68d2-463f-a167-af0c70110c08_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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><ul><li><p><strong>Local mode: </strong>is what you&#8217;d expect. You&#8217;re in a project, tasks run on your machine. Simple.</p></li><li><p><strong>Cloud mode: </strong>sends execution to OpenAI&#8217;s servers. You kick off a task, close your laptop, come back later, and pick up where it left off. It needs GitHub connected. And you&#8217;ll notice a lot of Codex&#8217;s workflows are oriented around pushing to GitHub and doing work virtually. It&#8217;s a different philosophy from &#8220;everything happens on my machine.&#8221;</p></li><li><p><strong>Worktree:</strong> Codex clones your current branch into a separate Git worktree, giving you two parallel local environments. You can run two agents on the same codebase without them stepping on each other&#8217;s files. The app has native support for this. You see different worktrees in the sidebar, create threads inside each one, and manage them visually.</p></li></ul><h2>Project Sidebar</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21bzGk%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fa5beaac1-abf0-46d3-991d-ca182b4954ba_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bzGk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5beaac1-abf0-46d3-991d-ca182b4954ba_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!bzGk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5beaac1-abf0-46d3-991d-ca182b4954ba_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!bzGk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5beaac1-abf0-46d3-991d-ca182b4954ba_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!bzGk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5beaac1-abf0-46d3-991d-ca182b4954ba_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21bzGk%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fa5beaac1-abf0-46d3-991d-ca182b4954ba_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5beaac1-abf0-46d3-991d-ca182b4954ba_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;:null,&quot;alt&quot;:&quot;Project Sidebar&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Project Sidebar" title="Project Sidebar" srcset="https://substackcdn.com/image/fetch/$s_!bzGk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5beaac1-abf0-46d3-991d-ca182b4954ba_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!bzGk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5beaac1-abf0-46d3-991d-ca182b4954ba_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!bzGk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5beaac1-abf0-46d3-991d-ca182b4954ba_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!bzGk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5beaac1-abf0-46d3-991d-ca182b4954ba_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Every top-level item is a project. Inside each project, you create threads. Each thread is one agent instance. If you use Claude Code in the terminal, think of each <code>claude</code> command you run as one of these threads.</p><p>The big difference is <strong>persistence</strong>. Hard-close Codex, reopen it, and your sessions are still there. Every thread you built up, every context you accumulated, cached and waiting for you.</p><p>In the terminal, closing a session means that context is gone.</p><p>If you think about context engineering, about how context is king, this matters. You&#8217;re investing effort to build up context for a specific task. Losing that because you closed a terminal tab is wasteful.</p><p>I can also see at a glance which threads are local, which are cloud executions, which are worktrees. That organizational clarity is valuable when you&#8217;re juggling multiple streams.</p><p>I still prefer the terminal personally. I&#8217;ve mapped out my workflow to a tee, like a Vim user with shortcuts for everything. But I can see why this wins for most people.</p><h2>Models: It&#8217;s All About Trade-offs</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21wmat%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F17ae8e81-9ee3-404f-bc5c-4527f5d6b920_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wmat!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ae8e81-9ee3-404f-bc5c-4527f5d6b920_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!wmat!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ae8e81-9ee3-404f-bc5c-4527f5d6b920_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!wmat!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ae8e81-9ee3-404f-bc5c-4527f5d6b920_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!wmat!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ae8e81-9ee3-404f-bc5c-4527f5d6b920_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21wmat%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F17ae8e81-9ee3-404f-bc5c-4527f5d6b920_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17ae8e81-9ee3-404f-bc5c-4527f5d6b920_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;:null,&quot;alt&quot;:&quot;Models: It's All About Trade-offs&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Models: It's All About Trade-offs" title="Models: It's All About Trade-offs" srcset="https://substackcdn.com/image/fetch/$s_!wmat!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ae8e81-9ee3-404f-bc5c-4527f5d6b920_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!wmat!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ae8e81-9ee3-404f-bc5c-4527f5d6b920_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!wmat!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ae8e81-9ee3-404f-bc5c-4527f5d6b920_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!wmat!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ae8e81-9ee3-404f-bc5c-4527f5d6b920_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Claude Code gives you Haiku, Sonnet, and Opus. Most people use Sonnet or Opus.</p><p>Codex has more options. GPT 5.4, Mini, the Codex model, and Spark (Max plan only, extremely fast). Type <code>/models</code> to see them all.</p><p>The two variables that matter are <strong>cost and speed</strong>.</p><p>But Codex adds another dimension: <strong>reasoning levels</strong>. For any model, you can set reasoning to low, medium, or high. Default is medium, which works for most tasks.</p><p>When I have a gnarly bug in a massive codebase, I crank reasoning to high. For simple file operations or boilerplate tasks, low is fine. Using high reasoning for everything is like driving in first gear on the highway. Technically it works. It&#8217;s also wasteful and slow.</p><p>There&#8217;s also <code>/fast</code> mode which pushes GPT 5.4 into a faster output mode at higher token cost. Worth it when you&#8217;re on a deadline. Not worth it for casual exploration.</p><p>Sub-agents doing research can use Mini. Your main planning thread should use the full model. Match the tool to the task.</p><h2>Prompting: Four Pillars</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21kDs_%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F8126f998-64d0-4505-83f8-c85ea91990fc_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kDs_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126f998-64d0-4505-83f8-c85ea91990fc_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!kDs_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126f998-64d0-4505-83f8-c85ea91990fc_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!kDs_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126f998-64d0-4505-83f8-c85ea91990fc_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!kDs_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126f998-64d0-4505-83f8-c85ea91990fc_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21kDs_%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F8126f998-64d0-4505-83f8-c85ea91990fc_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8126f998-64d0-4505-83f8-c85ea91990fc_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;:null,&quot;alt&quot;:&quot;Prompting: Four Pillars&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Prompting: Four Pillars" title="Prompting: Four Pillars" srcset="https://substackcdn.com/image/fetch/$s_!kDs_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126f998-64d0-4505-83f8-c85ea91990fc_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!kDs_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126f998-64d0-4505-83f8-c85ea91990fc_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!kDs_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126f998-64d0-4505-83f8-c85ea91990fc_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!kDs_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8126f998-64d0-4505-83f8-c85ea91990fc_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Codex&#8217;s docs recommend structuring prompts around four elements:</p><ul><li><p><strong>Goal</strong> - What are you trying to accomplish? Be specific.</p></li><li><p><strong>Context</strong> - Relevant files, folders, docs. You can use @ to reference files, but honestly I think you can just describe what you need in natural language and let the AI build its own context.</p></li><li><p><strong>Constraints</strong> - Framework, architecture, conventions. Anything not obvious from the code itself.</p></li><li><p><strong>Done When</strong> - Their version of agentic validation. Tell the agent how to know it succeeded. &#8220;Done when all tests pass.&#8221; &#8220;Done when the migration runs without errors.&#8221; Without it, you&#8217;re the only verification layer. With it, the agent can self-heal.</p></li></ul><p>And always start in plan mode (Shift+Tab). Plan first, execute second.</p><h2>Making It Yours: Agents.md, Skills, And Mcps</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21ZtkH%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fa69dd72d-aa6b-4b11-a4f1-1e4f640870d9_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZtkH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69dd72d-aa6b-4b11-a4f1-1e4f640870d9_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!ZtkH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69dd72d-aa6b-4b11-a4f1-1e4f640870d9_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!ZtkH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69dd72d-aa6b-4b11-a4f1-1e4f640870d9_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!ZtkH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69dd72d-aa6b-4b11-a4f1-1e4f640870d9_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21ZtkH%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fa69dd72d-aa6b-4b11-a4f1-1e4f640870d9_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a69dd72d-aa6b-4b11-a4f1-1e4f640870d9_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;:null,&quot;alt&quot;:&quot;Making It Yours: agents.md, Skills, and MCPs&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Making It Yours: agents.md, Skills, and MCPs" title="Making It Yours: agents.md, Skills, and MCPs" srcset="https://substackcdn.com/image/fetch/$s_!ZtkH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69dd72d-aa6b-4b11-a4f1-1e4f640870d9_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!ZtkH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69dd72d-aa6b-4b11-a4f1-1e4f640870d9_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!ZtkH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69dd72d-aa6b-4b11-a4f1-1e4f640870d9_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!ZtkH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa69dd72d-aa6b-4b11-a4f1-1e4f640870d9_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>agents.md</h3><p>This is Codex&#8217;s version of CLAUDE.md. It&#8217;s the open source standard name, and it&#8217;s where you put everything the model needs to know about your project that it can&#8217;t figure out on its own.</p><p>Build commands. PR conventions. Architecture decisions. Things you keep telling the AI over and over. If you&#8217;re re-prompting the same rules, that&#8217;s a signal to put them in agents.md instead.</p><h3>Skills</h3><p>Reusable workflows. Codex has a built-in skill creator. Describe what you want, and it generates the skill. They also have a marketplace with third-party skills and plugins: Sora, image gen, docs, Playwright, and more.</p><p>The distinction between skills and plugins: plugins bundle more than just prompts. They probably include MCPs and deeper integrations.</p><h3>MCPs</h3><p>Model Context Protocol is how you give the agent access to external tools and services. Things like Figma, databases, Slack, browser automation with Playwright. If you&#8217;ve used MCPs in Claude Code or Cursor, it works the same way here. You can install them from the marketplace or just tell Codex to set one up for you.</p><h2>Sub-agents: Parallel Work And Context Protection</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21oH6Q%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F47a5e884-39c5-43a0-8b36-5f9d0486965d_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oH6Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47a5e884-39c5-43a0-8b36-5f9d0486965d_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!oH6Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47a5e884-39c5-43a0-8b36-5f9d0486965d_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!oH6Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47a5e884-39c5-43a0-8b36-5f9d0486965d_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!oH6Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47a5e884-39c5-43a0-8b36-5f9d0486965d_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21oH6Q%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F47a5e884-39c5-43a0-8b36-5f9d0486965d_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47a5e884-39c5-43a0-8b36-5f9d0486965d_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;:null,&quot;alt&quot;:&quot;Sub-Agents: Parallel Work and Context Protection&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sub-Agents: Parallel Work and Context Protection" title="Sub-Agents: Parallel Work and Context Protection" srcset="https://substackcdn.com/image/fetch/$s_!oH6Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47a5e884-39c5-43a0-8b36-5f9d0486965d_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!oH6Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47a5e884-39c5-43a0-8b36-5f9d0486965d_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!oH6Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47a5e884-39c5-43a0-8b36-5f9d0486965d_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!oH6Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47a5e884-39c5-43a0-8b36-5f9d0486965d_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Sub-agents serve two purposes.</p><p><strong>Parallel processing.</strong>Run multiple tasks simultaneously.<strong>Context protection.</strong>If a task is noisy and would pollute your main thread, offload it to a sub-agent. They call this &#8220;context rot.&#8221; Keep your main thread clean, let the sub-agent do the messy work, and report back with just the results.</p><p>This is also where model selection gets practical. Your main thread might need GPT 5.4 with high reasoning. A sub-agent doing a color palette investigation can use Mini with low reasoning. Match compute to complexity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21VG67%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F0122f84b-c946-4226-a89a-178a646f2555_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VG67!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0122f84b-c946-4226-a89a-178a646f2555_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!VG67!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0122f84b-c946-4226-a89a-178a646f2555_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!VG67!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0122f84b-c946-4226-a89a-178a646f2555_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!VG67!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0122f84b-c946-4226-a89a-178a646f2555_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21VG67%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F0122f84b-c946-4226-a89a-178a646f2555_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0122f84b-c946-4226-a89a-178a646f2555_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;:null,&quot;alt&quot;:&quot;Safety, Sandboxing, and Hooks&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Safety, Sandboxing, and Hooks" title="Safety, Sandboxing, and Hooks" srcset="https://substackcdn.com/image/fetch/$s_!VG67!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0122f84b-c946-4226-a89a-178a646f2555_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!VG67!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0122f84b-c946-4226-a89a-178a646f2555_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!VG67!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0122f84b-c946-4226-a89a-178a646f2555_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!VG67!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0122f84b-c946-4226-a89a-178a646f2555_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Sandboxing works per environment. You can configure read-only, default permissions, or full access. Settings are per-project or global.</p><p>Fine-grained permission rules let you pre-approve common commands (GitHub CLI, specific bash commands) so the agent doesn&#8217;t pause for approval on things that are obviously safe. The longer the agent can run autonomously, the more leverage you get.</p><p>Hooks trigger on lifecycle events: session start, pre-tool use, post-tool use, prompt submission, agent stop. You can ask Codex to build hooks for you. &#8220;Write me a post-tool hook that lints after every code change.&#8221; Let the agent manage its own environment.</p><h2>Power User Features</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%210xKj%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fedd48a56-e747-4a2f-9138-2167d3cd19b8_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0xKj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedd48a56-e747-4a2f-9138-2167d3cd19b8_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!0xKj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedd48a56-e747-4a2f-9138-2167d3cd19b8_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!0xKj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedd48a56-e747-4a2f-9138-2167d3cd19b8_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!0xKj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedd48a56-e747-4a2f-9138-2167d3cd19b8_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%210xKj%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fedd48a56-e747-4a2f-9138-2167d3cd19b8_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edd48a56-e747-4a2f-9138-2167d3cd19b8_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;:null,&quot;alt&quot;:&quot;Power User Features&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Power User Features" title="Power User Features" srcset="https://substackcdn.com/image/fetch/$s_!0xKj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedd48a56-e747-4a2f-9138-2167d3cd19b8_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!0xKj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedd48a56-e747-4a2f-9138-2167d3cd19b8_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!0xKj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedd48a56-e747-4a2f-9138-2167d3cd19b8_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!0xKj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedd48a56-e747-4a2f-9138-2167d3cd19b8_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Code Review Panel</h3><p>Toggle it with Cmd+Option+B. You get inline diffs, selective staging, revert buttons, and the ability to request changes that the agent iterates on. Click a specific line, say &#8220;this is wrong, fix it,&#8221; and watch it iterate.</p><p>In Claude Code you need to jump to Vim or VS Code for proper diffing. Having review built into the agent workflow is really nice.</p><h3>Automations</h3><p>Cron jobs for your AI agent. Pick a project, set a schedule, and let it run. Templates include things like weekly code review summaries and repo maintenance.</p><p>The benefit of running automations inside Codex is that they leverage all the skills and context you&#8217;ve built for that project. Part of me thinks workflow tools like n8n are partially dead because of this.</p><p>Caveat: local automations need your computer running. Cloud automations exist for the set-and-forget use case.</p><h3>Built-in Git</h3><p>Git actions are first-class. Commit with auto-generated messages, create PRs, stage changes, review diffs. All from the app. These small things add up when you&#8217;re not constantly alt-tabbing between terminal, browser, and editor.</p><h2>Best Practices</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21UQRP%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F97fee1f2-5ac4-45de-abec-2506ce21be2f_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UQRP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fee1f2-5ac4-45de-abec-2506ce21be2f_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!UQRP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fee1f2-5ac4-45de-abec-2506ce21be2f_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!UQRP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fee1f2-5ac4-45de-abec-2506ce21be2f_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!UQRP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fee1f2-5ac4-45de-abec-2506ce21be2f_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21UQRP%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F97fee1f2-5ac4-45de-abec-2506ce21be2f_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/97fee1f2-5ac4-45de-abec-2506ce21be2f_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;:null,&quot;alt&quot;:&quot;Best Practices&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Best Practices" title="Best Practices" srcset="https://substackcdn.com/image/fetch/$s_!UQRP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fee1f2-5ac4-45de-abec-2506ce21be2f_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!UQRP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fee1f2-5ac4-45de-abec-2506ce21be2f_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!UQRP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fee1f2-5ac4-45de-abec-2506ce21be2f_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!UQRP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fee1f2-5ac4-45de-abec-2506ce21be2f_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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><ul><li><p><strong>One thread, one task.</strong> Scoped work produces clean results.</p></li><li><p><strong>Use /compact when threads get long.</strong> Context degradation is real. Keep it tight.</p></li><li><p><strong>Use /fork to branch conversations.</strong> Explore tangents without polluting the main thread.</p></li><li><p><strong>Put repeated instructions in agents.md.</strong> If you&#8217;re saying it twice, it should be in the file.</p></li><li><p><strong>Always include validation criteria.</strong> &#8220;Done when&#8221; or equivalent. Without it, you&#8217;re the only quality gate.</p></li><li><p><strong>Don&#8217;t skip plan mode.</strong> Most tasks worth doing need upfront planning.</p></li><li><p><strong>Set granular permissions.</strong> The less babysitting, the more leverage.</p></li><li><p><strong>Use worktrees for parallel file edits.</strong> Don&#8217;t have two threads editing the same files on the same branch.</p></li><li><p><strong>Perfect skills before automating them.</strong> Spend cycles getting the skill right, then put it on a schedule.</p></li></ul><h2>Closing Thoughts</h2><p>More people are going to build software. Not because everyone will become an engineer, but because tools like Codex make the barrier lower. Some people see that as a threat. I see it as Jevons paradox: making coding more efficient doesn&#8217;t reduce demand for it. It increases demand.</p><p>The terminal is for engineers. Apps like Codex are for everyone who wants to build things. Both will coexist. But if I had to bet on which one grows the user base faster, it&#8217;s the one with buttons and previews.</p><p>Whether you&#8217;re a Claude Code loyalist (like me) or purely on the OpenAI side, learning both tools makes you more effective with either. The fundamentals are the same: context engineering, validation, plan before execute, and let agents run long.</p><p>The interface is just the surface. The principles underneath are the same.</p>]]></content:encoded></item><item><title><![CDATA[How To Win Hackathons]]></title><description><![CDATA[Its a lot easier than you might think!]]></description><link>https://getpushtoprod.substack.com/p/how-to-win-hackathons</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/how-to-win-hackathons</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Mon, 06 Apr 2026 15:02:59 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21yt2T%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F316dd19f-49fa-4c01-bb2a-528034e2d1e3_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="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21yt2T%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F316dd19f-49fa-4c01-bb2a-528034e2d1e3_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yt2T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316dd19f-49fa-4c01-bb2a-528034e2d1e3_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!yt2T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316dd19f-49fa-4c01-bb2a-528034e2d1e3_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!yt2T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316dd19f-49fa-4c01-bb2a-528034e2d1e3_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!yt2T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316dd19f-49fa-4c01-bb2a-528034e2d1e3_1376x768.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21yt2T%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F316dd19f-49fa-4c01-bb2a-528034e2d1e3_1376x768.png" width="727.998046875" height="406.3244912790698" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/316dd19f-49fa-4c01-bb2a-528034e2d1e3_1376x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:727.998046875,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hero image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero image" title="Hero image" srcset="https://substackcdn.com/image/fetch/$s_!yt2T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316dd19f-49fa-4c01-bb2a-528034e2d1e3_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!yt2T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316dd19f-49fa-4c01-bb2a-528034e2d1e3_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!yt2T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316dd19f-49fa-4c01-bb2a-528034e2d1e3_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!yt2T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F316dd19f-49fa-4c01-bb2a-528034e2d1e3_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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve won maybe seven or eight hackathons. Close to a 90% win rate. About forty thousand in total prizes, split with teammates. I won TechCrunch Disrupt. I&#8217;ve won with AI, and I&#8217;ve won without it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21sM68%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sM68!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sM68!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sM68!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sM68!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21sM68%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg" width="800" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51464,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/193319209?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sM68!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sM68!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sM68!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sM68!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaed77a9-7f71-40e9-9dda-25849932e8e8_800x600.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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 month I went to an AI robotics hackathon in San Francisco and won the grand prize! I&#8217;m going to walk you through exactly how I did it, and how you can win these yourself.</p><p>I hadn&#8217;t been to a hackathon since joining Meta. You kind of stop going to meetups and hackathons when you&#8217;re working full-time. You lose that fire. But I took the train into the city, walked into the venue, and immediately felt it come back. One flat open space, people everywhere, my friend Juni already there. We&#8217;ve done a bunch of these together and we have a 100% win rate as a team. Kids were already hooked into robots, controlling them before the event even started. I was getting fired up.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fsubscribe%3F"><span>Subscribe now</span></a></p><p><br><br>If you would prefer to watch the vlog version of this newsletter check it out here!</p><div id="youtube2-fkGXYXZyBaI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;fkGXYXZyBaI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2FfkGXYXZyBaI%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Hackathons Are Marketing</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21cNxo%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F9b70db72-13fd-4685-ba9e-23c4560049c0_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cNxo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b70db72-13fd-4685-ba9e-23c4560049c0_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!cNxo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b70db72-13fd-4685-ba9e-23c4560049c0_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!cNxo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b70db72-13fd-4685-ba9e-23c4560049c0_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!cNxo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b70db72-13fd-4685-ba9e-23c4560049c0_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21cNxo%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F9b70db72-13fd-4685-ba9e-23c4560049c0_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b70db72-13fd-4685-ba9e-23c4560049c0_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;:null,&quot;alt&quot;:&quot;Hackathons Are Marketing&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hackathons Are Marketing" title="Hackathons Are Marketing" srcset="https://substackcdn.com/image/fetch/$s_!cNxo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b70db72-13fd-4685-ba9e-23c4560049c0_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!cNxo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b70db72-13fd-4685-ba9e-23c4560049c0_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!cNxo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b70db72-13fd-4685-ba9e-23c4560049c0_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!cNxo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b70db72-13fd-4685-ba9e-23c4560049c0_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The best way to win hackathons is recognizing what a hackathon actually is. In my opinion, a hackathon is just marketing. The sponsors are paying to be there. They want developers using their tools, creating demos, generating content that makes them look good. The organizers want a story. If you understand that, you can work backwards from it.</p><p>Look at Anthropic&#8217;s last hackathon. A bunch of non-engineers won. People who&#8217;d never written code used Claude Code to build things and took home prizes. I&#8217;m not taking anything away from those hackers. But if I was organizing that event, I know exactly what story I&#8217;d want to tell. &#8220;Even non-engineers can build with Claude Code.&#8221; That&#8217;s a much bigger audience than just developers.</p><p>Every hackathon I&#8217;ve been to works this way. The sponsors want to see their tools used well. The judges want a compelling demo. The organizers want a narrative they can promote. If you understand who wants what, you build for the audience instead of building for yourself.</p><p>This particular hackathon was an AI robotics hackathon. They had robot arms, a robot dog, and claws you could control. The main prize was for the best robotics hack, but there were also a bunch of sponsor tracks on top of that. So the first thing I did was walk the sponsor tables and start figuring out how to make them all look good.</p><h2>Talk To Sponsors, Stack The Tracks</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21aSHT%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F5926e6f7-8d13-43a9-a207-d1180e7acaf2_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aSHT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5926e6f7-8d13-43a9-a207-d1180e7acaf2_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!aSHT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5926e6f7-8d13-43a9-a207-d1180e7acaf2_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!aSHT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5926e6f7-8d13-43a9-a207-d1180e7acaf2_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!aSHT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5926e6f7-8d13-43a9-a207-d1180e7acaf2_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21aSHT%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F5926e6f7-8d13-43a9-a207-d1180e7acaf2_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5926e6f7-8d13-43a9-a207-d1180e7acaf2_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;:null,&quot;alt&quot;:&quot;Talk to Sponsors, Stack the Tracks&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Talk to Sponsors, Stack the Tracks" title="Talk to Sponsors, Stack the Tracks" srcset="https://substackcdn.com/image/fetch/$s_!aSHT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5926e6f7-8d13-43a9-a207-d1180e7acaf2_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!aSHT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5926e6f7-8d13-43a9-a207-d1180e7acaf2_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!aSHT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5926e6f7-8d13-43a9-a207-d1180e7acaf2_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!aSHT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5926e6f7-8d13-43a9-a207-d1180e7acaf2_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Most teams pick one sponsor track and build for it. But you can qualify for more than one at a time, and most people don&#8217;t think to do this.</p><p>I started looking at the tracks. The main robotics prize was obvious. Everyone would target that. But then there was Smallest AI doing phone agents, Toolhouse doing agents as a service, Cyberware for the robotics control, and Jade Hosting for deployment. Most teams would pick one. I wanted to hit as many as possible. The more sponsors you use, the more chances you have of winning a specific sponsor prize.</p><p>So Juni and I split up. I researched the sponsor tools and started figuring out how they could all connect into a single product. He went deep on the Cyberware robotics stuff. And then we started talking to the sponsors.</p><p>This is probably the most underrated thing you can do at a hackathon. Build rapport with the sponsors. Not too often, but enough that they know you, they know you&#8217;re actually hacking, they know you&#8217;re using their stuff. They&#8217;re also great resources for their own products. They&#8217;ll give you hints on what they&#8217;re looking for. You pitch ideas, gauge their reaction. If they light up, you&#8217;re on the right track. If they give you a flat &#8220;oh yeah, that&#8217;s cool,&#8221; pivot.</p><p>I learned this years ago at TechCrunch Disrupt. The Esri booth had this incredible demo. A pulsing, animated map with city data flowing in real time, built on their JavaScript framework. I asked if they had the same thing on iOS. They said no. Said they&#8217;d been trying to figure it out but hadn&#8217;t cracked it yet.</p><p>I looked at the guy and said, &#8220;If we build that for you tonight, do we win your prize?&#8221;</p><p>He stared at me for a second. &#8220;Yeah. You guys pull that off, it&#8217;s yours.&#8221;</p><p>I went back to my team and told them to scrap everything. Six hours of work, gone. We pivoted the entire project around that single conversation. And we won. The code was a mess. Half the features were not fully working but that didn&#8217;t matter. During the announcement, the Esri sponsor basically said it himself. He gave it to us because we built the thing he wanted to exist.</p><p>The sponsors are the judges. They&#8217;re in the room. Use them.</p><p>Back at the robotics hackathon, we landed on a project that hit all four tracks. A voice-controlled robot butler called Alfred. You call a phone number (Smallest AI), that connects to a voice agent, which routes through an agent framework (Toolhouse), and that controls the actual robots (Cyberware). We hosted the MCP server through Jade. One project, four sponsor categories. Now we needed to build it.</p><h2>Team</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%213LxS%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F2e2349e0-dd89-4d04-bc8f-02b6a192073e_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3LxS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2349e0-dd89-4d04-bc8f-02b6a192073e_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!3LxS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2349e0-dd89-4d04-bc8f-02b6a192073e_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!3LxS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2349e0-dd89-4d04-bc8f-02b6a192073e_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!3LxS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2349e0-dd89-4d04-bc8f-02b6a192073e_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%213LxS%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F2e2349e0-dd89-4d04-bc8f-02b6a192073e_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e2349e0-dd89-4d04-bc8f-02b6a192073e_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;:null,&quot;alt&quot;:&quot;The Team&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Team" title="The Team" srcset="https://substackcdn.com/image/fetch/$s_!3LxS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2349e0-dd89-4d04-bc8f-02b6a192073e_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!3LxS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2349e0-dd89-4d04-bc8f-02b6a192073e_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!3LxS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2349e0-dd89-4d04-bc8f-02b6a192073e_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!3LxS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e2349e0-dd89-4d04-bc8f-02b6a192073e_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Later in the day my friend Kevin joined us too. He was actually my manager for the past five years at Meta. We&#8217;ve jumped from multiple projects and teams together. Reels, Meta AI, Threads. I&#8217;ve worked with him long enough to know exactly what he&#8217;s good at. And that matters more than most people realize.</p><p>A lot of people show up to hackathons solo and join a random team. You burn the first few hours just figuring out how strangers communicate. Go with people you know. People whose strengths you already trust.</p><p>Every hackathon team needs at least three roles. Not three people necessarily, but three roles covered.</p><p>You need someone to PM and present. That&#8217;s the person talking to sponsors, locking down the product direction, keeping the clock in mind. If your hackathon is seven hours long, you cannot spend an hour debating ideas. Someone has to take the inputs, make a call, and get people moving. That was me.</p><p>You need a deep diver. Someone who can disappear into the hardest technical problem for four hours and come out with something that works. That was Juni. He went deep on the robotic arm movement code and didn&#8217;t surface until it was done.</p><p>And you need a generalist. Someone who wires everything together, handles integrations, fills gaps. That was Kevin. Toolhouse agent routing, the robot dog, all the glue work.</p><p>We had our roles, we had our plan, and we started building.</p><h2>Build For The Demo</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21uMU9%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F5b648094-e094-4f05-98fe-226ed0fce475_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uMU9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b648094-e094-4f05-98fe-226ed0fce475_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!uMU9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b648094-e094-4f05-98fe-226ed0fce475_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!uMU9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b648094-e094-4f05-98fe-226ed0fce475_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!uMU9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b648094-e094-4f05-98fe-226ed0fce475_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21uMU9%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F5b648094-e094-4f05-98fe-226ed0fce475_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b648094-e094-4f05-98fe-226ed0fce475_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;:null,&quot;alt&quot;:&quot;Build for the Demo&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Build for the Demo" title="Build for the Demo" srcset="https://substackcdn.com/image/fetch/$s_!uMU9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b648094-e094-4f05-98fe-226ed0fce475_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!uMU9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b648094-e094-4f05-98fe-226ed0fce475_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!uMU9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b648094-e094-4f05-98fe-226ed0fce475_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!uMU9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b648094-e094-4f05-98fe-226ed0fce475_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You&#8217;re not building a product. You&#8217;re not even building a prototype. You&#8217;re building a demo.</p><p>This is where most teams lose. They spend 95% of their time building and 5% on the pitch. That ratio should be reversed. The happy path needs to work. The hardest thing you claim to do needs to actually function. Everything else can be mocked, static, held together with duct tape. Rough edges are fine. But the core thing has to be real.</p><p>We scoped ruthlessly. No edge cases. No error handling beyond &#8220;try again.&#8221; One happy path, polished until it looked intentional. Every feature we cut was a feature that couldn&#8217;t break during the demo.</p><p>With about two hours left, we started making the demo video. Most teams were still deep in code. Always have a video ready if the rules allow it. Live demos are usually the best option, but things can go wrong. And this time they did. The organizers announced everyone had to show pre-recorded videos because of technical difficulties with the robots.</p><p>Half the teams scrambled, but we were ready for it.</p><h2>Presentation</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Avmx%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fdb4a336a-972d-43fb-bc76-7c2e8788851d_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Avmx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4a336a-972d-43fb-bc76-7c2e8788851d_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!Avmx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4a336a-972d-43fb-bc76-7c2e8788851d_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!Avmx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4a336a-972d-43fb-bc76-7c2e8788851d_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!Avmx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4a336a-972d-43fb-bc76-7c2e8788851d_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Avmx%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fdb4a336a-972d-43fb-bc76-7c2e8788851d_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db4a336a-972d-43fb-bc76-7c2e8788851d_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;:null,&quot;alt&quot;:&quot;The Presentation&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Presentation" title="The Presentation" srcset="https://substackcdn.com/image/fetch/$s_!Avmx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4a336a-972d-43fb-bc76-7c2e8788851d_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!Avmx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4a336a-972d-43fb-bc76-7c2e8788851d_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!Avmx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4a336a-972d-43fb-bc76-7c2e8788851d_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!Avmx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4a336a-972d-43fb-bc76-7c2e8788851d_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Lead with the problem your hack solves and tell a good story. The tech stack matters, but it&#8217;s not your opening line. Start with what the thing does and why it&#8217;s cool. Then walk them through how you built it, making sure the sponsor tools are front and center. They want to hear their product name on stage. The feeding arm was the crowd favorite. Alfred tells you to get ready, activates the arm, says &#8220;just say stop whenever you need.&#8221; People laughed. That&#8217;s what sticks. The technical details land better after the audience already cares.</p><p>Show the hardest thing working. If you claim your hack does something impressive, that thing needs to actually function on stage. Everything else can be rough. But the one wow moment has to be real.</p><p>When judges ask about features you didn&#8217;t build, frame them as design choices, not gaps. &#8220;We scoped that out intentionally to focus on the core experience&#8221; sounds a lot better than &#8220;we ran out of time.&#8221; Missing features become roadmap items. Limitations become deliberate tradeoffs. You&#8217;re not lying. You&#8217;re presenting like someone who made intentional decisions, because you did.</p><p>The team with the best code almost never wins. The team with the best demo does.</p><p>We won. Grand prize. Alfred Robot Butler.</p><h2>Go To Hackathons</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21C7R5%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F202ecfd4-a1f6-480b-875f-617ef3ed638f_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C7R5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F202ecfd4-a1f6-480b-875f-617ef3ed638f_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!C7R5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F202ecfd4-a1f6-480b-875f-617ef3ed638f_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!C7R5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F202ecfd4-a1f6-480b-875f-617ef3ed638f_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!C7R5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F202ecfd4-a1f6-480b-875f-617ef3ed638f_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21C7R5%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F202ecfd4-a1f6-480b-875f-617ef3ed638f_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/202ecfd4-a1f6-480b-875f-617ef3ed638f_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;:null,&quot;alt&quot;:&quot;Go to Hackathons&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Go to Hackathons" title="Go to Hackathons" srcset="https://substackcdn.com/image/fetch/$s_!C7R5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F202ecfd4-a1f6-480b-875f-617ef3ed638f_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!C7R5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F202ecfd4-a1f6-480b-875f-617ef3ed638f_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!C7R5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F202ecfd4-a1f6-480b-875f-617ef3ed638f_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!C7R5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F202ecfd4-a1f6-480b-875f-617ef3ed638f_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>After the awards, I ended up back at the robot table with a screwdriver, unscrewing a panel so I could plug in a USB cable. And I was having so much fun just doing that. Tinkering with something physical, something AI can&#8217;t autocomplete for me. It reminded me why I got into building things in the first place.</p><p>Go to hackathons. Especially right now with AI. Before, they were stressful. Now it&#8217;s basically vibe coding all day with zero thought about maintenance. You just need to get it to work. That&#8217;s the perfect use case for vibe coding. No production code, no tech debt, just &#8220;does it work for three minutes on stage?&#8221; It&#8217;s genuinely fun.</p><p>And if you want to win: remember that hackathons are marketing. Talk to sponsors. Stack the tracks. Go with people you trust. Build for the demo, not the product. And present like the demo is the product.</p><p>Keep the hacker sprit alive!</p>]]></content:encoded></item><item><title><![CDATA[AI Automation]]></title><description><![CDATA[What this means for tech workers]]></description><link>https://getpushtoprod.substack.com/p/ai-automation</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/ai-automation</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Tue, 24 Mar 2026 15:15:13 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%218YVN%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Ff1701085-05a3-4e5b-8634-ad16cb221bec_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="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%218YVN%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Ff1701085-05a3-4e5b-8634-ad16cb221bec_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8YVN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1701085-05a3-4e5b-8634-ad16cb221bec_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!8YVN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1701085-05a3-4e5b-8634-ad16cb221bec_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!8YVN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1701085-05a3-4e5b-8634-ad16cb221bec_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!8YVN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1701085-05a3-4e5b-8634-ad16cb221bec_1376x768.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%218YVN%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Ff1701085-05a3-4e5b-8634-ad16cb221bec_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1701085-05a3-4e5b-8634-ad16cb221bec_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;:null,&quot;alt&quot;:&quot;Hero image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero image" title="Hero image" srcset="https://substackcdn.com/image/fetch/$s_!8YVN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1701085-05a3-4e5b-8634-ad16cb221bec_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!8YVN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1701085-05a3-4e5b-8634-ad16cb221bec_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!8YVN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1701085-05a3-4e5b-8634-ad16cb221bec_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!8YVN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1701085-05a3-4e5b-8634-ad16cb221bec_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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Can&#8217;t Help Thinking&#8230;</h2><p>We were at a Korean BBQ place near his office. My friend was flipping galbi and telling me about his Tuesdays. Every week, the same routine. Download bank statements from four accounts as PDFs, open Excel, categorize each transaction line by line, merge the statements, cross-reference totals against each statement&#8217;s closing balance, feed everything into a master template, and generate a report.</p><p>Three to four hours. Every single week.</p><p>I just kept grilling. But driving home, I couldn&#8217;t stop decomposing his workflow. Four PDF sources with consistent formatting. Rule-based categorization he&#8217;s been doing by hand for years. Closing balances right there on each statement to validate against.</p><p>This is an afternoon with Claude Code. You describe the workflow, point it at a few sample statements, and it writes the script for you. It parses the PDFs, categorizes transactions using the same rules he&#8217;s been applying manually, checks the totals against each statement&#8217;s closing balance, merges everything, and spits out the report. One command, runs while he makes coffee.</p><p>He doesn&#8217;t need to learn to code. He just needs to know that a tool exists that can write the code for him, test it against his own data, and turn a weekly grind into something that runs in minutes.</p><p>I didn&#8217;t say any of this at dinner. Nobody wants to hear &#8220;actually, your job could be automated&#8221; over galbi.</p><h2>Thing That Bothered Me</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21uF2P%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uF2P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!uF2P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!uF2P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!uF2P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21uF2P%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_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;:null,&quot;alt&quot;:&quot;The Thing That Bothered Me&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Thing That Bothered Me" title="The Thing That Bothered Me" srcset="https://substackcdn.com/image/fetch/$s_!uF2P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!uF2P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!uF2P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!uF2P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa690d2-e5bf-489e-8ded-45b7fe8f88a8_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It wasn&#8217;t pity. I don&#8217;t pity the guy. He&#8217;s smart, makes good money, has a career he&#8217;s proud of. What bothered me was the gap. Not between him and me, but between what he knows exists and what actually exists now.</p><p>His mental model for AI is ChatGPT. A box you type into, a box that types back. You paste a document, you ask a question, you get an answer. Maybe it&#8217;s right, maybe it&#8217;s not. You copy the output, fix the parts that are wrong, and move on. That&#8217;s what AI means to him, and honestly, that&#8217;s what it means to most people.</p><p>But the tools have already moved past that. The difference between ChatGPT and something like Claude Code or Codex isn&#8217;t incremental. It&#8217;s structural. One gives you information. The other does the work. It reads your files, writes code, runs tests, catches its own mistakes, and builds things that persist after the conversation ends. My friend doesn&#8217;t need to learn how to code. He needs to learn that tools exist now that can build the code for him, test it against his own data, and turn a weekly ritual into something that runs while he sleeps.</p><p>I struggle to explain this to people outside of tech. Something seismic is happening in software engineering right now, and the hardest part isn&#8217;t the technology. It&#8217;s that the shift is invisible to anyone who isn&#8217;t living in it. My non-technical friends hear &#8220;AI is changing everything&#8221; and they think of chatbots still giving wrong answers. They have no frame of reference for what&#8217;s actually happening. And I don&#8217;t know how to bridge that gap over dinner without sounding like I&#8217;m either selling something or threatening their livelihood.</p><h2>Flood</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Hnga%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fd6665737-6649-46f0-ab99-cdcab8df1632_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hnga!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6665737-6649-46f0-ab99-cdcab8df1632_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!Hnga!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6665737-6649-46f0-ab99-cdcab8df1632_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!Hnga!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6665737-6649-46f0-ab99-cdcab8df1632_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!Hnga!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6665737-6649-46f0-ab99-cdcab8df1632_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21Hnga%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fd6665737-6649-46f0-ab99-cdcab8df1632_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6665737-6649-46f0-ab99-cdcab8df1632_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;:null,&quot;alt&quot;:&quot;The Flood&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Flood" title="The Flood" srcset="https://substackcdn.com/image/fetch/$s_!Hnga!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6665737-6649-46f0-ab99-cdcab8df1632_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!Hnga!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6665737-6649-46f0-ab99-cdcab8df1632_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!Hnga!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6665737-6649-46f0-ab99-cdcab8df1632_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!Hnga!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6665737-6649-46f0-ab99-cdcab8df1632_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>There&#8217;s an old idea that every tool you create to solve a problem creates new problems of its own. I&#8217;m watching that happen in real time, and I&#8217;ve been thinking about it a lot.</p><p>When coding was expensive, it was a bottleneck. You had an idea, you needed an engineer, the engineer had a backlog, so your idea waited. That constraint shaped everything. Product roadmaps, hiring plans, how fast companies could move. Coding was the speed limit.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21ATXp%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ATXp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ATXp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ATXp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ATXp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21ATXp%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg" width="800" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;startup #tech #founder | Ashutosh Saxena | 33 comments&quot;,&quot;title&quot;:&quot;startup #tech #founder | Ashutosh Saxena | 33 comments&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="startup #tech #founder | Ashutosh Saxena | 33 comments" title="startup #tech #founder | Ashutosh Saxena | 33 comments" srcset="https://substackcdn.com/image/fetch/$s_!ATXp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ATXp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ATXp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ATXp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9165872a-7de5-4e6d-89a9-ccb531a8a98e_800x700.jpeg 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That speed limit is gone now. Or at least, it&#8217;s moving so fast that it&#8217;s no longer the binding constraint. Engineers with agentic tools are shipping at three, five, ten times their previous rate. Teams are running multiple agent instances in parallel, each one churning out code on different tasks simultaneously.</p><p>So what happens when you flood a system with code?</p><p>It reminds me of my macroeconomics class. What happens when you flood a system with money? Everything downstream changes. New bottlenecks appear that nobody planned for.</p><p>PRs explode. Your team used to merge maybe ten a week. Now it&#8217;s fifty. Who reviews them? The agents aren&#8217;t reliable enough yet for full code review at most companies, so humans still need to look. But the humans haven&#8217;t multiplied. You&#8217;ve got the same five engineers now drowning in review requests.</p><p>So you try hybrid review. Let the AI handle some, humans handle the rest. But which ones? How do you decide what the AI reviews versus what a human reviews? That question didn&#8217;t exist a year ago. Now someone has to answer it.</p><p>And that&#8217;s just PR review. Pull the thread further.</p><p>Multiple agents running at once. How do you verify they&#8217;re all producing coherent work? How do you keep them from stepping on each other? Who manages the rules and context files they share? What happens when one agent&#8217;s changes break another agent&#8217;s assumptions? How do you govern who can modify the shared configuration? How do you prevent prompt injection through skills? What happens when an AI-generated change causes a production incident, who owns it?</p><p>Every one of these is a new problem. Not hypothetical. Right now, today, teams are scrambling to figure these out in real time.</p><h2>Scary Part Nobody Wants To Say Out Loud</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21MTJ2%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fc2c15778-666d-4933-b781-856b10eb74b2_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MTJ2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2c15778-666d-4933-b781-856b10eb74b2_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!MTJ2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2c15778-666d-4933-b781-856b10eb74b2_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!MTJ2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2c15778-666d-4933-b781-856b10eb74b2_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!MTJ2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2c15778-666d-4933-b781-856b10eb74b2_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21MTJ2%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fc2c15778-666d-4933-b781-856b10eb74b2_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2c15778-666d-4933-b781-856b10eb74b2_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;:null,&quot;alt&quot;:&quot;The Scary Part Nobody Wants to Say Out Loud&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Scary Part Nobody Wants to Say Out Loud" title="The Scary Part Nobody Wants to Say Out Loud" srcset="https://substackcdn.com/image/fetch/$s_!MTJ2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2c15778-666d-4933-b781-856b10eb74b2_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!MTJ2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2c15778-666d-4933-b781-856b10eb74b2_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!MTJ2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2c15778-666d-4933-b781-856b10eb74b2_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!MTJ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2c15778-666d-4933-b781-856b10eb74b2_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;m going to be honest about something that most people in my position dance around.</p>
      <p>
          <a href="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fp%2Fai-automation">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[30 Tips for Claude Code Agent Teams]]></title><description><![CDATA[agents go brrrrrrrrrr]]></description><link>https://getpushtoprod.substack.com/p/30-tips-for-claude-code-agent-teams</link><guid isPermaLink="false">https://getpushtoprod.substack.com/p/30-tips-for-claude-code-agent-teams</guid><dc:creator><![CDATA[John Kim]]></dc:creator><pubDate>Sat, 21 Mar 2026 15:09:21 GMT</pubDate><enclosure url="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21tSa4%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F1426a81c-e182-41e6-a9c0-b52e9d7637be_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21tSa4%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F1426a81c-e182-41e6-a9c0-b52e9d7637be_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tSa4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1426a81c-e182-41e6-a9c0-b52e9d7637be_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!tSa4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1426a81c-e182-41e6-a9c0-b52e9d7637be_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!tSa4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1426a81c-e182-41e6-a9c0-b52e9d7637be_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!tSa4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1426a81c-e182-41e6-a9c0-b52e9d7637be_1376x768.png 1456w" sizes="100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21tSa4%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F1426a81c-e182-41e6-a9c0-b52e9d7637be_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1426a81c-e182-41e6-a9c0-b52e9d7637be_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;:null,&quot;alt&quot;:&quot;John orchestrating robot teammates&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="John orchestrating robot teammates" title="John orchestrating robot teammates" srcset="https://substackcdn.com/image/fetch/$s_!tSa4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1426a81c-e182-41e6-a9c0-b52e9d7637be_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!tSa4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1426a81c-e182-41e6-a9c0-b52e9d7637be_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!tSa4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1426a81c-e182-41e6-a9c0-b52e9d7637be_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!tSa4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1426a81c-e182-41e6-a9c0-b52e9d7637be_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 buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>There are a lot of orchestration solutions out there. But I always prefer the ones built into the tooling itself. Agent teams is Claude Code&#8217;s native multi-agent system, and I&#8217;ve been having a lot of fun using it for work and for my personal projects.</p><p>This is everything I&#8217;ve learned so far. 30 tips covering what agent teams are, how to set them up, how to control them, and where they actually shine.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://getpushtoprod.substack.com/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="iframe.php?url=https%3A%2F%2Fgetpushtoprod.substack.com%2Fsubscribe%3F"><span>Subscribe now</span></a></p><div><hr></div><p><strong>Before we get started, if you prefer to watch a video, I also made one!</strong></p><div id="youtube2-1JeDsxnX1nY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;1JeDsxnX1nY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="iframe.php?url=https%3A%2F%2Fwww.youtube-nocookie.com%2Fembed%2F1JeDsxnX1nY%3Frel%3D0%26amp%3Bautoplay%3D0%26amp%3Bshowinfo%3D0%26amp%3Benablejsapi%3D0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>What &amp; Why</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21mJ6W%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mJ6W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png 424w, https://substackcdn.com/image/fetch/$s_!mJ6W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png 848w, https://substackcdn.com/image/fetch/$s_!mJ6W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png 1272w, https://substackcdn.com/image/fetch/$s_!mJ6W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21mJ6W%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png" width="1314" height="1288" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1288,&quot;width&quot;:1314,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:763535,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://getpushtoprod.substack.com/i/191646678?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.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_!mJ6W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png 424w, https://substackcdn.com/image/fetch/$s_!mJ6W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png 848w, https://substackcdn.com/image/fetch/$s_!mJ6W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png 1272w, https://substackcdn.com/image/fetch/$s_!mJ6W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94ff087c-34a8-4924-885e-25d4c51cc547_1314x1288.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>1</strong> One lead, many teammates.</h3><p>At a high level, an agent team is an orchestrator of subagents. You have one leader who is the orchestrator, and you have many different teammates. The leader holds all the tasks, spawns the teammates, and the teammates do individual work. You can have any composition of teammates you want. I have one team for coding with architecture, frontend, and backend agents. I have another for writing with a context gatherer, a writer, and an editor. The possibilities are basically unlimited.</p><h3><strong>2</strong> Teammates talk to each other.</h3><p>This is the most important difference between agent teams and regular subagents. The teammates message each other directly. They share a task list, claim work, and coordinate on their own. In my writing pipeline, the context gatherer, the editor, and the writer are all talking to each other. The context gatherer finds something relevant and sends it to the writer. The editor scores a draft and sends feedback back. That loop happens without me managing every message.</p><p>The sharing isn&#8217;t full context, though. They communicate through messages, not by reading each other&#8217;s full conversation history. So if you ever feel like a teammate doesn&#8217;t have enough context, you need to ask the main agent to send additional context, or you need to add more detail into the tasks you create.</p><h3><strong>3</strong> You can talk to any teammate.</h3><p>You&#8217;re not locked to the lead. You can navigate to any teammate and give them extra instructions, ask follow-up questions, or redirect their approach mid-task. It&#8217;s basically the same as if you had opened another Claude Code instance. You just go down, hit enter, and you&#8217;re talking directly to that agent.</p><h3><strong>4</strong> Subagents for results. Teams for collaboration.</h3><p>If you just need some quick results, use a subagent. If you need collaboration, coordination, agents sharing findings and challenging each other, use an agent team. The key difference is that a subagent&#8217;s context is completely isolated from the main agent. The subagent doesn&#8217;t know anything the main agent knows unless it was explicitly included in the initial prompt. Its only job is to do some side effect or send information back. Agent teams share a common task list, talk to each other, and the orchestrator can control any of them.</p><h3><strong>5</strong> Teams cost more tokens.</h3><p>Each teammate has its own context window. Token usage scales linearly with team size. If you&#8217;re not already running multiple Claude Code instances in parallel, the usage might outpace what you&#8217;re used to. For research and review, the extra tokens are worth it. For routine tasks, stick to single sessions.</p><h3><strong>6</strong> Best for parallel exploration.</h3><p>The best use case for agent teams has been when I need to accomplish tasks across various different domains. A really obvious example for full stack: one frontend agent, one backend agent, one architecture agent. It recognized that the frontend work could be split further and created multiple frontend agents because they were in different places. It really speeds up execution.</p><p>Another great use case is writing. My context gatherer, writer, and editor used to run sequentially. Now with agent teams, they all run at once. And they actually help each other, because sometimes the writer needs context for a specific part, and the context gatherer just goes and grabs it.</p><h3><strong>7</strong> Skip teams for sequential work.</h3><p>If your tasks have heavy dependencies, or you&#8217;re working on the same pages, you probably don&#8217;t want multiple agents because they could conflict with each other. Unless you use worktrees or something like that. Same-file edits, tasks that must happen in order, agent teams is not the right tool. The coordination overhead isn&#8217;t worth it.</p><div><hr></div><h2>Getting Started</h2><h3><strong>8</strong> Enable in settings.json.</h3><p>Depending on when you&#8217;re reading this, agent teams might still be experimental. You need to add <code>"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"</code> to the <code>env</code> section of your settings. Then restart Claude Code. If you don&#8217;t want to figure out where to put it, just paste the docs page into Claude Code and ask it to set it up for you. Then restart.</p><h3><strong>9</strong> Just describe the team you want.</h3><p>You use natural language to define your team. Something like: &#8220;I want you to create a performance agent team. One specializing in UI performance, looking for jank. Another specializing in debugging and deep diving into errors. Claude handles the rest. It creates the teammates, assigns the roles, and starts coordinating.</p><h3><strong>10</strong> Specify models per teammate.</h3><p>This is a really good tip if you&#8217;re cost-sensitive. You can tell the orchestrator which model each teammate should run. For example: the debugger runs on Opus, the UI perf agent on Sonnet, and the UX quality agent on Haiku. The lead will shut down the agents and recreate them with the new models. Not every task needs the most expensive model.</p><h3><strong>11</strong> In-process mode, all in one terminal.</h3><p>The default display mode shows everything in a single terminal panel. You navigate between agents by hitting down arrow, then enter. You can see the different agents and guide them individually. It works, but it&#8217;s not the easiest way to see what everyone is doing at once.</p><h3><strong>12</strong> Split panes, see everyone at once.</h3><p>The other display mode splits each agent into its own tmux pane. If you have a big monitor, this is incredible. You can see all your agents working simultaneously. Each one has its own pane with its own color. I have a 32-inch monitor and it looks really nice spread out.</p><h3><strong>13</strong> Set &#8220;tmux&#8221; in settings.json.</h3><p>To get split panes, you need to set your display mode to <code>tmux</code> in your settings. You also need to actually be running inside tmux. They say it works on iTerm too, but personally I haven&#8217;t been able to get that working even after installing everything. Tmux is the reliable option.</p><div><hr></div><h2>Controlling Your Team</h2><h3><strong>14</strong> Shared task list coordinates work.</h3><p>Every time an agent team starts working, the orchestrator creates a task list. You can see it by hitting Ctrl+T. These tasks are what drive the coordination. The orchestrator creates them, assigns them to teammates, and teammates claim and complete them. For a writing project, it might be &#8220;research the GPT-5.4 release&#8221; assigned to the context gatherer and &#8220;review the essay&#8221; assigned to the editor.</p><h3><strong>15</strong> Assign or let them self-claim.</h3><p>You can be very prescriptive about how you want things done, or you can let the orchestrator figure it out. If you have a really good idea of how the work should be split, work with the main agent to create a detailed plan first. I like to spend time planning ahead, save that task list locally, and then whenever I come back I just tell the agent team to pick up the next set of tasks.</p><h3><strong>16</strong> Messages arrive automatically.</h3><p>You don&#8217;t have to manage any of the messaging. There&#8217;s no polling. Teammates automatically receive messages and automatically report back when they&#8217;re done. The lead gets notified when a task completes. So technically you don&#8217;t need to go into the individual agents. You should mainly be looking at the lead. The split pane makes it easier to monitor, but the lead handles the coordination.</p><h3><strong>17</strong> Require plans before implementation.</h3><p>If you like to use Claude Code without plan mode and just straight execution, agent teams is probably not for you. You need a plan before implementation. The orchestrator needs to understand the full scope before spawning teammates and assigning work. Without that, agents go off in random directions and you waste tokens.</p><h3><strong>18</strong> Guide the lead&#8217;s approval criteria.</h3><p>Tell the orchestrator what quality bar you expect. Something like &#8220;make sure you have a very high quality bar for all of the code, tell all the subagents to maintain this standard.&#8221; Those instructions trickle down into the agent teams. The lead passes your criteria to each teammate. This is your main lever for controlling output quality without micromanaging each agent.</p><h3><strong>19</strong> Graceful shutdown via the lead.</h3><p>Agents have lifecycles. When they&#8217;re idle for a certain amount of time, they kill themselves. You can see them gray out in the interface when they go idle. After enough idle time, the main orchestrator turns them off automatically. You don&#8217;t have to go in and individually shut down each one.</p><h3><strong>20</strong> Always clean up through the lead.</h3><p>If you feel like a teammate is unnecessary, tell the orchestrator to clean it up. Don&#8217;t try to manually kill individual agents. The docs say you can get into a really weird state, potentially with memory leaks, if you don&#8217;t let the main orchestrator handle the shutdown. Let the lead manage the lifecycle.</p><h3><strong>21</strong> Hooks enforce quality gates.</h3><p>If you&#8217;re used to hooks, there are additional hook events for <code>teammate_idle</code> and <code>task_complete</code>. You can trigger actions when these lifecycle events happen. I haven&#8217;t found a ton of interesting uses for this yet, but someone is going to figure out something cool. Maybe on task complete, you send something to Notion, or trigger a Slack message, or update Jira. The hooks are there.</p><div><hr></div><h2>Best Practices</h2><h3><strong>22</strong> Give teammates enough context.</h3><p>Each teammate loads your CLAUDE.md and your MCP servers, same as any Claude Code instance. But it does not get your main agent&#8217;s conversation history. Whatever context you built up before starting the agent swarm, the teammates won&#8217;t have it. If you want that context in your agent teams, the best way is to ask the orchestrator to embed the important details into the task descriptions. Something like &#8220;start the next set of tasks, but can you include all the important code pointers I&#8217;ve gathered so far into the tasks so my teammates have good context.&#8221;</p><h3><strong>23</strong> Start with 3-5 teammates.</h3><p>I actually found anything more than three feels like overkill. The tokens scale linearly with how many agents you&#8217;re running. Three, maybe four agents is the sweet spot. You&#8217;ll find use cases for more, but start small.</p><h3><strong>24</strong> 5-6 tasks per teammate.</h3><p>Don&#8217;t give a teammate 20 things to do at once. Plan out a lot of subtasks if you want, but then kick them off to do one concise thing, bring them back, and start the next thing. This is so much like real project management. You&#8217;re literally orchestrating a team of engineers, and a lot of the best practices for managing real teams apply here.</p><h3><strong>25</strong> Avoid file conflicts.</h3><p>Don&#8217;t let agents touch the same files. I showed this earlier with the frontend-1, frontend-2, frontend-3 example. If they&#8217;re all working on the same pages, they&#8217;ll conflict with each other. Agent teams work best when you can cleanly separate domains. Frontend agent stays in the frontend directory. Backend agent stays in the backend directory. No overlap.</p><h3><strong>26</strong> Tell the lead to wait.</h3><p>Sometimes the leader will just start implementing stuff instead of delegating. You have to guide it and tell it to stop. &#8220;Delegate this to your teammates&#8221; or &#8220;wait for your teams to complete their tasks before starting.&#8221; This is just an artifact of the feature being experimental. Keep an eye on the lead and redirect when needed.</p><h3><strong>27</strong> Parallel code review.</h3><p>This is one of the best use cases I&#8217;ve found. You tell the agent team: &#8220;Do a code review on the latest changes. One agent focused on security. One focused on performance. One focused on test coverage. Combine the results into one review.&#8221; The reason this works so well with agent teams is bias isolation. If you try to do security, performance, and test coverage all in the same context, the agent gets biased by whatever it finds first. With separate agents, each one investigates independently with fresh eyes. Then the orchestrator synthesizes the findings into a holistic picture.</p><h3><strong>28</strong> Competing hypotheses for debugging.</h3><p>Say you&#8217;re investigating a bug and you come up with five theories. Instead of going through them one by one, you spawn five agents and let them each pursue a theory independently. This is really important because of context bias. As soon as an agent gets some evidence that supports one theory, it leans toward thinking it&#8217;s correct. By splitting the investigation into separate agents, you protect each theory from being contaminated by evidence for the others. When they come back and share notes, the main agent has all the findings and can form a holistic picture. I&#8217;ve found this incredibly useful at work for debugging.</p><h3><strong>29</strong> Start with read-only tasks.</h3><p>If you&#8217;re just getting started with agent teams, lean toward read-only tasks first. Investigations, research, code review, context gathering. This goes back to the file conflict issue. If agents are only reading, you don&#8217;t have to worry about collisions. My context gatherer and researcher are both read-only agents. They&#8217;re essential for my writer, but they never create conflicts because they&#8217;re not editing files.</p><p>Another good example: if you&#8217;re doing Android and you have an iOS counterpart with shared architecture, you can have a parity agent that reads the iOS code and creates tasks based on the differences. Then an executing agent implements them. It&#8217;s probably one of the most efficient ways to do feature parity work, as long as the architecture is similar.</p><h3><strong>30</strong> Monitor and steer.</h3><p>My final tip. Don&#8217;t set it and forget it. If you let these agents run too long unguided, they can go off the rails and you end up wasting a lot of tokens. Constantly monitor them. Check in on what they&#8217;re doing. Redirect when something looks wrong. The split pane view makes this a lot easier, which is why I recommend the tmux setup if your screen supports it.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21f1Mj%21%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F188df5fa-de2e-406a-bcd1-9bc3daa74d78_1376x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f1Mj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188df5fa-de2e-406a-bcd1-9bc3daa74d78_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!f1Mj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188df5fa-de2e-406a-bcd1-9bc3daa74d78_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!f1Mj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188df5fa-de2e-406a-bcd1-9bc3daa74d78_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!f1Mj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188df5fa-de2e-406a-bcd1-9bc3daa74d78_1376x768.png 1456w" sizes="auto, 100vw"><img src="iframe.php?url=https%3A%2F%2Fsubstackcdn.com%2Fimage%2Ffetch%2F%24s_%21f1Mj%21%2Cw_1456%2Cc_limit%2Cf_auto%2Cq_auto%3Agood%2Cfl_progressive%3Asteep%2Fhttps%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252F188df5fa-de2e-406a-bcd1-9bc3daa74d78_1376x768.png" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/188df5fa-de2e-406a-bcd1-9bc3daa74d78_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;:null,&quot;alt&quot;:&quot;John relaxing while robot teammates celebrate&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="John relaxing while robot teammates celebrate" title="John relaxing while robot teammates celebrate" srcset="https://substackcdn.com/image/fetch/$s_!f1Mj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188df5fa-de2e-406a-bcd1-9bc3daa74d78_1376x768.png 424w, https://substackcdn.com/image/fetch/$s_!f1Mj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188df5fa-de2e-406a-bcd1-9bc3daa74d78_1376x768.png 848w, https://substackcdn.com/image/fetch/$s_!f1Mj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188df5fa-de2e-406a-bcd1-9bc3daa74d78_1376x768.png 1272w, https://substackcdn.com/image/fetch/$s_!f1Mj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F188df5fa-de2e-406a-bcd1-9bc3daa74d78_1376x768.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><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" class="icon-noB79L"><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 buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="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>Agent teams are still experimental. There are rough edges, there are bugs, and the tmux display can be finicky. But when it clicks, when you have three agents all working in parallel on different parts of your problem and coordinating with each other, it genuinely feels like the future.</p><p>The same context engineering principles from regular Claude Code still apply. Context is king. Context is best served fresh and condensed. But now you&#8217;re managing context across a team, not just a single agent. And a lot of the best practices that work for managing real engineering teams, clear task scoping, domain separation, quality criteria, they apply here too.</p><p>If you want more on this, I made a 50 tips video for Claude Code that covers the fundamentals. And my agentic engineering video covers the higher-level principles behind all of this. Agent teams is just one piece of the puzzle, but it&#8217;s a powerful one.</p>]]></content:encoded></item></channel></rss>