<?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[The Building Machine]]></title><description><![CDATA[On building.]]></description><link>https://thebuildingmachine.com</link><image><url>https://substackcdn.com/image/fetch/$s_!7_rJ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2b4e9e-fe75-48db-bc9f-adca32611f33_256x256.png</url><title>The Building Machine</title><link>https://thebuildingmachine.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 02 Oct 2026 02:06:49 GMT</lastBuildDate><atom:link href="https://thebuildingmachine.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Calvin Grunewald]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[thebuildingmachine@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[thebuildingmachine@substack.com]]></itunes:email><itunes:name><![CDATA[Calvin Grunewald]]></itunes:name></itunes:owner><itunes:author><![CDATA[Calvin Grunewald]]></itunes:author><googleplay:owner><![CDATA[thebuildingmachine@substack.com]]></googleplay:owner><googleplay:email><![CDATA[thebuildingmachine@substack.com]]></googleplay:email><googleplay:author><![CDATA[Calvin Grunewald]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[I did a thing...]]></title><description><![CDATA[My wife thinks I&#8217;m crazy for inviting 50+ strangers from the technical community to have 1:1s]]></description><link>https://thebuildingmachine.com/p/i-did-a-thing</link><guid isPermaLink="false">https://thebuildingmachine.com/p/i-did-a-thing</guid><dc:creator><![CDATA[Calvin Grunewald]]></dc:creator><pubDate>Wed, 30 Sep 2026 16:16:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6jVH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I posted this on X, Threads, and LinkedIn last week:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/CalvinGrunewald/status/2103596344241729879?s=20&quot;,&quot;full_text&quot;:&quot;Hey everyone! If you don&#8217;t know me or my background, a large portion of my 15+ year career at companies like MSFT, FB, and Stripe has been building products and platforms for developers. Obviously, everything involving developers is now very different. So I&#8217;d love to chat with&#8230;&quot;,&quot;username&quot;:&quot;CalvinGrunewald&quot;,&quot;name&quot;:&quot;Calvin Grunewald&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2093393722239238144/XJUFuKIl_normal.jpg&quot;,&quot;date&quot;:&quot;2026-09-25T21:23:46.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:18,&quot;retweet_count&quot;:3,&quot;like_count&quot;:108,&quot;impression_count&quot;:41914,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p><strong>tl;dr;</strong> I put a call out for folks to schedule a 30 min 1:1 with me to talk about their backgrounds, agentic workflows, and anything else on their mind. I shared a calendar link that had my entire calendar open on it. Within 30 minutes, after seeing the pace of bookings, I realized this was a mistake and locked things down. The interest was beyond my expectation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6jVH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6jVH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp 424w, https://substackcdn.com/image/fetch/$s_!6jVH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp 848w, https://substackcdn.com/image/fetch/$s_!6jVH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp 1272w, https://substackcdn.com/image/fetch/$s_!6jVH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6jVH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;raw media 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="raw media image" title="raw media image" srcset="https://substackcdn.com/image/fetch/$s_!6jVH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp 424w, https://substackcdn.com/image/fetch/$s_!6jVH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp 848w, https://substackcdn.com/image/fetch/$s_!6jVH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp 1272w, https://substackcdn.com/image/fetch/$s_!6jVH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28fc1bb3-02f6-45ca-ad09-56e269a0b332_1920x1072.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image 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 I told my wife I did this, she looked at me like I&#8217;m crazy. </p><blockquote><p>Wife: &#8220;You&#8217;re talking to strangers on the internet!?!&#8221;</p><p>Me: &#8220;Yes&#8221;</p><p>Wife: &#8220;Why?&#8221;</p><p>Me: &#8220;Research. I want to know who&#8217;s using AI and how.&#8221;</p><p>Wife: &#8220;What if they do weird stuff?&#8221;</p><p>Me: &#8220;Then I&#8217;ll hang up the call.&#8221;</p><p>Wife: &#8220;&#8230;&#8221;</p></blockquote><p>I don&#8217;t think I convinced her this was a good idea.</p><p>I&#8217;m now on day 3 of the interviews with another week and a half to go. I&#8217;ve talked to about 15 people so far and every single conversation was great. The amount of diversity in background and workflow was aligned with my hypothesis going into this, and at the same time, so many of these folks were inspiring to talk to! AI and agentic coding in particular is changing the trajectory of lives and companies.</p><p>Also, in case you were wondering, everyone is super normal and professional. </p><p>I plan on sharing a lot more about what I&#8217;m learning and sharing over the next couple of weeks, and then I&#8217;ll publish a full report on what I learned after the conversations are done. Definitely stay tuned for more!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thebuildingmachine.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="https://thebuildingmachine.com/subscribe?"><span>Subscribe now</span></a></p><p>PS. I know I still owe you an update on my agentic workflow. I&#8217;m working on it. There is a lot to cover.</p>]]></content:encoded></item><item><title><![CDATA[Personal Software: My New Bad Habit]]></title><description><![CDATA[I just released a new open source tool called Clapper. It lets you generate videos by writing React code. It is not unique; other software tools like it exist. I built it anyway.]]></description><link>https://thebuildingmachine.com/p/personal-software-my-new-bad-habit</link><guid isPermaLink="false">https://thebuildingmachine.com/p/personal-software-my-new-bad-habit</guid><dc:creator><![CDATA[Calvin Grunewald]]></dc:creator><pubDate>Mon, 14 Sep 2026 22:45:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nNvm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>I just released a new open source tool called <a href="https://clapper.archastro.tryintern.dev/">Clapper</a>. It lets you generate videos by writing React code. It is not unique; other software tools like it exist. I built it anyway.</em></p><p>I developed a pretty bad habit since coding assistants have gotten to be so good. Instead of finding existing tools or open source software and reusing it, I just build whatever I need, from scratch.</p><p>Why do I do this? Well, there are a few reasons:</p><ol><li><p><strong>I can.</strong> I&#8217;ve been in the industry long enough that I have a pretty good idea of how to build most types of software and with agents there&#8217;s basically no barrier to doing so.</p></li><li><p><strong>It&#8217;s useful.</strong> Whenever I reach for a tool, it&#8217;s because I have a particular problem. When I build my own piece of software to solve that problem, it&#8217;s useful. I now can solve this problem. Maybe I can solve adjacent problems and maybe other people have the same problem and will find my software useful.</p></li><li><p><strong>It&#8217;s fun.</strong> Now what does fun mean? Well if you read the book <em><a href="https://www.amazon.com/Theory-Game-Design-Raph-Koster/dp/1449363210/ref=sr_1_1?adgrpid=191272678990&amp;dib=eyJ2IjoiMSJ9.LaRJ9dCppTBLQukkB54_kzXpT8mtRqQwyvyUmhpGGv-OsGMPhlHgQOqbSkYdK_Un4YGb11-58IM5wYNwcvntDlkrDsYlUoGjvtvGSbr0z-v-14FuFBCARmdfZ2XxSnRQ46sBBBJY5Nt05rlywZx1FxRXq68ajY2HMSs_nM_r5WWjmzWk2AEEtR6ZqFsLnT-CiaRGWTyM_tUOR9Pi66goWwxWUdXFT5NLOLsWPa-MrcY.VJ5gbI4Z5JmUZ7Zb9Qc0rSGKT2R0XyQbUEBvlxhexz0&amp;dib_tag=se&amp;hvadid=782455620695&amp;hvdev=c&amp;hvexpln=0&amp;hvlocphy=9030097&amp;hvnetw=g&amp;hvocijid=17284828987574342617--&amp;hvqmt=e&amp;hvrand=17284828987574342617&amp;hvtargid=kwd-298788679667&amp;hydadcr=22532_13531213_8302&amp;keywords=theory+of+fun&amp;mcid=76f32a217bd93ad093e6af8f8d9acc59&amp;qid=1789424380&amp;sr=8-1">Theory of Fun</a></em>, fun = learning and I definitely learn a lot by building things. It&#8217;s also just really interesting to see what you can create and how it works.</p></li><li><p><strong>It&#8217;s personal.</strong> I can make the software exactly how I want it. If I want a particular feature I can add it. If I don&#8217;t want a particular feature I don&#8217;t need to add it. As I use it, I can evolve it very quickly. Having total control of the software is extremely useful.</p></li></ol><p>Now there are plenty of arguments that even with amazing coding assistants, this is a bad thing to do. Let&#8217;s go through a few:</p><ol><li><p><strong>Maintenance.</strong> Now you have to maintain all this software.</p></li><li><p><strong>Focus.</strong> Doesn&#8217;t this take away your focus from other things you should be doing?</p></li><li><p><strong>Hubris.</strong> Do you really think you can build better software than people who have dedicated years to focusing on particular domain or type of application?</p></li><li><p><strong>Triviality.</strong> Does the software matter if it can be built so easily?</p></li></ol><p>Let&#8217;s discuss these one by one.</p><h2>Maintenance</h2><p>Maintenance is mostly solved with coding agents. It is fairly straightforward, either locally or on a server, to hook up a loop, look for GitHub issues, and for each GitHub issue spawn a sandbox, go address the issue, and merge it. Test suites help keep this process on track and ensure their are no regressions. You could even have your local coding agent build a workflow to do this for you with cron.</p><p>Also, this workflow really only matters when you make your software public. If the software is only ever for you, there&#8217;s not much difference between maintenance and just evolving it to work better for whatever use case you start it with. It has the same overhead as writing the software in the first place.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nNvm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nNvm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!nNvm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!nNvm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!nNvm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nNvm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1239e900-4c46-43c5-ab45-5c6d8f9539da_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 preview&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image preview" title="Image preview" srcset="https://substackcdn.com/image/fetch/$s_!nNvm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!nNvm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!nNvm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!nNvm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1239e900-4c46-43c5-ab45-5c6d8f9539da_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image 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>Focus</h2><p>Don&#8217;t you have a day job? Don&#8217;t you need to spend more of your time focused on your day job?</p><p>The thing with coding assistants is that, for side projects and for tools where you don&#8217;t really care about reading the code (provided it works for your particular use case and you can write a good test suite or set of evals to understand how well it works), the overall cognitive overhead is extremely low.</p><p>Maybe you spend 10 minutes typing up your problem, some high-level solution direction, and an example issue you want to solve. You then let the coding assistant go to town and direct it to work until it can actually solve that particular problem.</p><p>You can then give it adjacent problems or even ask it to generate adjacent samples and make sure it works on those as well. Some would call this loop engineering. The agent creates its own focus.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ja5B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ja5B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Ja5B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Ja5B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Ja5B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ja5B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_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 preview&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image preview" title="Image preview" srcset="https://substackcdn.com/image/fetch/$s_!Ja5B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Ja5B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Ja5B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Ja5B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fb2c501-6bd4-4a8d-b46d-c3a1b45293aa_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image 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>Hubris</h2><p>What makes me think I can write any software I want and that it will be better than folks who have worked on that type of software for many years?</p><p>Well I don&#8217;t think my software will be better than theirs. They&#8217;re solving a much larger set of problems in that particular domain compared to me.</p><p>I do think that I&#8217;m much better suited to solve the problem that I have at hand than someone who&#8217;s built software to try to solve a much more generic view of that problem (and has to deal with things like the lowest common denominator of that problem).</p><p>And then let&#8217;s say I&#8217;m writing software in a domain I&#8217;m actually not an expert in. I would urge you to go back and look at my original reasoning. For this particular piece of software, doing it myself lets me learn that particular domain and makes it fun.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8WoM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39988458-966a-42b8-8809-5774f8be7058_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8WoM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39988458-966a-42b8-8809-5774f8be7058_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!8WoM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39988458-966a-42b8-8809-5774f8be7058_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!8WoM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39988458-966a-42b8-8809-5774f8be7058_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!8WoM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39988458-966a-42b8-8809-5774f8be7058_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8WoM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39988458-966a-42b8-8809-5774f8be7058_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39988458-966a-42b8-8809-5774f8be7058_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 preview&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image preview" title="Image preview" srcset="https://substackcdn.com/image/fetch/$s_!8WoM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39988458-966a-42b8-8809-5774f8be7058_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!8WoM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39988458-966a-42b8-8809-5774f8be7058_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!8WoM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39988458-966a-42b8-8809-5774f8be7058_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!8WoM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39988458-966a-42b8-8809-5774f8be7058_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image 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>Triviality</h2><p>There&#8217;s an argument that any software you can &#8220;vibe code&#8221; isn&#8217;t actually useful, is trivial, and doesn&#8217;t matter. I think that if the software doesn&#8217;t actually solve any problems, and you&#8217;re not building it for fun, and you&#8217;re just doing it to burn electricity, that&#8217;s probably the correct view.</p><p>But if the software solves a particular problem you have, then it matters. It&#8217;s not trivial, at least to you. Triviality is in the eye of the beholder.</p><p>If someone else has your same problem and they like your very simple, focused solution, then the software presumably isn&#8217;t trivial to them either.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x8_W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e03942-9a60-4763-a2a3-f75722c9387d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x8_W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e03942-9a60-4763-a2a3-f75722c9387d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!x8_W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e03942-9a60-4763-a2a3-f75722c9387d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!x8_W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e03942-9a60-4763-a2a3-f75722c9387d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!x8_W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e03942-9a60-4763-a2a3-f75722c9387d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x8_W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e03942-9a60-4763-a2a3-f75722c9387d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0e03942-9a60-4763-a2a3-f75722c9387d_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 preview&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Image preview" title="Image preview" srcset="https://substackcdn.com/image/fetch/$s_!x8_W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e03942-9a60-4763-a2a3-f75722c9387d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!x8_W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e03942-9a60-4763-a2a3-f75722c9387d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!x8_W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e03942-9a60-4763-a2a3-f75722c9387d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!x8_W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e03942-9a60-4763-a2a3-f75722c9387d_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image 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><div><hr></div><p>So you see, most of the arguments that might have been completely valid before the era of coding assistants don&#8217;t really matter anymore.</p><p>I don&#8217;t really care if you think that my personal tool is useless. It was fun to build and it solved a problem. I can iterate it in whatever way I want. Over time it&#8217;ll become quite interesting. It might become complex in ways that are not really easy to vibe code.</p><p>In fact, this is how normal software is written before assistants: you start simple, you solve more problems and more problems and more problems, and you finally get something that is hard to replicate and does important jobs for people. </p><h2>Limits</h2><p>Now obviously, there are limits to this mindset. I haven&#8217;t vibe-coded my own operating system. When I need a database I use Postgres. I haven&#8217;t reinvented every distributed system out there just because I can.</p><p>No, there are certain problems in computer science where you really do want the system you adopt to be battle-tested and time-tested: operating systems, databases, distributed systems. These are the sorts of systems where you really do want that collective attention and wisdom, time spent hardening, to be the backbone of what you do.</p><p>The beauty of all this is that I could work on one of those things if I wanted to. I&#8217;d start simple, solve one narrow problem, and evolve it from there.</p><h2>Ending Where We Started</h2><p>If we return to Clapper and compare it against some alternatives out there, you can see where my opinion shows up.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Mob!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Mob!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png 424w, https://substackcdn.com/image/fetch/$s_!4Mob!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png 848w, https://substackcdn.com/image/fetch/$s_!4Mob!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png 1272w, https://substackcdn.com/image/fetch/$s_!4Mob!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Mob!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png" width="1456" height="863" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:863,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:212076,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thebuildingmachine.com/i/215426052?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.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_!4Mob!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png 424w, https://substackcdn.com/image/fetch/$s_!4Mob!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png 848w, https://substackcdn.com/image/fetch/$s_!4Mob!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png 1272w, https://substackcdn.com/image/fetch/$s_!4Mob!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b40bfe1-e426-435a-9288-2e92a2269fe1_1800x1067.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image 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><figcaption class="image-caption">A simple text reveal scene, modeled the same way across three code to video tools.</figcaption></figure></div><p>I wanted Clapper to not just be a React to Video tool. I wanted it to be an opinionated DSL that makes video production as declarative as possible. It has many built in components for various animations, as well as a React DSL to fully compose music. My hypothesis is that by having a richer DSL rooted in video production, my agents will be able to more naturally produce really great looking scenes. I still need to prove this, but frankly, it doesn&#8217;t matter, because I built this tool for me. </p><p>And maybe, you&#8217;ll find it useful for you too. That&#8217;s the beauty of personal software.</p>]]></content:encoded></item><item><title><![CDATA[A Brief History of my Agentic Workflow]]></title><description><![CDATA[Learning how to keep up with the agents.]]></description><link>https://thebuildingmachine.com/p/a-brief-history-of-my-agentic-workflow</link><guid isPermaLink="false">https://thebuildingmachine.com/p/a-brief-history-of-my-agentic-workflow</guid><dc:creator><![CDATA[Calvin Grunewald]]></dc:creator><pubDate>Sat, 12 Sep 2026 22:35:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!S5GM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Beginnings</h2><p>I began experimenting with coding agents in March 2025, around the time Cursor entered the scene and became popular. Despite being in management for the last nine years of my career, I always found time to stay technical. Cursor being built on top of VSCode made it a natural introduction.</p><p>So, I began experimenting with Cursor and its $20 plan (and what a generous plan it was back then). A few things stood out to me. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thebuildingmachine.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">Thanks for reading The Building Machine! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><ol><li><p>The agent tab &#8212; you have a conversation about what you want to build in the side panel and the agent does it&#8212;was a game changer relative to the autocomplete tools that had come before. </p></li><li><p>The integrated code review  &#8212;  Cursor tied agent authored code to a hunk-based review, making it straightforward to validate the agent&#8217;s output and accept or reject it via a local code review workflow.</p></li></ol><p>I got into a groove with Cursor and really start to build. But I soon found myself opening multiple Agent tabs in one workspace to parallelize work. This is where the interface inside the IDE began to be troublesome: all of this concurrent work happened on a single checkout.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-Q5r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff423a74d-68ed-413c-9119-96aa362643d1_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-Q5r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff423a74d-68ed-413c-9119-96aa362643d1_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!-Q5r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff423a74d-68ed-413c-9119-96aa362643d1_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!-Q5r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff423a74d-68ed-413c-9119-96aa362643d1_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!-Q5r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff423a74d-68ed-413c-9119-96aa362643d1_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-Q5r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff423a74d-68ed-413c-9119-96aa362643d1_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f423a74d-68ed-413c-9119-96aa362643d1_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;A screenshot of the Cursor editor interface showing a dropdown menu under the \&quot;Plan\&quot; mode selection. The menu includes several AI assistant modes: Agent, Ask, Manual, Plan (currently selected), Teach, and Yolo. Each mode has a corresponding keyboard shortcut. The interface is dark-themed, and the selected model is \&quot;claude-3.7-sonnet\&quot;.&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="A screenshot of the Cursor editor interface showing a dropdown menu under the &quot;Plan&quot; mode selection. The menu includes several AI assistant modes: Agent, Ask, Manual, Plan (currently selected), Teach, and Yolo. Each mode has a corresponding keyboard shortcut. The interface is dark-themed, and the selected model is &quot;claude-3.7-sonnet&quot;." title="A screenshot of the Cursor editor interface showing a dropdown menu under the &quot;Plan&quot; mode selection. The menu includes several AI assistant modes: Agent, Ask, Manual, Plan (currently selected), Teach, and Yolo. Each mode has a corresponding keyboard shortcut. The interface is dark-themed, and the selected model is &quot;claude-3.7-sonnet&quot;." srcset="https://substackcdn.com/image/fetch/$s_!-Q5r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff423a74d-68ed-413c-9119-96aa362643d1_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!-Q5r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff423a74d-68ed-413c-9119-96aa362643d1_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!-Q5r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff423a74d-68ed-413c-9119-96aa362643d1_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!-Q5r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff423a74d-68ed-413c-9119-96aa362643d1_1920x1080.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><figcaption class="image-caption">Detail of Cursor 0.48&#8217;s chat tabs, March 2025. From <a href="https://cursor.com/changelog/0-48-x">Cursor&#8217;s official release demo</a>.</figcaption></figure></div><p>The arrival of Claude Code became a much more natural experience for me. I grew up programming in the terminal&#8212;first with Emacs and later Vim/Neovim&#8212;so having a TUI that could sit next to all my other terminal apps felt natural. It also made it easier to scale up code production: I could just <em>cd</em> into a new directory and launch a new Claude instance there. Of course, this was always possible with Cursor, but it didn&#8217;t feel as natural.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rx8D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rx8D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!rx8D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!rx8D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!rx8D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rx8D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf92c9ae-b32a-45e4-8807-aa9d70a435c5_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;:221557,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thebuildingmachine.com/i/215268481?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.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_!rx8D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!rx8D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!rx8D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!rx8D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf92c9ae-b32a-45e4-8807-aa9d70a435c5_1920x1080.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><figcaption class="image-caption">Claude Code&#8217;s original research-preview welcome screen, February 24, 2025. Source: <a href="https://www.anthropic.com/news/claude-3-7-sonnet">Anthropic&#8217;s launch announcement</a>.</figcaption></figure></div><p>I began running multiple Claude Code instances and doing work in parallel. My screen filled with terminals overlapping terminals. I switched to using Mac&#8217;s built-in virtual desktop feature. I moved different threads of work to different screens, but the keyboard navigation sucked, so I needed another solution. Around this time, I experimented with programmable, split, columnar keyboards. I don&#8217;t remember exactly why&#8212;I think I needed a new hobby or something. I bought a ZSA Moonlander (I later changed to the ZSA Voyager, which remains my favorite keyboard) and started messing with custom keybindings and macros for Neovim. I then discovered the beautiful world of home-row mods. </p><p>There must be a better way to manage all these damn windows!</p><p>I used window managers in the past, but it had been a while, so I started researching modern options for the Mac and discovered AeroSpace and the broader world of i3-style tiling window managers. This was the system I was looking for. I could customize keybindings and map different workspaces to different keys using mnemonics. Chrome would go to workspace <em>c</em>; all my coding workspaces would go to <em>1</em> through <em>9</em>. My home-row mods made managing all of this very easy. I could now switch context and jump between different threads of work with ease, never taking my hands off the keyboard.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;88ea287b-86eb-4e3a-af90-37a0acde8171&quot;,&quot;duration&quot;:null}"></div><p><em>AeroSpace&#8217;s workspace flyout, followed by Alt+number shortcuts between terminal windows. The flyout is enlarged and slowed to half spee; the window switching is real time.</em></p><p>As I scaled code production, I experimented with different ways to keep up with the agent and check its work. I really fell in love with Cursor&#8217;s hunk-based local code review, so this was the system I leaned into optimizing as I scaled up concurrent agents.</p><p>With Claude Code moving the agent to the terminal, I built out my Neovim config, planning to use it to replace Cursor&#8217;s built-in code review. I found Neogit to be the best fit for a review plugin and added some custom keybindings for reviewing and staging hunks in the editor. For a long time, my workflow was to have the agent write the code, review the hunks in Neogit, stage the ones I accepted, and then iterate with the agent on the ones that remained.</p><p>This worked well for getting quality code out of the agent with quick reviews, but of course, it didn&#8217;t scale as the number of agents increased. It became more difficult to contextualize the hunks or deal with changesets that were 1,000s of lines long. To help with this, I created a TUI review system called Filament (open sourcing soon), which implemented a much more opinionated form of review. Filament uses Treesitter to understand the semantic layout of your code, then overlays the diff hunks on top of the AST produced by Treesitter. You iterate through the hunks in a top-down, caller-to-callee fashion, using keyboard shortcuts to move through and annotate your code. It produces a review document you feed back to the agent for another iteration.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f96fc690-c3db-4d50-a26e-716c32c2fd5d&quot;,&quot;duration&quot;:null}"></div><p><em>Navigating a real changeset in Filament. The overlay shows the keys I&#8217;m pressing.</em></p><h2>Going All-In on AI</h2><p>After Claude Code came out, time became blurry. I became addicted to this new way of building&#8212;likely my own version of AI psychosis&#8212;but I also realized that it was going to change everything about the industry. I needed to frontrun these changes. I transitioned roles at work, moving from an org lead back to an IC. Then, I decided to leave and cofound ArchAstro. I felt that the only way to really learn how to use these tools effectively, and to modernize myself, was to go all in. So I did.</p><p>With this system, and with the imperative to build fast and big with a lean startup team, I ramped up the number of agents and sessions. At some point, I added coding workspaces <em>q</em>, then <em>w</em>, then <em>e</em>. I used workspace <em>m</em> for main. For projects unrelated to my primary work, I used other bindings like <em>p</em> for projects. On each workspace, I ran two or three terminal instances: one for my agent, another for Neovim, and a third for general command-line work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S5GM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S5GM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png 424w, https://substackcdn.com/image/fetch/$s_!S5GM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png 848w, https://substackcdn.com/image/fetch/$s_!S5GM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png 1272w, https://substackcdn.com/image/fetch/$s_!S5GM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S5GM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png" width="1456" height="1018" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1018,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1807496,&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://thebuildingmachine.com/i/215268481?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.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_!S5GM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png 424w, https://substackcdn.com/image/fetch/$s_!S5GM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png 848w, https://substackcdn.com/image/fetch/$s_!S5GM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png 1272w, https://substackcdn.com/image/fetch/$s_!S5GM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfa910c2-6fba-4060-87e3-06a815bf1a4c_1509x1055.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image 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><figcaption class="image-caption">The Cat in the Hat Comes Back (with Agents), by Dr Seuss</figcaption></figure></div><p>I worked this way for a while, and my productivity rose. But soon, I found myself needing more than 12 agents, and that&#8217;s when I got into trouble. I spent my time scanning through all the workspaces, looking to see what was blocked on me. I started forgetting what was on worktree 1 or 2 or 3. </p><div class="pullquote"><p>In my quest to maximize parallelism, I found chaos.</p></div><h3>Vibing on Mobile</h3><p>As an aside, on the way to building the workflow above, I experimented with mobile. I found videos online of people using an app called Termius with tmux to code with Claude on the go. Of course, to feed my addiction, I needed to try this. So I set up Tailscale, Mosh, tmux, and Termius and started to vibe from my phone. But for whatever reason, Termius sucked at scrolling with tmux, and it became a pain in the ass to use. Don&#8217;t get me wrong: I was still able to get a lot done, but it wasn&#8217;t a good experience.</p><h2>The Past 3 Months</h2><p>That brings us to the summer of 2026. I started seeing all these posts about a new tmux-like system called Herdr. I was a bit reluctant to check it out at first. For me, inertia tends to be high when it comes to building workflows and the muscle memory around them. Herdr clearly solved some important problems I was experiencing, so I checked it out.</p><p>The most important thing for me was the keyboard bindings. I used Codex to customize them to work similarly to my AeroSpace bindings without colliding. I mapped workspace switching to the same <em>0</em> through <em>9</em> system, using Ctrl and Alt bound to holds on <em>g</em> and <em>h</em>. I created shortcuts for creating tabs, switching agents, and so on. It took me a couple of weeks to get as fast with Herdr as I had been with AeroSpace, but I got there.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;71917d5c-4178-4825-b21a-6ede9c96e29e&quot;,&quot;duration&quot;:null}"></div><p><em>Switching between Herdr workspaces and agents, with my keyboard commands shown above.</em></p><p>The bigger unlock was discovering Moshi as a new mobile PTY app and witnessing how well it worked with Herdr. It solved all the usability issues with tmux and Termius. I could now run just as fast from my phone as I could from my computer. My productivity soared.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;3b41b61e-16e5-4c42-9002-a0d59e06b914&quot;,&quot;duration&quot;:null}"></div><p><em>Switching between Herdr workspaces from my phone in Moshi.</em></p><p>Once again, I my code review workflow evolved, especially for mobile. I began using GitHub Mobile much more for code review. I would comment on PRs, then jump back into Moshi to tell my agents to fix the comments. I created skills to help them monitor for changes. With the more capable models, I found myself spending much less time in Filament and Neogit. I ended up using GitHub much more because I could skip over inconsequential generated code and focus on the pieces that mattered most. GitHub&#8217;s file list was key for this.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;d54af8a9-239a-4198-91aa-f20b89abb0c6&quot;,&quot;duration&quot;:null}"></div><p><em>Opening a PR in GitHub Mobile, then asking the agent in Moshi what is blocking the merge.</em></p><p>My productivity increased once again, but my problems weren&#8217;t solved. I found myself struggling even more to keep track of everything. The agents were inconsistent about babysitting PR feedback, merge conflicts, and CI. I would look at a GitHub review and have no idea which worktree or agent was dealing with it. I was back to chaos.</p><p>So I started building more tools to solve those problems and arrived at the workflow I use today. </p><p>More on this next week!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thebuildingmachine.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">Thanks for reading The Building Machine! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Welcome to The Building Machine ]]></title><description><![CDATA[An exploration in the intersection of learning, AI, management, and engineering.]]></description><link>https://thebuildingmachine.com/p/welcome-to-the-building-machine</link><guid isPermaLink="false">https://thebuildingmachine.com/p/welcome-to-the-building-machine</guid><dc:creator><![CDATA[Calvin Grunewald]]></dc:creator><pubDate>Fri, 28 Aug 2026 19:19:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3HIH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>Welcome to The Building Machine.</span></p><p><span>This is my new Substack newsletter where I&#8217;ll share thoughts, opinions, feelings, vibes, rage bait, clickbait, engagement bait, fish bait, and maybe no bait at all about the evolution of software, engineering management, and what it means to work in this world that is been dramatically changing everyday due to A.I.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thebuildingmachine.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">Thanks for reading The Building Machine! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><span>So what is a building machine or rather what is THE building machine?</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3HIH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3HIH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3HIH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3HIH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3HIH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3HIH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg" width="1086" height="724" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:724,&quot;width&quot;:1086,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:341215,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thebuildingmachine.substack.com/i/213182027?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.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_!3HIH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3HIH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3HIH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3HIH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F598ff3d3-90c1-4318-a49e-e43dc64594fa_1086x724.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><figcaption class="image-caption">Leonardo da Vinci&#8217;s &#8220;building machine,&#8221; c. 1489 &#8212; a remarkably early vision of a machine that builds machines to build buildings.</figcaption></figure></div><ul><li><p><span>Is it me?</span></p></li><li><p><span>Is it this newsletter?</span></p></li><li><p>What is the building machine building?</p></li><li><p><span>Is it a fun riff on software factories, Loop Engineering, Graph Engineering, Hyper Graph Engineering, and Petri Nets that you see all over X? Well maybe not the last two but they&#8217;re coming.</span></p></li><li><p><span>Is it a rebrand of coding machine?</span></p></li><li><p><span>Is it one of those cool fucking robots that sit on the top of skyscrapers and builds more of the skyscraper?</span></p></li><li><p><span>Is it a new machine we&#8217;ve never seen before that builds the robots that sit on top of the skyscrapers and build more skyscrapers?</span></p></li></ul><p><span>I don&#8217;t actually know the answer to this question so I started this newsletter to find out. What does the concept of a building machine mean when AI is basically disrupting the entire software industry?</span></p><p><span>At the end of 2025, I left my big tech job running the Billing team at Stripe to start an AI-pilled, AI-first, super lean company. This was right around the time that Opus 4.5 dropped, a pivotal moment where everything around coding changed. </span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TOHN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TOHN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TOHN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TOHN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TOHN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TOHN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f28cde07-af96-472c-ac04-68201e56ad94_1792x1008.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;:754773,&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://thebuildingmachine.substack.com/i/213182027?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.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_!TOHN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TOHN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TOHN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TOHN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28cde07-af96-472c-ac04-68201e56ad94_1792x1008.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><figcaption class="image-caption"><strong>Antonio Sant&#8217;Elia, </strong><em><strong>Study for a Self-Constructing City</strong></em><strong>, c. 1914 &#8212; a visionary metropolis of colossal machines building machines, where architecture rises as an instrument of industry, power, and perpetual construction.</strong></figcaption></figure></div><p><span>For me, the journey started before &#8220;the singularity.&#8221; As early as May of 2025, I began playing with Cursor and Claude Code. It became clear to me that the future of building software and running eng teams would change. Every month I spent in my current role, where all my time was spent in meetings, doing one-on-ones and supporting the team, was costing valuable time to learn and front-run the massive industrial change coming. </span></p><p><span>I only know a few people who made similar career choices around that time. They either left their big, org-lead roles to go back to ICs, forcing themselves to learn. Or they left their big tech jobs to become a solo builder or start a company. </span>If you look on X, you probably feel the opposite, that everybody&#8217;s doing this, but it&#8217;s certainly not true. <span>Even for folks who feel early or seem early, if you actually talk to them they say they&#8217;re behind. Certainly that&#8217;s how I feel. </span></p><p>It&#8217;s been 9 months since I left Stripe; I now spend nearly all of my time building. I have never built so much software and product in my entire life. To that end, I definitely feel like a Building Machine. At the same time, I don&#8217;t feel like a high functioning one. Steam comes out of my ears too often. My gears grind and efficiency drops after 5PM. Maintaining focus and context is harder than it&#8217;s ever been, and software is but a tiny part of what Building is in the most abstract sense. The rest of my team has their own challenges, and there are not a good set of interchangeable parts to really optimize the whole fleet.</p><p>I am still learning how to build The Building Machine, whatever it might turn out to be. And that is what makes this new world so much fun - there is so much to learn and do. I intend to use this newsletter to explore and share what I&#8217;m learning. I hope to learn from all of you as well, get feedback and compare notes. Ultimate, democratized AI should let all of us find our own Building Machines. So let&#8217;s build!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://thebuildingmachine.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">Thanks for reading The Building Machine! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>