<?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[Startups And Code by John Mann]]></title><description><![CDATA[A weekly newsletter about AI, Tech, and Leadership.]]></description><link>https://newsletter.startupsandcode.com</link><image><url>https://substackcdn.com/image/fetch/$s_!4Ojs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b15515a-82fa-4e5a-8cfc-e0e660637f25_500x500.png</url><title>Startups And Code by John Mann</title><link>https://newsletter.startupsandcode.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 13 Apr 2026 11:20:20 GMT</lastBuildDate><atom:link href="https://newsletter.startupsandcode.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[John Mann]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[startupsandcode@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[startupsandcode@substack.com]]></itunes:email><itunes:name><![CDATA[John Mann]]></itunes:name></itunes:owner><itunes:author><![CDATA[John Mann]]></itunes:author><googleplay:owner><![CDATA[startupsandcode@substack.com]]></googleplay:owner><googleplay:email><![CDATA[startupsandcode@substack.com]]></googleplay:email><googleplay:author><![CDATA[John Mann]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Vibe Coding Has a Hangover]]></title><description><![CDATA[You shipped in two hours. Congrats. Now your users&#8217; data is all over the internet.]]></description><link>https://newsletter.startupsandcode.com/p/vibe-coding-has-a-hangover</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/vibe-coding-has-a-hangover</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 11 Apr 2026 02:15:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!M1qr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey all, Real John here&#8230; First off - GO KNICKS!  Ok, moving on&#8230; this week I&#8217;m talking about security and AI.  Even a little better security is better than the vibe coded insanity that is out there.  Enjoy reading, and hopefully check your code for api keys and more.  8 of Diamonds - if you know you know.  Thanks for reading!  Let&#8217;s chat more - IN REAL LIFE.  </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M1qr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M1qr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!M1qr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!M1qr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!M1qr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M1qr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.jpeg" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_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;:705833,&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://startupsandcode.substack.com/i/193852446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.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_!M1qr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!M1qr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!M1qr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!M1qr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c4a51b-2104-498a-a8ba-45cd5a6e2b1b_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"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I love vibe coding. I really do. I built Cash Critters with AI tools, I&#8217;m building StatusSage with them, and I preach the gospel of shipping fast with a $50/month stack every single week in this newsletter.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.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">Startups And Code by John Mann 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>So when I tell you vibe coding has a serious problem right now, I need you to hear it &#8212; not as a critic, but as someone who&#8217;s all in on these tools and doesn&#8217;t want to watch them get buried by a wave of self-inflicted disasters.</p><p>Because that wave? It&#8217;s already here.</p><div><hr></div><h2>The Party Was Great. Someone Left the Door Open.</h2><p>Moltbook launched January 28th, 2026. Big hype. AI social network. The founder proudly announced he &#8220;didn&#8217;t write a single line of code.&#8221; Within three days, 1.5 million API keys were exposed. Thirty-five thousand emails. Gone. The entire database was publicly accessible because the AI never enabled Row Level Security &#8212; and no human ever checked.</p><p>Three. Days.</p><p>That&#8217;s not a one-off. Researchers at Escape.tech scanned over 1,400 vibe-coded production apps and found that 65% had security issues and 58% had at least one critical vulnerability. Georgia Tech&#8217;s Vibe Security Radar tracked 6 CVEs attributable to AI-generated code in January 2026. By March? Thirty-five. In a single month. And researchers estimate the real number is 5 to 10 times higher because most AI tools don&#8217;t leave identifiable commit metadata.</p><p>Meanwhile, Veracode tested over 100 AI models on security-sensitive coding tasks. Forty-five percent of AI-generated code introduced OWASP Top 10 vulnerabilities. Not obscure edge cases. The classics. XSS. SQL injection. Hardcoded secrets. The stuff every developer learns to avoid in year one.</p><p>The AI doesn&#8217;t know what it doesn&#8217;t know. And if you don&#8217;t know either, you just shipped a vulnerability to production with confidence.</p><div><hr></div><h2>Why This Is Happening (And It&#8217;s Not the Tools&#8217; Fault)</h2><p>Here&#8217;s the uncomfortable truth: <strong>the tools are working exactly as designed.</strong></p><p>AI coding tools optimize for making the error message go away. They generate code that satisfies the stated requirement. The problem is &#8220;make a login form&#8221; and &#8220;make a secure login form&#8221; are two completely different prompts &#8212; and most people only type the first one.</p><p>Columbia University researchers put it plainly: AI agents will remove validation checks, relax database policies, and disable authentication flows just to resolve a runtime error. Not because they&#8217;re malicious. Because they&#8217;re optimizing for the output you asked for, not the ten other things you forgot to ask for.</p><p>An experienced developer writes secure-by-default because of thirty years of scar tissue. The AI has no scar tissue. It has patterns from training data &#8212; much of which is legacy code written before anyone cared about security best practices.</p><p>The code looks right. It runs fine in the demo. It falls apart the moment a real user touches it in a way you didn&#8217;t anticipate.</p><div><hr></div><h2>What You Actually Need to Do</h2><p>I&#8217;m not telling you to stop using these tools. That&#8217;s not the answer and I&#8217;d be a hypocrite if I said it. The answer is to stop treating AI output as finished code.</p><p>Think of it like hiring a brilliant but overconfident intern. You wouldn&#8217;t let that intern push directly to production without a review. Same rule applies here.</p><p><strong>The non-negotiables before you ship anything real:</strong></p><ol><li><p><strong>Row Level Security is not optional.</strong> If you&#8217;re using Supabase, Postgres, or any row-level permission system &#8212; check it yourself. The AI almost certainly skipped it.</p></li><li><p><strong>Search your own codebase for your API keys.</strong> Seriously, do it right now. <code>grep -r "sk-" .</code> and hold your breath.</p></li><li><p><strong>Authenticated vs. unauthenticated testing.</strong> Manually verify that logged-out users cannot access logged-in content. This single test would have caught the majority of the documented failures this year.</p></li><li><p><strong>No AI-generated auth code in production without review.</strong> Authentication is the one area where &#8220;it looks fine&#8221; is not a sufficient standard.</p></li><li><p><strong>Run a dependency scan.</strong> About 20% of AI-generated code references packages that don&#8217;t exist &#8212; and attackers are registering those hallucinated names as real malicious packages. It&#8217;s called slopsquatting. It&#8217;s real and it&#8217;s accelerating.</p></li></ol><p>None of this requires a security team. It requires thirty minutes and the willingness to look.</p><div><hr></div><p>The speed is real. The productivity gains are real. I&#8217;m not giving those up and you shouldn&#8217;t either. But &#8220;I shipped in two hours&#8221; is only a flex if the thing you shipped doesn&#8217;t leak your users&#8217; bank account data three days later.</p><p>Ship fast. Review what you shipped. Those two things are not in conflict &#8212; only the hangover makes them feel that way.</p><p>Go build something amazing. Just check the locks before you open the doors.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/vibe-coding-has-a-hangover?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.startupsandcode.com/p/vibe-coding-has-a-hangover?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p><em>John Mann is the founder of Startups and Code LLC, a software engineering executive, and the builder behind <a href="https://cashcritters.com/">Cash Critters</a> &#8212; financial literacy for kids, built for $50/month because constraints are a feature, not a bug. Subscribe for weekly takes on AI, startups, and building things that matter.</em></p>]]></content:encoded></item><item><title><![CDATA[AI Can’t Fix a Bad Communicator]]></title><description><![CDATA[And most leaders are bad communicators. Here&#8217;s how to actually fix that &#8212; with or without AI.]]></description><link>https://newsletter.startupsandcode.com/p/ai-cant-fix-a-bad-communicator</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/ai-cant-fix-a-bad-communicator</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 04 Apr 2026 12:52:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vwkX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Real John here.. Hey all, happy Saturday!  This week, I chat about communication, not TCP/IP, MCP, or some other network protocol, but actual human communication. It becomes the most challenging part of a job for any employee not just managers.  With AI, we have changed the way we communicate and we have lost some of the nuance of human interactions. We have lost the art of communication. We have lost our kindness, empathy, and attention to who our audience is. We seek attention over understanding. We feel differently and don&#8217;t know why. We can still use AI to help us but we need to always remember we are human and the humans we are communicating with have their own filters, experiences, and we need to lead with empathy, understanding, and not just facts and succinct messages. 10 of Hearts - if you know you know.  Let&#8217;s get into it. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vwkX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vwkX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!vwkX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!vwkX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!vwkX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vwkX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_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;:2329641,&quot;alt&quot;:&quot;Split screen with a man surrounded by screens and AI automation tasks and on the right side, a man smiling on a single laptop with a caption that says Live&quot;,&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://startupsandcode.substack.com/i/193160386?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Split screen with a man surrounded by screens and AI automation tasks and on the right side, a man smiling on a single laptop with a caption that says Live" title="Split screen with a man surrounded by screens and AI automation tasks and on the right side, a man smiling on a single laptop with a caption that says Live" srcset="https://substackcdn.com/image/fetch/$s_!vwkX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!vwkX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!vwkX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!vwkX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc6ac1a1-95c7-4466-ad8f-643fe74d1a9a_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Generated with ChatGPT</figcaption></figure></div><p>I&#8217;ve sat in rooms with brilliant engineers who couldn&#8217;t explain what they built to save their lives. I&#8217;ve watched CTOs lose their teams not because of bad strategy, but because nobody knew what the strategy <em>was</em>. I&#8217;ve been that guy &#8212; confident I communicated clearly, only to find out my team heard something completely different.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.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://newsletter.startupsandcode.com/subscribe?"><span>Subscribe now</span></a></p><p>Communication is the job. Not coding. Not architecting. Not roadmapping. If you&#8217;re in a leadership role, communication <em>is</em> your primary deliverable. And most of us are terrible at it.</p><p>Now AI is in the mix. And everyone&#8217;s excited about it &#8212; summarize this, draft that, turn my bullet points into a beautiful email. Cool. But here&#8217;s the hard truth: <strong>AI amplifies what&#8217;s already there.</strong> If your communication is unclear, vague, and politically hedged before you hit &#8220;generate,&#8221; it comes out the other end polished, verbose, and still unclear. Just with better grammar.</p><p>So before we talk about how AI can help, let&#8217;s fix the foundation.</p><div><hr></div><h2>The Actual Problems</h2><p>Most leadership communication fails in one of three ways:</p><p><strong>1. You bury the point.</strong> You spend three paragraphs on context before saying what you actually need. Reverse it. Lead with the decision, the ask, or the result. Context comes second.</p><p><strong>2. You communicate to feel heard, not to be understood.</strong> This is the meeting problem. You talk. People nod. Nothing changes. The goal of communication is a shared understanding that leads to action &#8212; not a feeling of having said the thing.</p><p><strong>3. You avoid the hard message.</strong> You soften, qualify, and hedge until the message is unrecognizable. &#8220;We might want to consider potentially exploring...&#8221; just means &#8220;we&#8217;re doing this.&#8221; Say that.</p><div><hr></div><h2>Where AI Actually Helps</h2><p>Once you&#8217;ve got those fundamentals down, here&#8217;s where AI earns its seat at the table:</p><p><strong>Draft the hard message first, then use AI to gut-check it.</strong> Write your message. Then paste it into Claude or ChatGPT and ask: <em>&#8220;What will someone who disagrees with this hear?&#8221;</em> That&#8217;s your pre-mortem. You&#8217;ll catch the landmines before they go off.</p><p><strong>Use AI to translate between audiences.</strong> I regularly write something for an engineering team and then ask AI to reframe it for an executive audience &#8212; same message, different frame. What used to take 30 minutes of re-writing takes 5. The <em>thinking</em> is mine. The translation is AI&#8217;s.</p><p><strong>Kill the fluff in your async communication.</strong> Slack messages. Status updates. Emails. Drop your draft into Claude and say: <em>&#8220;Make this shorter and direct. Remove anything that doesn&#8217;t add information.&#8221;</em> You will be shocked at how much nothing you were sending.</p><p><strong>Meeting prep &#8212; for real this time.</strong> Before any significant meeting, I write a one-paragraph brief: what decision needs to be made, what information is already known, what I need from this group. AI helps me sharpen that brief so I walk in with clarity instead of vibes. Shorter meetings. Better outcomes.</p><p><strong>Build a communication template library.</strong> Performance feedback, project status, escalation to leadership, team announcements &#8212; these are recurring communication patterns. Build a template for each, refine it with AI, and use it consistently. Your team will know what to expect, and you&#8217;ll spend less time staring at a blank page.</p><div><hr></div><h2>The One Thing That Doesn&#8217;t Change</h2><p>None of this works if you don&#8217;t know what you&#8217;re trying to say. AI can sharpen your message. It cannot <em>find</em> your message for you. That&#8217;s still your job.</p><p>The leaders I respect most aren&#8217;t the ones with the best vocabulary or the smoothest delivery. They&#8217;re the ones who are clear about what they think, honest about what they don&#8217;t know, and consistent enough that people trust what they hear.</p><p>Thirty years in this industry taught me that the technical problems are rarely what kill a product, a team, or a company. It&#8217;s usually a communication breakdown somewhere &#8212; a decision that never got made explicit, a direction that got lost in translation, a hard conversation that never happened.</p><p>AI didn&#8217;t create that problem. But it can absolutely help you stop repeating it.</p><div><hr></div><p>Now go communicate something clearly. And then go build something amazing.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/ai-cant-fix-a-bad-communicator?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.startupsandcode.com/p/ai-cant-fix-a-bad-communicator?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p><em>John Mann &#8212; Startups and Code LLC | Building, leading, and occasionally ranting at <a href="https://startupsandcode.com/">startupsandcode.com</a></em></p>]]></content:encoded></item><item><title><![CDATA[The Model Fragmentation Problem]]></title><description><![CDATA[Nobody&#8217;s talking about the hidden cost of AI&#8217;s infinite options &#8212; and it&#8217;s quietly killing your productivity.]]></description><link>https://newsletter.startupsandcode.com/p/the-model-fragmentation-problem</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/the-model-fragmentation-problem</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 28 Mar 2026 11:53:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TIrc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Real John here - this week I&#8217;m taking some time off but love AI too much to let this newsletter pause.   Celebrating my anniversary this weekend! Yay us!<br>There are so many models out there, and analysis paralysis is in full-effect for so many people.  TLDR; stop trying to figure out which is the perfect model for the current task, just ship it.  Give yourself time to stick to one process, and you don&#8217;t have to change just because a new model came out.  If it is working, stay with it until it is not working.  Ok, that&#8217;s all, 9 of clubs - if you know you know. Here&#8217;s this week&#8217;s newsletter:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TIrc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TIrc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!TIrc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!TIrc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!TIrc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TIrc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab02e92b-9a37-412d-89e0-513f017b26fc_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;:2136504,&quot;alt&quot;:&quot;man surrounded by images of AI models looking frustrated at his laptop&quot;,&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://startupsandcode.substack.com/i/192398486?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="man surrounded by images of AI models looking frustrated at his laptop" title="man surrounded by images of AI models looking frustrated at his laptop" srcset="https://substackcdn.com/image/fetch/$s_!TIrc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!TIrc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!TIrc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!TIrc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab02e92b-9a37-412d-89e0-513f017b26fc_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">generated with ChatGPT</figcaption></figure></div><p>I have a confession. Last week I spent 45 minutes choosing which AI model to use for a task that would have taken 20 minutes to just... do.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.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">Startups And Code by John Mann 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>That&#8217;s not a productivity win. That&#8217;s a trap.</p><p>Here&#8217;s where we are right now: OpenAI serves 85 active models through their API. Anthropic serves 31. xAI has 33. Bedrock hosts 35. Replicate is sitting on 63. DeepInfra has 60. And new releases are dropping on a bi-weekly cadence like your favorite streaming show &#8212; except each one comes with a new pricing tier, new context window, new &#8220;benchmark-beating&#8221; claim, and a new set of tradeoffs you now have to understand.</p><p>Someone has to evaluate all of this. Guess who that is? You.</p><div><hr></div><h2>This Isn&#8217;t Choice. This Is Chaos.</h2><p>We&#8217;ve romanticized optionality in tech for years. More options = more power. Except it doesn&#8217;t work that way in practice. It works like standing in a Cheesecake Factory with a 21-page menu when you&#8217;re starving. You don&#8217;t make a better choice. You make a slower one and wonder if you ordered wrong the whole time.</p><p>I&#8217;ve watched engineers at startups spend more time in model comparison spreadsheets than shipping features. I&#8217;ve seen CTOs schedule &#8220;AI strategy&#8221; meetings to debate which LLM to use for a customer service bot &#8212; as if the model is the product. IT IS NOT THE MODEL. The product is the thing you&#8217;re building.</p><p>The vendors love this, by the way. Every new model release is a reason to re-engage you, re-evaluate your stack, maybe upgrade your API tier. The churn cycle is now embedded in your architecture decisions. Congratulations, you&#8217;re now a subscriber to indecision.</p><div><hr></div><h2>The Real Cost Nobody&#8217;s Calculating</h2><p>Everyone talks about inference costs. Token prices. Latency benchmarks. That&#8217;s table stakes.</p><p>Nobody talks about <strong>integration debt</strong>.</p><p>Every time you swap a model, you are not just swapping a model. You&#8217;re re-testing your prompts. You&#8217;re re-validating outputs. You&#8217;re updating your evals (if you even have evals, and if you don&#8217;t, that&#8217;s a different newsletter). You&#8217;re potentially refactoring how you parse responses because the new model has slightly different formatting behavior. You&#8217;re updating your internal docs. You&#8217;re re-training your team.</p><p>That&#8217;s not a swap. That&#8217;s a mini-project.</p><p>And if you&#8217;re a startup with two engineers and a runway clock ticking &#8212; that mini-project has an opportunity cost that would make your investors uncomfortable.</p><div><hr></div><h2>What Actually Works</h2><p>I built Cash Critters &#8212; a financial literacy app for kids &#8212; for roughly $50/month. I didn&#8217;t spend three weeks evaluating every AI tool on the market. I picked something, shipped it, and iterated. The constraints forced the decision. The decision enabled execution.</p><p>Here&#8217;s the framework I use now, and it&#8217;s embarrassingly simple:</p><p><strong>1. Pick a default model and commit to it for 90 days.</strong> Stop re-evaluating every time a new benchmark drops. Claude, GPT-4o, whatever &#8212; pick one, learn its quirks, optimize for it. You will get more out of deep knowledge of one model than shallow experiments across twelve.</p><p><strong>2. Route by use case, not by hype.</strong> If you genuinely need different models for different tasks (coding vs. summarization vs. vision), define those lanes ONCE and stop revisiting. Two or three lanes max. This is not a model showcase, it&#8217;s a product.</p><p><strong>3. Treat model changes like dependency upgrades.</strong> Would you randomly upgrade your database version mid-sprint because a new one dropped? No. You schedule it, you test it, you do it deliberately. Same energy for LLMs.</p><p><strong>4. Build model-agnostic abstractions from day one.</strong> If your codebase has the model name hardcoded in 47 places, that&#8217;s on you. Abstract the call. Make swapping a one-line config change. This is basic engineering hygiene that somehow everyone forgets when &#8220;AI&#8221; gets slapped on the project.</p><div><hr></div><h2>The Takeaway</h2><p>The AI tooling market wants you overwhelmed. Overwhelmed people buy more things trying to fix the overwhelm. Don&#8217;t play that game.</p><p>You don&#8217;t need 85 models. You need one that works well enough, integrated cleanly enough, to ship the thing your users actually need.</p><p>A horse gets you where you&#8217;re going. You don&#8217;t need a stable full of unicorns.</p><p>Pick your model. Build your thing. Ship it.</p><p>Go build something amazing.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/the-model-fragmentation-problem?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.startupsandcode.com/p/the-model-fragmentation-problem?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p><em>John Mann is a software engineering executive, solopreneur, and the founder of Startups and Code LLC. He writes weekly about AI, startups, and tech leadership &#8212; for builders who execute, not just theorize. Follow along on Substack.</em></p>]]></content:encoded></item><item><title><![CDATA[The Model Was Never the Hard Part]]></title><description><![CDATA[OpenAI just bought a Python tooling startup. What that really tells you about where the opportunity is.]]></description><link>https://newsletter.startupsandcode.com/p/the-model-was-never-the-hard-part</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/the-model-was-never-the-hard-part</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 21 Mar 2026 13:48:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Rqs9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Rqs9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Rqs9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!Rqs9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!Rqs9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!Rqs9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Rqs9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png" width="1024" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:608,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Rqs9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png 424w, https://substackcdn.com/image/fetch/$s_!Rqs9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png 848w, https://substackcdn.com/image/fetch/$s_!Rqs9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png 1272w, https://substackcdn.com/image/fetch/$s_!Rqs9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77131f72-9c0a-44c5-bba2-0950e5a9a776_1024x608.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Generated by Substack</figcaption></figure></div><p>Hey! Real John here, this week talking about integrations and how AI can make your life easier.  I&#8217;ll write more later, but having a busy weekend is always fun.  4 of clubs - if you know you know.  Let&#8217;s get into it</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.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://newsletter.startupsandcode.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>I&#8217;ve been thinking about a conversation I had with a client last year. They had just signed a contract with a major AI vendor &#8212; solid model, good demos, impressive benchmark numbers. Six months later, they were frustrated. Not because the model was bad. Because it didn&#8217;t fit anywhere. It generated code that their linters hated, dependencies that their pipelines didn&#8217;t know how to handle, and outputs that felt great in isolation but were a nightmare the moment they hit a real codebase.</p><p>The model worked. The integration didn&#8217;t.</p><p>This week, OpenAI announced it&#8217;s acquiring Astral &#8212; the team behind Ruff, uv, and ty. If you&#8217;re not deep in Python, those names might not mean much. But Ruff is a linter that runs faster than anything that came before it. uv handles dependency management. ty does type checking. These are the boring, unglamorous tools that sit between &#8220;AI writes some code&#8221; and &#8220;that code actually ships.&#8221;</p><p>OpenAI&#8217;s stated goal was direct: <em>&#8220;to move beyond AI that simply generates code and toward systems that can participate in the entire development workflow.&#8221;</em></p><p>Read that again. They&#8217;re not buying a model. They&#8217;re buying the pipes.</p><div><hr></div><h2>What OpenAI Is Actually Admitting</h2><p>When a $300 billion company acquires a small open source tooling startup, they&#8217;re not doing it because the tooling is cute. They&#8217;re doing it because they&#8217;ve discovered, at scale, that the model is only part of the problem.</p><p>The insight buried in this acquisition is that AI coding systems generate probabilistic outputs &#8212; which is a fancy way of saying &#8220;usually right, sometimes confidently wrong.&#8221; Engineering systems, on the other hand, demand deterministic behavior. That gap doesn&#8217;t live in the demo. It shows up when real teams try to run real code through real pipelines.</p><p>What Astral brings to Codex isn&#8217;t just speed (though Ruff is genuinely blazing fast). It brings discipline. It brings the ability for an AI agent to check its own work inside the same environment developers already use. The feedback loop closes. The AI can lint what it generates, validate the dependencies, and catch type errors &#8212; before a human has to.</p><p>This is OpenAI saying, out loud: <em>we need to close the integration gap.</em></p><div><hr></div><h2>The Opportunity Nobody Is Talking About</h2><p>Here&#8217;s where I want to be honest with you &#8212; and with myself.</p><p>I&#8217;ve been building with AI tools for a couple of years now. Cash Critters, pttrak.com (shutdown now), automation pipelines at work. Every single time, the model itself has been the easy part. The hard part has always been: how does this actually fit into what already exists?</p><p>Most companies are not starting from scratch. They have legacy codebases, existing CI/CD pipelines, databases that were architected in 2017, deployment processes that three people understand and only one person can actually fix. When AI walks into that environment, it doesn&#8217;t get a clean sandbox. It gets the mess.</p><p>The integration layer &#8212; the connective tissue between what AI can generate and what real systems can accept &#8212; is still largely unbuilt. And that&#8217;s the opportunity. Not building the next model. Not training the next LLM. But understanding how AI outputs actually flow through real organizations, and building the bridges that make that work.</p><p>I think about this a lot when I&#8217;m consulting. The question I get asked most often isn&#8217;t &#8220;which AI is best?&#8221; It&#8217;s &#8220;how do we actually use this?&#8221; Those are very different questions. One is a benchmark problem. The other is an integration problem. And right now, the world is full of people answering the first question while the second one sits there, wide open.</p><div><hr></div><h2>What This Means If You&#8217;re Building</h2><p>If you&#8217;re a founder, a developer, or a tech leader watching the OpenAI-Astral news, here&#8217;s how I&#8217;d think about it:</p><p><strong>The integration layer is the business.</strong> Tools that help AI-generated code fit into existing workflows, pipelines, and organizational systems &#8212; that&#8217;s where the real value gets created. Not at the model layer. At the handoff layer.</p><p><strong>Constraints are still your friend.</strong> The companies that will figure this out fastest aren&#8217;t the ones with unlimited budgets spinning up massive AI transformation initiatives. They&#8217;re the scrappy builders who are forced to make things actually work in production, not just in a demo environment.</p><p><strong>The boring stuff matters more than ever.</strong> Linting. Dependency management. Type checking. Testing. These aren&#8217;t glamorous, but they&#8217;re what makes AI output usable. If you&#8217;re a developer, getting deep in that toolchain is not a step backward. It&#8217;s a significant competitive advantage.</p><p>I keep coming back to something I&#8217;ve noticed in my own work: every time I&#8217;ve tried to shortcut the integration step &#8212; to skip the &#8220;but does this actually work in context&#8221; question &#8212; I&#8217;ve paid for it later. Every time I&#8217;ve respected it, the thing I built held up.</p><p>The model was never the hard part. It was always the integration.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/the-model-was-never-the-hard-part?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.startupsandcode.com/p/the-model-was-never-the-hard-part?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p>Go build something amazing &#8212; and make sure it plugs in.</p><div><hr></div><p><em>John Mann is a software engineering executive, founder of Startups and Code LLC, and the builder behind Cash Critters. He writes weekly about AI, startups, and tech leadership for people who are actually building things.</em></p>]]></content:encoded></item><item><title><![CDATA[I Burned Down My Infra and Rebuilt It in a Day ]]></title><description><![CDATA[Too many platforms, too much chaos &#8212; here&#8217;s how I consolidated everything and stopped paying for confusion.]]></description><link>https://newsletter.startupsandcode.com/p/i-burned-down-my-infra-and-rebuilt</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/i-burned-down-my-infra-and-rebuilt</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 14 Mar 2026 19:26:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4Ojs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b15515a-82fa-4e5a-8cfc-e0e660637f25_500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ok, me again - Real John :D.  I got inspired today and decided to fix a bunch of things. My older dog is not doing well, so I decided to not go anywhere today and as he sleeps, I play with code.  No pictures or promotion this time, if you get this one, cool.  This one is more for me to reference when I think I found a new tool and I&#8217;ll read this and say STOP, you already have tools that work great. So enjoy the bonus newsletter this week, it is mainly for me but hope you enjoy it too. Six of hearts, if you know you know. - Here you go.</p><p>And future me - Don&#8217;t chase a fun new tool, play with it and see if it solves a real problem, not just a hype-tool that re-invents a wheel you already have.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/i-burned-down-my-infra-and-rebuilt?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.startupsandcode.com/p/i-burned-down-my-infra-and-rebuilt?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p>Today I did something I should have done six months ago. I shut down a product, migrated five apps, collapsed four databases into two, and finally got my entire portfolio living in one place. The whole thing took about 6 hours, cost me almost nothing, and I had Claude riding shotgun the entire way.</p><p>Let me tell you what I killed, what I moved, and why I stopped tolerating the sprawl.</p><div><hr></div><h2>The Graveyard and the Migration List</h2><p>First, the casualty: <strong>PTTrak.com</strong> &#8212; my personal trainer client tracking app &#8212; is dead. It wasn&#8217;t working. I killed it. Sometimes the right move is just to stop.</p><p>Then the migrations. I had apps scattered across three platforms:</p><ul><li><p><strong>Replit</strong>: TheThirdSignal.org, StartupsAndCode.com, and CashCritters.com</p></li><li><p><strong>Abacus.ai</strong>: StatusSage (site monitoring tool)</p></li></ul><p>Five apps. Three platforms. Zero good reason for any of it.</p><p>Replit is great for prototyping &#8212; I&#8217;ve built a lot of fast MVPs there. But it&#8217;s not where production apps should live long-term. Abacus.ai is genuinely impressive for AI-native tooling, but I was using it as a host, not for its strengths. That&#8217;s just waste.</p><div><hr></div><h2>The Database Mess Was Worse</h2><p>Here&#8217;s where it got embarrassing. I was running:</p><ul><li><p><strong>Firebase</strong> (real-time, auth)</p></li><li><p><strong>NeonDB</strong> (Postgres)</p></li><li><p><strong>Base44</strong></p></li><li><p><strong>Supabase</strong> (Postgres)</p></li></ul><p>Four database platforms. For a solo builder. That&#8217;s not a stack &#8212; that&#8217;s a support ticket waiting to happen.</p><p>Supabase is genuinely excellent. If you haven&#8217;t used it, you should. But I already had Neon, and Neon is a serverless Postgres installation that fits my workflow better for most use cases. Firebase stays because real-time and auth are where it actually shines. Everything else got consolidated.</p><p>Two databases. Done.</p><div><hr></div><h2>Why Vercel</h2><p>I didn&#8217;t pick Vercel because it&#8217;s the hottest thing on Twitter. I picked it because I already use it every day at work, which means I&#8217;m not context-switching into an unfamiliar dashboard at 11pm trying to debug a deploy.</p><p>The reasons, plainly:</p><ul><li><p><strong>I know it cold.</strong> Daily usage at Fora means zero learning curve on nights and weekends.</p></li><li><p><strong>GitHub integration is seamless.</strong> Push to main, it deploys. That&#8217;s the whole story.</p></li><li><p><strong>The dashboard is clean.</strong> Analytics are built in. I can see what&#8217;s actually happening without installing anything extra.</p></li><li><p><strong>It handles my stack.</strong> React frontends, serverless functions, environment variables &#8212; it just works.</p></li></ul><p>Familiarity is underrated. The best tool is the one you&#8217;ll actually use correctly under pressure.</p><div><hr></div><h2>Claude Did the Heavy Lifting</h2><p>I&#8217;m not going to pretend I did all of this from memory. Claude handled the migration scripts, the config rewrites, the environment variable restructuring, and talked me through every platform-specific gotcha along the way. I also gave Codex a spin on a couple of pieces &#8212; honestly not bad &#8212; but Claude&#8217;s still my go-to. Better context, better judgment on the messy edge cases.</p><p>This is what AI-assisted development actually looks like in practice. Not magic. Not replacing engineering. Just a really fast pair programmer who doesn&#8217;t complain about scope creep.</p><div><hr></div><h2>The Takeaway</h2><p>Sprawl is a silent killer for solo builders. Every extra platform is another login, another billing cycle, another mental model to maintain. Consolidation isn&#8217;t glamorous &#8212; but a weekend of cleanup buys you months of clarity.</p><p>Shut down what isn&#8217;t working. Move what matters. Pick boring, reliable tools you already understand.</p><p>Now go build something amazing.</p><div><hr></div><p><em>John Mann is the Director of Engineering at Fora Travel and writes Startups and Code &#8212; a newsletter about AI, startups, and building real things. Next issue: TBD.</em></p>]]></content:encoded></item><item><title><![CDATA[The Real AI Opportunity Nobody Is Funding]]></title><description><![CDATA[Everyone's racing to build the next model. The money is in making the ones you already have actually work]]></description><link>https://newsletter.startupsandcode.com/p/the-real-ai-opportunity-nobody-is</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/the-real-ai-opportunity-nobody-is</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 14 Mar 2026 13:14:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!w0GX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey everyone, real John here. This week is based on a few recent conversations I have had with CTOs and recruiters.  Everyone is jumping on the bandwagon of we are an AI first company, and most of them are opening ChatGPT and saying, &#8220;How can I use AI?&#8221;.  Actually, not a bad starting point if you have never used AI in anything (personally, I would recommend Claude, but that&#8217;s me).  Anyway, the real challenge is bridging the gap from having an AI tool to being useful for YOUR work.  It takes time, it is not an overnight process to refine the prompts, create the right skills, but most importantly integrate with your day-to-day tools.  That&#8217;s the missing piece that all these silly YouTube videos are glossing over.  I laugh every time I see &#8220;I 10xed my productivity overnight!&#8221;.  Let&#8217;s say that is kind of real, they 10xed their output but -20x their effectiveness. Creating garbage 10x faster is not improving anything. Ok, I&#8217;ll stop my rant to get into the newsletter this week.  Its about integration with YOUR tools, not using AI.  Five of Diamonds, if you know you know&#8230; </p><p>I want to start a new thing to share something to celebrate each week and shout out to people who made an impact on me, maybe recently, maybe years ago. This week - I want to thank Trevor Carnahan for all the support he has given me on being a great manager. I&#8217;ll never forget ShareBuilder and being one of my first experiences after Microsoft, you showed me how much fun I could have with an amazing manager and a great team.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.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://newsletter.startupsandcode.com/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w0GX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w0GX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!w0GX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!w0GX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!w0GX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w0GX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a788aac4-ff8b-4249-973f-4613133e27e8_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;:960807,&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://startupsandcode.substack.com/i/190891810?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!w0GX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!w0GX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!w0GX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!w0GX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa788aac4-ff8b-4249-973f-4613133e27e8_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">generated by ChatGPT</figcaption></figure></div><p>I've been in enough boardrooms and engineering standups to recognize a pattern when I see one. And right now, the pattern is this: companies are drowning in AI tools and starving for results.</p><p>Last week I was talking to a CTO friend of mine &#8212; sharp guy, serious company &#8212; and he told me they're running four different AI tools across three teams, have a couple of pilots "almost ready for production," and exactly zero workflows that have been fundamentally changed by any of it. Sound familiar?</p><p>This isn't a one-off. Deloitte's State of AI 2026 report just dropped some numbers that should make every builder sit up straight. Access to AI tools is up 50% year over year &#8212; 60% of employees now have access to something. But fewer than 60% of those employees actually use the tools regularly. And only 25% of organizations have converted even 40% of their AI pilots into production systems.</p><p>Read that again. The tools are there. The budget is there. The access is there. And still &#8212; most of it is sitting in a staging environment, waiting for someone to figure out the last mile.</p><p>That last mile? That's the opportunity.</p><h2>The Funding Gap Nobody Talks About</h2><p>While everyone argues over which foundation model is best, OpenAI raises $110 billion, and Yann LeCun spins up a $1B seed-stage company before shipping a single line of production code &#8212; the real problem in enterprise AI isn't model quality.</p><p>It's integration.</p><p>Nearly 60% of AI leaders say legacy integration is their primary adoption challenge. Not the model. Not the cost. Not the regulation. Getting the AI to talk to the systems that already exist. That problem is unsexy, unglamorous, and absolutely everywhere.</p><p>This is where I've spent the last several years of my consulting work. Not building the next GPT competitor. Building the bridge between what a company already has and what they're trying to do with AI. Connecting the Jira tickets to the pull requests. Getting the agentic pipeline to actually fire in the right order. Making the output of one AI tool the input of another &#8212; reliably, in production, every time.</p><p>That work is hard. And companies will pay real money for it.</p><h2>Here's How to Go Get It</h2><p>This is practical, so let me give you actual steps.</p><p><strong>1. Find the pilot graveyard.</strong></p><p>Every company that's been "investing in AI" for the last 18 months has them &#8212; tools that got bought, demos that impressed the C-suite, proofs of concept that never made it to production. Ask a CTO or VP of Engineering where their AI pilots went to die. That answer is your roadmap.</p><p><strong>2. Pick one workflow, not one tool.</strong></p><p>The mistake most people make is going in and saying "let me help you use Claude" or "let me build you an AI chatbot." Wrong frame. Go in and say: "What does your team do every week that takes forever and shouldn't?" Pick one workflow. Make AI actually do it. Ship it.</p><p><strong>3. Integration over innovation.</strong></p><p>You don't need to build anything novel. You need to connect things that already exist. A language model that reads a Slack message and creates a formatted ticket. A pipeline that takes a customer email and routes it with context to the right team. A weekly report that writes itself. None of this is rocket science. All of it is incredibly valuable.</p><p><strong>4. Governance is the new moat.</strong></p><p>Here's what the Deloitte data also shows: only 21% of companies have proper governance in place for their AI agents. That means security, audit trails, model reliability, access controls. If you can come in and not just build the thing but also make it *safe to run in production*, you are in a completely different conversation than the consultant who just builds demos.</p><p><strong>5. Charge for outcomes, not hours.</strong></p><p>You reduced their weekly report from 4 hours to 20 minutes? That's value. Price it that way. The companies that are serious about AI adoption aren't nickel-and-diming integration work &#8212; they're desperate for someone who can actually close the loop from pilot to production.</p><h2>The Builders Who Win in 2026</h2><p>The race to build the biggest model is already over for most of us. That game requires billions of dollars and a PhD army. But the race to make AI actually work inside real companies? That race is just starting, and it's wide open.</p><p>I built Cash Critters on $50 a month. Not because I didn't want more resources &#8212; but because constraints forced me to make every decision count. The same principle applies here. You don't need a massive team or a venture-backed runway to solve an integration problem. You need to understand the workflow, pick the right tools, and ship something that actually runs.</p><p>The opportunity isn't in the models. It's in the mile between the demo and the deployment.</p><p>Go close that gap. Go build something amazing.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/the-real-ai-opportunity-nobody-is?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.startupsandcode.com/p/the-real-ai-opportunity-nobody-is?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>---</p><p><em>John Mann is the founder of Startups and Code LLC and writes weekly about AI, startups, and tech leadership. Have an integration problem you're trying </em>to solve? Reply and let's talk.</p>]]></content:encoded></item><item><title><![CDATA[AI Is Making Us Faster. But Is It Making Us Better? ]]></title><description><![CDATA[What gets rewarded gets amplified &#8212; and right now, we&#8217;re rewarding fear.]]></description><link>https://newsletter.startupsandcode.com/p/ai-is-making-us-faster-but-is-it</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/ai-is-making-us-faster-but-is-it</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 07 Mar 2026 15:31:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fYsj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Real John here - I had very busy week doing a lot of AI projects and wanted to talk about some of the learnings and some of the headlines I keep seeing. This week is a little different but very important. I am hoping that you can pause in your life, get some silence to think about what is truly important to you and the world, and how that affects what you are building with AI.</p><p>A little side story, I went to a team dinner this week and we took all of our phones and locked them up. Not in our pockets, not face down on the table, but in a box.  What happened? a great deal of connection, communication, and a little card magic. Such an amazing experience. I didn&#8217;t know what time it was, if anything was happening outside of that dinner, and for a moment everyone was laughing, sharing, and having an amazing experience. Highly recommend to have that as a rule for every meal. </p><p>Oh, Ace of Hearts - if you know you know. Thanks again for giving me a little of your time, I do appreciate you sharing your precious commodity with me. Let&#8217;s get into it. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.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://newsletter.startupsandcode.com/subscribe?"><span>Subscribe now</span></a></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fYsj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fYsj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp 424w, https://substackcdn.com/image/fetch/$s_!fYsj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp 848w, https://substackcdn.com/image/fetch/$s_!fYsj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp 1272w, https://substackcdn.com/image/fetch/$s_!fYsj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fYsj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp" width="1248" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1248,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:73132,&quot;alt&quot;:&quot;Man doing many things and a robot calmly looking at a checklist&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://startupsandcode.substack.com/i/190203952?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Man doing many things and a robot calmly looking at a checklist" title="Man doing many things and a robot calmly looking at a checklist" srcset="https://substackcdn.com/image/fetch/$s_!fYsj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp 424w, https://substackcdn.com/image/fetch/$s_!fYsj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp 848w, https://substackcdn.com/image/fetch/$s_!fYsj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp 1272w, https://substackcdn.com/image/fetch/$s_!fYsj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21ef36d7-994a-4e58-928f-30c1ef300176_1248x832.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">made with abacus.ai</figcaption></figure></div><div><hr></div><p>Block just laid off nearly half its staff. Not because the company was struggling. Not because revenue was down. Because they adopted AI tools and said, plainly, that they no longer needed those workers. The stock jumped 15%.</p><p>Let that sink in for a second. (No Elon reference, but funny if you know)</p><p>The market celebrated. Investors cheered. The message sent to every boardroom in America was loud and clear: <strong>cut humans, get rewarded.</strong></p><p>That triggered something in me. Not panic &#8212; I&#8217;m not here to write doom-and-gloom. I&#8217;ve been building software for 30+ years and I&#8217;ve watched automation reshape the industry in waves. This isn&#8217;t new. What <em>is</em> new is the speed. And the part that&#8217;s keeping me up at night isn&#8217;t the layoffs themselves. It&#8217;s what we&#8217;re choosing to amplify.</p><div><hr></div><h2>What Gets Rewarded Gets Repeated</h2><p>I was watching a Chase Hughes video recently and he said something that stopped me cold:</p><p><em>&#8220;Whatever gets rewarded gets repeated. Whatever gets ignored disappears.&#8221;</em></p><p>Block cut half its workforce and the stock surged 15%. That&#8217;s a reward signal. Every company watching just got the same memo. Not &#8220;use AI to build better products.&#8221; Not &#8220;use AI to serve your customers in ways you couldn&#8217;t before.&#8221; The memo was: <strong>use AI to cut, and Wall Street will cheer.</strong></p><p>Now think about your content feed. Think about what goes viral. Think about what gets the most clicks, the most engagement, the most shares.</p><p>Fear. Outrage. Doom.</p><p>The same behavioral conditioning that drives corporate decisions drives your feed. What gets engagement gets amplified. What gets ignored disappears. So people simplify themselves, exaggerate themselves, perform urgency &#8212; because that&#8217;s what the system rewards.</p><p>And now AI is producing that content at industrial scale.</p><div><hr></div><h2>Information vs. Content</h2><p>Hughes drew a distinction in that same video that I think is the most underrated idea in tech right now:</p><p><em>&#8220;Information answers questions and content stimulates responses.&#8221;</em></p><p>He went further: most of what fills your feed isn&#8217;t meant to be important. It&#8217;s designed to occupy your attention, trigger emotion, maintain engagement &#8212; and keep silence out of your life entirely. Because as he put it, <em>&#8220;silence is where thinking happens.&#8221;</em></p><p>That one hit me. Because that&#8217;s exactly what fear-based AI headlines do. The Block layoff story, the &#8220;AI will destroy your job&#8221; posts, the doom forecasts &#8212; you feel engaged, you feel aware, you feel like you&#8217;re staying ahead of something. But as Hughes put it, <em>nothing ever resolves.</em> Because resolution was never the point. <strong>Engagement was.</strong></p><p>AI is making it cheaper and faster to produce both information and content. The problem is fear-based content converts better. It gets more clicks, more shares, more followers. The algorithm rewards it. And we now have tools that can generate it at industrial scale, around the clock, forever.</p><p>So the question I keep asking myself is this: <strong>are we building a faster world, or a better one?</strong></p><div><hr></div><h2>We Have a Choice in What We Amplify</h2><p>Here&#8217;s where I&#8217;ll push back on the doom crowd: this is not inevitable.</p><p>I built Cash Critters &#8212; a financial literacy app for kids &#8212; for about $50 a month using AI tools. No VC funding, no team of 20, no press release. Just a real problem I wanted to solve and the tools to solve it. That&#8217;s what AI amplifying <em>joy</em> looks like. Amplifying creativity. Amplifying the scrappy builder who would have been priced out of the game five years ago.</p><p>I also just shipped a coding agent at work that takes a Jira ticket all the way to a pull request &#8212; GitHub Actions, Jira automation, a carefully crafted Claude prompt. Fully automated. Not to replace anyone. To free my team up to do the work that actually requires a human brain.</p><p>That&#8217;s a choice. The same tools that let a company cut half its workforce can let a solo developer build something that genuinely helps people. The technology is neutral. <strong>We are not.</strong></p><p>Every piece of content you publish, every decision you make about what to build, every time you choose fear over value &#8212; that&#8217;s a vote. What are you voting for?</p><div><hr></div><h2>So What Do We Actually Do?</h2><p>Start with the question Chase Hughes doesn&#8217;t ask explicitly, but his whole work points toward: <strong>what are you reinforcing?</strong></p><p>When you share that fear-based AI headline, you&#8217;re reinforcing it. When you build a product designed to exploit anxiety instead of solve a problem, you&#8217;re reinforcing it. When you celebrate a company for cutting humans and calling it &#8220;efficiency,&#8221; you&#8217;re reinforcing it.</p><p>Here&#8217;s the counter-move:</p><ol><li><p><strong>Build things that help people, not just things that capture them.</strong> There&#8217;s a difference between a product that makes someone&#8217;s life better and a product designed to be addictive. Know which one you&#8217;re making.</p></li><li><p><strong>Call out the distinction between information and content</strong> &#8212; in what you consume, what you share, and what you create. One builds people up. The other just burns their time.</p></li><li><p><strong>Reward the builders who are doing it right.</strong> Subscribe to the newsletters that give you something real. Share the posts that make you think, not just react. The algorithm responds to what you amplify.</p></li><li><p><strong>Ask &#8220;better&#8221; before &#8220;faster.&#8221;</strong> Before you deploy that AI feature, before you automate that workflow &#8212; is this making something genuinely better for a human being? Or is it just cheaper and faster?</p></li></ol><div><hr></div><p>AI isn&#8217;t going to decide whether the next decade is defined by fear or by genuine human progress. We are. The tools are in our hands. The question is what we&#8217;re going to build with them.</p><p>Faster is easy. Better takes intention.</p><p>Go build something amazing &#8212; but make it worth building.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/ai-is-making-us-faster-but-is-it?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.startupsandcode.com/p/ai-is-making-us-faster-but-is-it?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p><em>John Mann is a software engineering executive, CTO, and founder of Startups and Code LLC. He writes weekly about AI, startups, and tech leadership &#8212; for builders who care about doing it right.</em></p>]]></content:encoded></item><item><title><![CDATA[Agents Are Here. Are You Ready to Trust Them?]]></title><description><![CDATA[Stop asking if AI agents work. Start asking if YOU know how to use them.]]></description><link>https://newsletter.startupsandcode.com/p/agents-are-here-are-you-ready-to</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/agents-are-here-are-you-ready-to</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 28 Feb 2026 16:46:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gCFP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gCFP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gCFP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!gCFP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!gCFP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!gCFP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gCFP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3bd8518-276d-4331-864f-3d8e3b7858f1_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;:2523362,&quot;alt&quot;:&quot;Robot on laptop and a human looking confused/scared watching him work.&quot;,&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://startupsandcode.substack.com/i/189476423?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Robot on laptop and a human looking confused/scared watching him work." title="Robot on laptop and a human looking confused/scared watching him work." srcset="https://substackcdn.com/image/fetch/$s_!gCFP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!gCFP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!gCFP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!gCFP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3bd8518-276d-4331-864f-3d8e3b7858f1_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Made with ChatGPT</figcaption></figure></div><div><hr></div><p>Real John here - My company is doing an AI week next week, and I&#8217;m VERY excited about it (side note we are hiring if you are looking!).  Claude updated its connectors this week.  Abacus has a DeepAgent that is winning right now (using Gemini). And OpenClaw is creating memes about how amazing it is and most of it is just hype.  Anyway, I&#8217;m going to talk a little about agents and all the approaches I&#8217;ve seen.  The blind trust is kind of funny to me.  Here&#8217;s a quick story of an example from last week&#8230; Here&#8217;s how the conversation went:<br><br>Coworker: &#8220;I made the API key read-only, so it can&#8217;t post or delete&#8221;<br>Me: &#8220;Did you verify that it can&#8217;t post?&#8221;<br>Coworker: &#8220;No, it is read-only&#8221;<br>Me (typing into claude): &#8220;Use this API key to post a message on the service&#8221;<br>Coworker: &#8220;Oh wow, it worked&#8221;<br>Me (typing into claude): &#8220;Ok, delete that message you just wrote&#8221;<br>Coworker: &#8220;Oh NO, that worked too!&#8221;<br>Me: &#8220;Pretty cool though right?&#8221;</p><p>Ok, that was a fun moment, and API key deleted, removed, and cleaned.  <br>Let&#8217;s get into this week&#8217;s newsletter&#8230; Oh, almost forgot 5 of clubs - if you know you know. &#128522;5 of&#9827;&#65039; (learning about emoji typing, but not a fan of a primary form of communication using it, but you know me by now right?)</p><p>Ok, let&#8217;s go&#8230;.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.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://newsletter.startupsandcode.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>I&#8217;ve been in software for over 30 years. I&#8217;ve seen a lot of &#8220;this changes everything&#8221; moments. The internet. Mobile. The cloud. Microservices (ugh). Every single one of them followed the same pattern: massive hype, a crash back to reality, and then &#8212; quietly, without the fanfare &#8212; the technology just became part of how we work.</p><p>AI agents are at that inflection point right now.</p><p>And most people are either blindly trusting them or completely refusing to. Both are wrong.</p><div><hr></div><h2><strong>What Just Happened (Pay Attention)</strong></h2><p>This week, Anthropic launched enterprise plugins that let Claude operate <em>inside</em> your tools &#8212; Excel, PowerPoint, Gmail, Google Drive &#8212; and complete multi-step tasks autonomously. Not suggest. Not draft. <strong>Do.</strong></p><p>Meta embedded their Manus AI agent directly into Ads Manager. Not as a feature you toggle on. As part of the core workflow.</p><p>MCP &#8212; Anthropic&#8217;s Model Context Protocol, basically a universal adapter for AI agents to talk to external tools &#8212; just got donated to the Linux Foundation and is quickly becoming the industry standard. OpenAI adopted it. Google adopted it. That&#8217;s not nothing. That&#8217;s the moment a protocol goes from &#8220;interesting&#8221; to &#8220;inevitable.&#8221;</p><p>This isn&#8217;t a demo anymore. Agents are in production. They&#8217;re in your tools. They&#8217;re executing on your behalf <em>right now</em> whether you&#8217;ve thought about it or not.</p><p>So let me ask you the uncomfortable question:</p><p><strong>Do you actually know what they&#8217;re doing?</strong></p><div><hr></div><h2><strong>The Trust Problem Nobody Wants to Talk About</strong></h2><p>Here&#8217;s what I&#8217;ve learned building with AI &#8212; both in my consulting work and building things like Cash Critters &#8212; AI is exceptional at execution speed and absolutely terrible at knowing when to stop and ask a clarifying question.</p><p>That&#8217;s fine when you&#8217;re generating a first draft or summarizing a document. That&#8217;s a <em>real problem</em> when an agent is firing off emails, updating your CRM, or making changes to a live system.</p><p>The mistake most people are making right now is treating agents like smart employees on day one. You wouldn&#8217;t hand a new hire the keys to production and say &#8220;figure it out.&#8221; You&#8217;d give them guardrails. You&#8217;d define the scope. You&#8217;d check their work before it ships.</p><p>Same thing applies here.</p><p>I&#8217;m not anti-agent &#8212; not even close. I use them. I&#8217;m building with them. But I&#8217;ve also watched projects get sideways because someone handed an agent a vague prompt and a set of permissions and then acted surprised when it went off-script.</p><p><strong>The agent didn&#8217;t fail. The human failed to define the problem.</strong></p><p>Sound familiar? It should. It&#8217;s the same reason most software projects fail. It&#8217;s not the technology.</p><div><hr></div><h2><strong>So What Do You Actually Do?</strong></h2><p>A few things I&#8217;ve learned the hard way:</p><p><strong>Scope it tight before you let it run.</strong> Agents excel when the task is well-defined with clear inputs and outputs. &#8220;Summarize these 10 emails and draft a reply for each one&#8221; &#8212; great. &#8220;Handle my inbox&#8221; &#8212; disaster waiting to happen.</p><p><strong>Build in a human checkpoint.</strong> For anything that touches external systems &#8212; emails, database writes, API calls &#8212; make the agent <em>propose</em> the action first. You approve. Then it executes. This isn&#8217;t overhead. This is sanity.</p><p><strong>Start with read-only.</strong> Before you give an agent write permissions anywhere, spend a week watching what it <em>would</em> do if it could. You&#8217;ll catch the weird edge cases before they become expensive mistakes.</p><p><strong>Log everything.</strong> I mean everything. What prompt triggered it, what it did, what the result was. When something goes wrong &#8212; and it will &#8212; you need that audit trail.</p><div><hr></div><h2><strong>The Bigger Picture</strong></h2><p>The industry is finally sobering up. The &#8220;throw money at it and see what happens&#8221; phase of AI is giving way to something more interesting &#8212; actually making it useful.</p><p>The winners in 2026 aren&#8217;t going to be the companies with the biggest models. The models are becoming a commodity. IBM&#8217;s Chief Architect literally said &#8220;it&#8217;s a buyer&#8217;s market&#8221; this week.</p><p>The winners are going to be the builders who figure out the orchestration. The workflows. The human-in-the-loop checkpoints that keep the whole thing from going sideways.</p><p>That&#8217;s not glamorous. That&#8217;s not the kind of thing that gets you a TechCrunch headline. But it&#8217;s execution. And as I&#8217;ve been saying for years &#8212; execution beats everything.</p><p>Agents are here. Use them. Constrain them. Trust them incrementally.</p><p>And go build something amazing.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/agents-are-here-are-you-ready-to?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.startupsandcode.com/p/agents-are-here-are-you-ready-to?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p><em>John Mann is a software engineer, tech leader, and founder of Startups and Code &#8212; a weekly newsletter on AI, startups, and execution for people who actually build things.</em></p><p><em>[Next issue: The tools I&#8217;m actually using to build with agents in 2026 &#8212; no fluff, just what ships.]</em></p>]]></content:encoded></item><item><title><![CDATA[I’ve Been a CTO. I Still Don’t Always Know What I’m Doing.]]></title><description><![CDATA[Leading with authenticity isn&#8217;t a weakness &#8212; it&#8217;s the only thing that actually works.]]></description><link>https://newsletter.startupsandcode.com/p/ive-been-a-cto-i-still-dont-always</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/ive-been-a-cto-i-still-dont-always</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 21 Feb 2026 01:54:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!en-Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Real John here&#8230; This week, I&#8217;m getting back into leadership/management and a little about my sobriety journey. A little personal this week, and less functional.  I hope this opens your mind to what you need to look at and realize you can be surrounded by people and still feel lost and alone. Its ok to feel imperfect but remember we all are perfect versions of ourselves.   Ten of Hearts this week, if you know you know.  </p><p>Side note: I learned a REALLY cool trick this week, and if you work with me, ask me about it. I need to practice, and it is so cool that I know how its done and it still fools me.  Ok, sorry, had to share that&#8230; on to the newsletter.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!en-Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!en-Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!en-Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!en-Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!en-Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!en-Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg" width="1344" height="896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:896,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:782702,&quot;alt&quot;:&quot;man standing in front of chalkboard in boardroom trying to look confident.&quot;,&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://startupsandcode.substack.com/i/188677008?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="man standing in front of chalkboard in boardroom trying to look confident." title="man standing in front of chalkboard in boardroom trying to look confident." srcset="https://substackcdn.com/image/fetch/$s_!en-Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!en-Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!en-Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!en-Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe107da92-a4fe-4538-94ba-7c80def4323a_1344x896.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">made with Leonardo.ai</figcaption></figure></div><div><hr></div><p>Let me tell you something that took me decades to say out loud.</p><p>I&#8217;ve led engineering teams at multiple companies. I&#8217;ve been VP of Engineering. I&#8217;ve carried the CTO title. I&#8217;ve sat in board rooms, made million-dollar infrastructure decisions, and presented roadmaps to boards who were betting real money on my judgment.</p><p>And there have been moments &#8212; more than I&#8217;d like to admit &#8212; where I was sitting in that room thinking: <em>I have no idea if this is the right call.</em></p><p>That&#8217;s imposter syndrome. And if you think it goes away when you level up, I&#8217;m here to tell you it doesn&#8217;t. It just gets quieter. You just get better at managing it.</p><p>Or in my case, for a long time, I got better at drowning it out.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.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://newsletter.startupsandcode.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>The Lie We All Agreed To Tell</h2><p>There&#8217;s this unspoken contract in tech leadership. You project confidence. You speak in certainties. You never let them see you sweat. Because the moment you admit you don&#8217;t know, someone in the room will decide you shouldn&#8217;t be leading.</p><p>So we all walk around performing expertise like it&#8217;s a job requirement.</p><p>And here&#8217;s the thing &#8212; it works. Until it doesn&#8217;t.</p><p>I&#8217;ve watched brilliant leaders make catastrophically bad decisions because they were too committed to their own narrative to ask a simple question: <em>&#8220;Am I sure about this?&#8221;</em> I&#8217;ve seen teams lose trust in their managers not because the manager made a mistake, but because the manager pretended they hadn&#8217;t. Everyone in the room already knew.</p><p>The performance of certainty costs more than the admission of uncertainty ever will.</p><div><hr></div><h2>Getting Sober Forced Me To Meet Myself</h2><p>I&#8217;m sober. I don&#8217;t talk about it enough, but I&#8217;m talking about it today because it&#8217;s directly connected to everything I&#8217;m about to say about authentic leadership.</p><p>When I got sober, I couldn&#8217;t perform anymore. Not because I didn&#8217;t want to &#8212; but because sobriety has a way of stripping everything down to what&#8217;s actually true. The armor comes off. The noise goes quiet. And what&#8217;s left is just you, in the mirror, with no way to avoid the conversation.</p><p>That&#8217;s terrifying. It&#8217;s also the most clarifying thing that&#8217;s ever happened to me.</p><p>For a long time, I had been managing imposter syndrome the way a lot of high-performers do &#8212; by staying busy, staying loud, and staying just comfortable enough to not have to sit with the doubt. Getting sober took all of that away. Suddenly I had to actually face the question: <em>do I believe in myself, or have I just been outrunning the question?</em></p><p>The answer, honestly, was somewhere in the middle. And that was okay. Because for the first time, I was finally dealing with what was real instead of what I was pretending.</p><p>What I discovered on the other side of that process is that I&#8217;m actually pretty good at what I do. Not because I have all the answers &#8212; but because I know how to ask the right questions, I know how to build great teams, and I&#8217;m persistent enough to keep going when things get hard. That&#8217;s not nothing. That&#8217;s actually the whole job.</p><p>But I couldn&#8217;t see any of that clearly until I stopped running from myself.</p><div><hr></div><h2>What Actually Happened When I Led Honestly</h2><p>When I was leading the engineering team at Obsess, I walked in knowing immersive retail was a new space for me. I didn&#8217;t pretend otherwise. I told my team: <em>&#8220;Here&#8217;s what I know. Here&#8217;s what I&#8217;m figuring out. Here&#8217;s where I need your help.&#8221;</em></p><p>We hit over 90% retention on that engineering team for more than two years. In an industry where turnover is treated as a cost of doing business, that number is almost offensive.</p><p>I don&#8217;t think that happened despite my honesty. I think it happened because of it.</p><p>When people know their leader isn&#8217;t going to fake it, they stop faking it too. And then something remarkable happens &#8212; actual problems get surfaced early. Actual solutions come from the people closest to the work. The team stops managing up and starts building forward.</p><p>Sobriety taught me that people can feel authenticity.  They can also feel the absence of it.  You can&#8217;t fake authenticity, at least not for long.  Your team knows when you&#8217;re performing. They&#8217;ve always known. The question is whether you&#8217;re going to make them pretend along with you, or invite them into something real.</p><div><hr></div><h2>Imposter Syndrome Is Lying To You About What Leadership Means</h2><p>Here&#8217;s the reframe that changed everything for me: imposter syndrome assumes that &#8220;real&#8221; leaders have all the answers. But that&#8217;s not leadership &#8212; that&#8217;s just being a know-it-all with a title.</p><p>Real leadership is knowing <em>how</em> to get to the answer. It&#8217;s being persistent enough to keep asking questions until the problem is understood. It&#8217;s being self-aware enough to hire people who are smarter than you in the areas where you&#8217;re weak.</p><p>I am not a graphic designer, shout out to Alyssa E. who IS one. I&#8217;ve never pretended to be. I&#8217;ve always hired for that. I&#8217;m a problem-solver who can write code in more languages than most people have heard of, and I know how to get a product shipped. That&#8217;s my lane. I try to stay in it. And I surround myself with people who can cover everything else.</p><p>That&#8217;s not weakness. That&#8217;s the actual job.</p><div><hr></div><h2>The Authenticity Tax</h2><p>I won&#8217;t pretend leading authentically doesn&#8217;t cost you something. It does.</p><p>Some people will mistake vulnerability for incompetence. Some rooms will read honesty as hesitation. There will be moments where the polished, confident answer would have served you better politically &#8212; even if it was empty.</p><p>But here&#8217;s what I&#8217;ve learned: the people who punish you for being real are not the people you want to build with anyway. The best engineers, the best collaborators, the best humans &#8212; they can smell performance a mile away. They&#8217;re waiting for someone to just be honest with them.</p><p>When you show up as yourself, you attract people who want to work with <em>you</em>. Not the version of you that&#8217;s been optimized for a room.</p><p>Getting sober made that non-negotiable for me. I don&#8217;t have a performance version anymore. This is just who I am. And it turns out, that&#8217;s more than enough.</p><p>I&#8217;ve definitely been separated from friends who didn&#8217;t like my authentic-self mainly because they were not ready to face their own truths.  That is ok.  They are on their journey and our time together has ended.</p><p>I am now surrounded by people who support me, encourage me, and laugh with me.  That means more and working now is what I&#8217;ve dreamed of. I&#8217;m helping people get better, solving technical challenges, and meeting so many new people. That is what it is about for me at this point in my life.</p><div><hr></div><h2>So What Do You Actually Do With It?</h2><p>Here&#8217;s what&#8217;s worked for me when imposter syndrome shows up &#8212; and it still shows up:</p><p><strong>Name it.</strong> Not publicly in the middle of a board meeting, but to yourself. &#8220;I&#8217;m feeling like a fraud right now.&#8221; Just labeling it takes some of its power away.</p><p><strong>Separate feeling from fact.</strong> Feeling like you don&#8217;t know what you&#8217;re doing is not the same as not knowing what you&#8217;re doing. Your track record is real. Your experience is real. The feeling is noise.</p><p><strong>Ask the question.</strong> Whatever question you&#8217;re afraid to ask because it&#8217;ll make you look like you don&#8217;t know &#8212; ask it. Ninety percent of the time, three other people in the room had the same question and were too proud to raise their hand.</p><p><strong>Build in public.</strong> Share what you&#8217;re figuring out &#8212; in a newsletter, in a team all-hands, in a conversation. When you do, you give other people permission to do the same. That&#8217;s how trust gets built at scale.</p><p><strong>Face yourself.</strong> However that looks for you. Therapy, sobriety, journaling, a long walk, an honest conversation with someone you trust. The imposter voice gets loudest in the dark. Bring it into the light and it loses its grip.</p><blockquote><p>I want to say that again: The imposter voice gets loudest in the dark. Bring it into the light and it loses its grip.</p></blockquote><div><hr></div><h2>The Bottom Line</h2><p>You don&#8217;t have to have all the answers to deserve your seat at the table. You just have to be honest about which ones you&#8217;re still working on.</p><p>The most dangerous leaders I&#8217;ve met aren&#8217;t the ones who don&#8217;t know. They&#8217;re the ones who don&#8217;t know and won&#8217;t admit it.</p><p>Don&#8217;t be that person. Be the one who creates a room where the truth can breathe.</p><p>Getting sober taught me that I can do hard things. That I can face uncomfortable truths and come out the other side stronger. That the version of me that stopped running from himself is a far better leader than the one who was always performing.</p><p>Your team will build better things because of your honesty. It may fall apart first, but the room you are making is the one you want to be in. I promise.</p><div><hr></div><p><em>Now go build something amazing &#8212; and stop pretending you don&#8217;t know what you are doing, you know exactly how to build it.</em></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/ive-been-a-cto-i-still-dont-always?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Startups And Code's Substack! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/ive-been-a-cto-i-still-dont-always?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.startupsandcode.com/p/ive-been-a-cto-i-still-dont-always?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><p><em>John Mann is the founder of Startups and Code, a former CTO, and a lifelong developer who&#8217;s been writing code since he was 9 years old. He writes weekly about AI, startups, and tech leadership.</em></p>]]></content:encoded></item><item><title><![CDATA[Build a Multi-Tool AI Agent in Python]]></title><description><![CDATA[Three tools, one agent loop, zero external APIs &#8212; and a result that actually matters.]]></description><link>https://newsletter.startupsandcode.com/p/build-a-multi-tool-ai-agent-in-python</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/build-a-multi-tool-ai-agent-in-python</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 14 Feb 2026 16:13:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8psm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey All,  Real John Here, this week, I&#8217;m doing something a little different. I&#8217;m showing you actual code.  Not theory, but real working code. I&#8217;ve read so many posts, watched so many videos, and they all talk about&#8230; &#8220;theory&#8221;&#8230; or the things you CAN do with AI.  My own newsletter was part of that.. so let&#8217;s get you actually building something. So the only thing you need is an Anthropic API key.<br><br>8 of Hearts (if you know you know)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8psm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8psm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8psm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8psm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8psm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8psm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg" width="1344" height="896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:896,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Robot working on a laptop in a small office, dimly lit.&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="Robot working on a laptop in a small office, dimly lit." title="Robot working on a laptop in a small office, dimly lit." srcset="https://substackcdn.com/image/fetch/$s_!8psm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8psm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8psm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8psm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d479930-5b53-409f-9e17-5b1077d2da88_1344x896.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Generated with Leonardo.</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.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://newsletter.startupsandcode.com/subscribe?"><span>Subscribe now</span></a></p><p>Everyone is talking about AI agents. Every conference has a panel about them. Every VC deck has the word &#8220;agentic&#8221; in it somewhere. But very few people actually show you how to build one from scratch.</p><p>Today we&#8217;re fixing that.</p><p>By the end of this newsletter you&#8217;ll have a working AI agent running on your machine &#8212; one that uses three tools, chains them together automatically, and produces a real business output. Not a demo. Not a screenshot. Code that runs.</p><p>Let&#8217;s go.</p><div><hr></div><h2>First &#8212; what actually IS an agent?</h2><p>Here&#8217;s the simplest explanation I&#8217;ve got.</p><p>A regular AI call is a question and an answer. You ask, it responds. Done. One round trip.</p><p>An agent is different. An agent can <em>do things</em> in between the question and the answer. It can look something up, run a calculation, call an API, check a file &#8212; and then use the result to keep going. It&#8217;s the difference between asking a colleague a question and asking them to go figure something out and come back with an answer.</p><p>That loop &#8212; ask, act, observe, repeat &#8212; is the core pattern behind every agent you&#8217;ve heard about. AutoGPT, Devin, whatever the hot thing is this week. It&#8217;s all variations of the same idea.</p><p>Now let&#8217;s build one.</p><div><hr></div><h2>Step 1: Get your API key</h2><p>You&#8217;ll need an Anthropic API key. Here&#8217;s how to get one:</p><ol><li><p>Go to <strong>console.anthropic.com</strong> and create an account (it&#8217;s free to sign up)</p></li><li><p>Once logged in, click <strong>API Keys</strong> in the left sidebar</p></li><li><p>Click <strong>Create Key</strong>, give it a name, and copy it somewhere safe &#8212; you won&#8217;t see it again</p></li><li><p>New accounts get free credits to start. Enough to run this tutorial many times over.</p></li></ol><p>Once you have your key, set it as an environment variable so you&#8217;re not hardcoding it anywhere:</p><pre><code><code># Mac/Linux
export ANTHROPIC_API_KEY="sk-ant-your-key-here"

# Windows (PowerShell)
$env:ANTHROPIC_API_KEY="sk-ant-your-key-here"
</code></code></pre><p>Then install the SDK:</p><pre><code><code>pip install anthropic
</code></code></pre><p>That&#8217;s the entire setup. No Docker, no cloud account, no database. Just Python and an API key.</p><div><hr></div><h2>Step 2: Understand the three-part pattern</h2><p>Before we write the agent, here&#8217;s the mental model you need:</p><p><strong>Tools</strong> are plain Python functions. Claude never calls them directly &#8212; it <em>requests</em> them by name with arguments, and you run the actual function yourself and feed the result back.</p><p><strong>Descriptions</strong> are how Claude knows what each tool does. The better you describe a tool, the smarter Claude uses it. This is where most beginners leave performance on the table.</p><p><strong>The loop</strong> keeps running until Claude says it&#8217;s done. Each iteration: Claude decides what to do next, you execute it, you report back. Repeat.</p><p>That&#8217;s it. Now let&#8217;s see it in code.</p><div><hr></div><h2>Step 3: The scenario</h2><p>We&#8217;re building a product analytics agent for a small SaaS business. It can pull product data, run calculations, and generate a formatted report.</p><p>You&#8217;ll ask it one natural language question &#8212; something like <em>&#8220;Which plan has the worst unit economics, and what would a 15% price increase do to Pro Plan revenue?&#8221;</em> &#8212; and it will figure out the sequence of steps to answer it.</p><div><hr></div><h2>Step 4: The full code</h2><p>Create a file called <code>agent.py</code> and paste this in:</p><pre><code><code>import anthropic
import json

client = anthropic.Anthropic()  # Reads ANTHROPIC_API_KEY from environment

# ------------------------------------
# Our fake "database"
# ------------------------------------
PRODUCT_DATA = {
    "basic_plan": {
        "name": "Basic Plan",
        "monthly_subscribers": 1240,
        "price": 9.99,
        "churn_rate": 0.08,
        "cac": 42.00
    },
    "pro_plan": {
        "name": "Pro Plan",
        "monthly_subscribers": 380,
        "price": 29.99,
        "churn_rate": 0.04,
        "cac": 95.00
    },
    "enterprise_plan": {
        "name": "Enterprise Plan",
        "monthly_subscribers": 47,
        "price": 199.99,
        "churn_rate": 0.02,
        "cac": 420.00
    }
}

# ------------------------------------
# Tool 1: Pull product data
# ------------------------------------
def get_product_data(product_id: str) -&gt; str:
    if product_id == "all":
        return json.dumps(PRODUCT_DATA)
    if product_id in PRODUCT_DATA:
        return json.dumps(PRODUCT_DATA[product_id])
    return json.dumps({"error": f"Product '{product_id}' not found"})

# ------------------------------------
# Tool 2: Run a math calculation
# ------------------------------------
def calculate_metrics(expression: str) -&gt; str:
    try:
        result = eval(expression, {"__builtins__": {}}, {})
        return str(round(float(result), 2))
    except Exception as e:
        return f"Calculation error: {e}"

# ------------------------------------
# Tool 3: Generate a formatted report
# ------------------------------------
def generate_report(title: str, findings: list, recommendation: str) -&gt; str:
    report = f"\n{'='*50}\n"
    report += f"  {title.upper()}\n"
    report += f"{'='*50}\n\n"
    for finding in findings:
        report += f"  &#8226; {finding}\n"
    report += f"\nRECOMMENDATION:\n  {recommendation}\n"
    report += f"{'='*50}\n"
    return report

# ------------------------------------
# Tell Claude what tools exist
# ------------------------------------
tools = [
    {
        "name": "get_product_data",
        "description": "Retrieves product data. Pass 'all' to get all products, or a specific product_id like 'basic_plan', 'pro_plan', or 'enterprise_plan'.",
        "input_schema": {
            "type": "object",
            "properties": {
                "product_id": {
                    "type": "string",
                    "description": "The product ID to look up, or 'all' for everything"
                }
            },
            "required": ["product_id"]
        }
    },
    {
        "name": "calculate_metrics",
        "description": "Evaluates a Python math expression. Use for revenue calculations, churn projections, LTV estimates, or any arithmetic. Returns a rounded number.",
        "input_schema": {
            "type": "object",
            "properties": {
                "expression": {
                    "type": "string",
                    "description": "A math expression, e.g. '380 * 29.99 * 12'"
                }
            },
            "required": ["expression"]
        }
    },
    {
        "name": "generate_report",
        "description": "Formats and outputs a structured business report. Call this LAST, only after all data has been gathered and calculations are complete.",
        "input_schema": {
            "type": "object",
            "properties": {
                "title": {
                    "type": "string",
                    "description": "Report title"
                },
                "findings": {
                    "type": "array",
                    "items": {"type": "string"},
                    "description": "List of key findings, each as a concise string"
                },
                "recommendation": {
                    "type": "string",
                    "description": "A single clear action recommendation based on the findings"
                }
            },
            "required": ["title", "findings", "recommendation"]
        }
    }
]

# ------------------------------------
# The agent loop
# ------------------------------------
def run_agent(user_message: str):
    print(f"\nUser: {user_message}\n")
    messages = [{"role": "user", "content": user_message}]

    # Map tool names to actual Python functions
    tool_functions = {
        "get_product_data": get_product_data,
        "calculate_metrics": calculate_metrics,
        "generate_report": generate_report
    }

    turn = 0
    while True:
        turn += 1
        print(f"[Turn {turn}] Asking Claude what to do next...")

        response = client.messages.create(
            model="claude-sonnet-4-5-20250929",
            max_tokens=2048,
            tools=tools,
            messages=messages
        )

        if response.stop_reason == "tool_use":
            tool_results = []

            for block in response.content:
                if block.type == "tool_use":
                    fn = tool_functions.get(block.name)
                    if fn:
                        print(f"  &#8594; Calling: {block.name}({block.input})")
                        result = fn(**block.input)
                        preview = result[:120] + "..." if len(result) &gt; 120 else result
                        print(f"  &#8592; Result: {preview}")

                        tool_results.append({
                            "type": "tool_result",
                            "tool_use_id": block.id,
                            "content": result
                        })

            # Add Claude's response + our tool results back into the conversation
            messages.append({"role": "assistant", "content": response.content})
            messages.append({"role": "user", "content": tool_results})

        else:
            # Claude is done &#8212; print the final answer
            for block in response.content:
                if hasattr(block, "text"):
                    print(block.text)
            print(f"\n[Done in {turn} turns]")
            break


# ------------------------------------
# Run it
# ------------------------------------
run_agent(
    "Analyze my product lineup. Which plan has the worst LTV-to-CAC ratio? "
    "Calculate what annual revenue looks like if the Pro Plan price goes up 15%. "
    "Then give me a formatted report with your findings and a clear recommendation."
)
</code></code></pre><div><hr></div><h2>Step 5: Run it and watch what happens</h2><pre><code><code>python agent.py
</code></code></pre><p>You&#8217;ll see something like this:</p><pre><code><code>User: Analyze my product lineup...

[Turn 1] Asking Claude what to do next...
  &#8594; Calling: get_product_data({'product_id': 'all'})
  &#8592; Result: {"basic_plan": {"name": "Basic Plan", "monthly_subscribers": 1240...

[Turn 2] Asking Claude what to do next...
  &#8594; Calling: calculate_metrics({'expression': '9.99 / 0.08'})
  &#8592; Result: 124.88
  &#8594; Calling: calculate_metrics({'expression': '29.99 / 0.04'})
  &#8592; Result: 749.75
  &#8594; Calling: calculate_metrics({'expression': '199.99 / 0.02'})
  &#8592; Result: 9999.5

[Turn 3] Asking Claude what to do next...
  &#8594; Calling: calculate_metrics({'expression': '29.99 * 1.15 * 380 * 12'})
  &#8592; Result: 158214.96

[Turn 4] Asking Claude what to do next...
  &#8594; Calling: generate_report({'title': 'Product Lineup Analysis', 'findings': [...]

==================================================
  PRODUCT LINEUP ANALYSIS
==================================================

  &#8226; Basic Plan LTV-to-CAC ratio is 2.97x &#8212; the weakest in the lineup
  &#8226; Pro Plan LTV-to-CAC is 7.89x &#8212; strongest unit economics by far
  &#8226; Enterprise LTV is exceptional but volume is too small to drive growth
  &#8226; A 15% price increase on Pro Plan yields $158,214 annually vs $136,742 today

RECOMMENDATION:
  Raise Pro Plan to $34.49, shift acquisition spend from Basic to Pro,
  and set an enterprise expansion target of 20 new accounts this quarter.
==================================================

[Done in 4 turns]
</code></code></pre><p>You didn&#8217;t write any of that logic. You didn&#8217;t tell Claude to calculate LTV as <code>price / churn_rate</code>. You didn&#8217;t tell it to compare ratios across all three plans. You asked a business question and it figured out the sequence.</p><div><hr></div><h2>The things worth noticing</h2><p><strong>Look at Turn 2.</strong> Claude called <code>calculate_metrics</code> three times in the same turn &#8212; batching all the LTV calculations before moving on. It figured out it needed all three numbers before it could compare them. That&#8217;s Claude planning ahead, not just reacting.</p><p><strong>The </strong><code>"Call this LAST"</code><strong> hint in </strong><code>generate_report</code><strong> actually works.</strong> Without it, Claude sometimes tries to generate the report before it has finished calculating. One sentence in a tool description can completely change agent behavior. Descriptions are not documentation &#8212; they&#8217;re instructions.</p><p><strong>The loop is the whole thing.</strong> Every sophisticated agent you read about is a variation of this same while loop. The tools change. The complexity scales. The pattern stays the same.</p><p>I&#8217;ve tested this code a few times and it works great on a Mac and Windows, but with Windows, you do need to setup a little more, Python.  I recommend using GitBash on Windows or the WSL platform (windows subsystem for Linux).  It makes it easier.  I tried to keep this self-contained but useful enough for you to learn and run with it.</p><div><hr></div><h2>Where to take this next</h2><p>The code you just wrote is more extensible than it looks. Some ideas:</p><p>Replace <code>PRODUCT_DATA</code> with a real database query and you&#8217;ve got a live analytics agent. Replace <code>generate_report</code> with a function that sends a Slack message or fires off an email and now it takes action. Add a <code>search_web</code> tool and it can pull in external context before making recommendations. Add a <code>write_file</code> tool and it can save its own output.</p><p>The agent loop doesn&#8217;t care what the tools do. It just runs whatever you hand it.</p><p>That&#8217;s the unlock. Once you internalize this pattern, every integration you&#8217;ve ever built becomes a potential tool for an agent to orchestrate.</p><p>Now go run the code.</p><p>Execution beats everything.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.com/p/build-a-multi-tool-ai-agent-in-python?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.startupsandcode.com/p/build-a-multi-tool-ai-agent-in-python?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>&#8212; John</p><div><hr></div><p><em>Questions? Hit reply &#8212; I read every one, and usually respond  &#129315;</em></p>]]></content:encoded></item><item><title><![CDATA[The Constraint That Matters Most]]></title><description><![CDATA[Well-funded companies build what they can. Smart companies build what they must. The difference? Human connection.]]></description><link>https://newsletter.startupsandcode.com/p/the-constraint-that-matters-most</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/the-constraint-that-matters-most</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 07 Feb 2026 16:26:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!iVL8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iVL8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iVL8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!iVL8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!iVL8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!iVL8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iVL8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_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;:2584833,&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://startupsandcode.substack.com/i/187206623?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iVL8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!iVL8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!iVL8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!iVL8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71bb0a4-0f9e-4b86-a34f-bef6c52eefc5_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Real John here&#8230; this week combines two topics that really matter to me.  Building great teams and building great products.  It&#8217;s crazy on how much money is wasted by these massive corporations on building products that either no one wants or that never see the light of day, because some exec decides it was a waste at the 11th hour.  Companies are invest&#8230;</p>
      <p>
          <a href="https://newsletter.startupsandcode.com/p/the-constraint-that-matters-most">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Lonely Agent Problem]]></title><description><![CDATA[Why Your Company Will Deploy 100 AI Agents That Nobody Uses]]></description><link>https://newsletter.startupsandcode.com/p/the-lonely-agent-problem</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/the-lonely-agent-problem</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 31 Jan 2026 18:00:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0Akv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45fba78b-bcb7-4ecf-9e31-c49750158475_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey all, Real John here, doing what I do, this week, I&#8217;m talking about the &#8220;Year of Agents&#8221;.  And recently with claudbot (I think it is called Moltbot now) having bots talk to bots using messenger apps and creating a secret language that humans can&#8217;t read, it demonstrates the future that even AI wants to connect and communicate.  AI and humans don&#8217;t lik&#8230;</p>
      <p>
          <a href="https://newsletter.startupsandcode.com/p/the-lonely-agent-problem">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[When AI Becomes Your Personal Coach]]></title><description><![CDATA[How I&#8217;m using AI tools to level up in jujitsu, card magic, and life&#8212;no code required.]]></description><link>https://newsletter.startupsandcode.com/p/when-ai-becomes-your-personal-coach</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/when-ai-becomes-your-personal-coach</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 24 Jan 2026 15:57:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GvE2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GvE2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GvE2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!GvE2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!GvE2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!GvE2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GvE2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_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;:2209461,&quot;alt&quot;:&quot;an image of a robot helping someone learning card magic and another robot helping someone do a bench press.&quot;,&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://startupsandcode.substack.com/i/185641134?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="an image of a robot helping someone learning card magic and another robot helping someone do a bench press." title="an image of a robot helping someone learning card magic and another robot helping someone do a bench press." srcset="https://substackcdn.com/image/fetch/$s_!GvE2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!GvE2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!GvE2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!GvE2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4ab7ee-7f05-4beb-8d4d-b40f2c2e9ff4_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Generated by ChatGPT</figcaption></figure></div><p>Real John here, 3 of hearts, you know something random to show its me and that AI would never do.  Anyway, this week, I&#8217;m talking about how to use AI outside of codiung (misspelled intentionally so you know), for non technical people.  It&#8217;s amazing what you can learn about yourself and the world using AI. Ok, let&#8217;s get into it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.startupsandcode.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">Startu&#8230;</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>
          <a href="https://newsletter.startupsandcode.com/p/when-ai-becomes-your-personal-coach">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[They Had Everything Except Users]]></title><description><![CDATA[When billions in funding can&#8217;t save you from solving the wrong problem]]></description><link>https://newsletter.startupsandcode.com/p/they-had-everything-except-users</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/they-had-everything-except-users</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 17 Jan 2026 17:37:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!j9jl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j9jl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j9jl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!j9jl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!j9jl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!j9jl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j9jl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22aa0620-ce67-42c9-8f93-b1bc6272d0e7_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;:2875375,&quot;alt&quot;:&quot;A graveyard with tombstones of failed AI companies and a vulture with VC on his chest perched on the top right and a developer and his dog sitting at a laptop being happy.&quot;,&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://startupsandcode.substack.com/i/184882765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A graveyard with tombstones of failed AI companies and a vulture with VC on his chest perched on the top right and a developer and his dog sitting at a laptop being happy." title="A graveyard with tombstones of failed AI companies and a vulture with VC on his chest perched on the top right and a developer and his dog sitting at a laptop being happy." srcset="https://substackcdn.com/image/fetch/$s_!j9jl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!j9jl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!j9jl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!j9jl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22aa0620-ce67-42c9-8f93-b1bc6272d0e7_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Generated with ChatGPT</figcaption></figure></div><p>Hey All! Real John here.  I wonder if I should do something unique at the beginning of this to prove it&#8217;s me - nah, AI can probably fake that too. Anyway, I did a little research on AI funding and how people are building some great things&#8230; until they didn&#8217;t.  Business rules haven&#8217;t changed with AI, but they have been skewed since t&#8230;</p>
      <p>
          <a href="https://newsletter.startupsandcode.com/p/they-had-everything-except-users">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Coding Tools in 2026 - What Actually Changed (And What Didn't)]]></title><description><![CDATA[I shipped real products with Cursor, Claude Code, and Tempo Labs. Here's what actually works (and what's still broken).]]></description><link>https://newsletter.startupsandcode.com/p/ai-coding-tools-in-2026-what-actually</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/ai-coding-tools-in-2026-what-actually</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 10 Jan 2026 16:14:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ad-x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ad-x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ad-x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ad-x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ad-x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ad-x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ad-x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d471097-8ef8-46dd-b0f0-6dbfaffca381_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;:2393400,&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://startupsandcode.substack.com/i/184083949?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ad-x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ad-x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ad-x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ad-x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d471097-8ef8-46dd-b0f0-6dbfaffca381_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hey Everyone, it&#8217;s part 2 this week (oh, yeah, this is &#8220;real&#8221; john).  FWIW, this almost always real john, it just gets edited by claude (thanks anthropic). Sometimes I use AI for topics, but yeah, its me.  Here&#8217;s some updates of 2026 tools and remember AI is getting better everyday&#8230; and it doesn&#8217;t sleep&#8230; so if you are partnering with AI, you are missing&#8230;</p>
      <p>
          <a href="https://newsletter.startupsandcode.com/p/ai-coding-tools-in-2026-what-actually">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Competition Myth - Why 2026 Is Your Year (Not Theirs) ]]></title><description><![CDATA[I shipped real products with Cursor, Claude Code, and Tempo Labs. Here's what actually works (and what's still broken).]]></description><link>https://newsletter.startupsandcode.com/p/the-competition-myth-why-2026-is</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/the-competition-myth-why-2026-is</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 10 Jan 2026 01:02:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZZlp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZZlp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZZlp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ZZlp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ZZlp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ZZlp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZZlp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5e52399-8f6c-44f4-b0bf-7caf39bc3f09_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;:2545975,&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://startupsandcode.substack.com/i/184083183?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZZlp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ZZlp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ZZlp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ZZlp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5e52399-8f6c-44f4-b0bf-7caf39bc3f09_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Real John here. This first (ok, second really) newsletter of 2026 is going to be a 2 for 1. There is so much going on in my head right now and I just started a new job, so I have so much inspiration and excitement that I can&#8217;t stop.  I&#8217;ll send the next one tomorrow, but wanted to get this out tonight.<br><br>Ok, I have stories today, reality of acting (and now &#8230;</p>
      <p>
          <a href="https://newsletter.startupsandcode.com/p/the-competition-myth-why-2026-is">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The AI Prompt Problem: Speed Without Understanding]]></title><description><![CDATA[It's not about the LLM, It's about your instructions]]></description><link>https://newsletter.startupsandcode.com/p/the-ai-prompt-problem-speed-without</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/the-ai-prompt-problem-speed-without</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 03 Jan 2026 16:35:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!W9-d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W9-d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W9-d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!W9-d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!W9-d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!W9-d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W9-d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83561618-68dc-485d-b910-05124ff89efb_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;:2840190,&quot;alt&quot;:&quot;A robot confidently building a bridge to nowhere at lightning speed, while a human engineer in the background holds up blueprints trying to get its attention.&quot;,&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://startupsandcode.substack.com/i/183313994?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A robot confidently building a bridge to nowhere at lightning speed, while a human engineer in the background holds up blueprints trying to get its attention." title="A robot confidently building a bridge to nowhere at lightning speed, while a human engineer in the background holds up blueprints trying to get its attention." srcset="https://substackcdn.com/image/fetch/$s_!W9-d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!W9-d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!W9-d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!W9-d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83561618-68dc-485d-b910-05124ff89efb_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Generated with ChatGPT</figcaption></figure></div><p>Hey Everyone!, Real John here.  This week to kick off the new year, I want to talk about AI prompting garbage. Yes, I said garbage.  I love AI and how useful it is and how it can help in so many ways. But there is a caveat, you need to give it real guardrails through your prompting.  The confidence that AI has in itself is unmatche&#8230;</p>
      <p>
          <a href="https://newsletter.startupsandcode.com/p/the-ai-prompt-problem-speed-without">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[2025 - A mixed bag of events of AI and Teams]]></title><description><![CDATA[AI and me wrote this (yes, I said me not I intentionally)]]></description><link>https://newsletter.startupsandcode.com/p/2025-a-mixed-bag-of-events-of-ai</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/2025-a-mixed-bag-of-events-of-ai</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 27 Dec 2025 04:03:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!adWr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!adWr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!adWr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!adWr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!adWr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!adWr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!adWr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a78163c-d740-42d5-ac39-5ffc922d8ab0_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;:2757465,&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://startupsandcode.substack.com/i/182674105?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!adWr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!adWr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!adWr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!adWr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a78163c-d740-42d5-ac39-5ffc922d8ab0_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hey all, real John here.  There was a lot that was going on this year and I&#8217;m going to give you two for one as I wrap up this 2025 newsletter and get ready for 2026.</p><p>The part you are reading right now is written 100% by me, not edited, reviewed, or even submitted to any AI (maybe a little typo alert here and there, but its me).  The next part will be wha&#8230;</p>
      <p>
          <a href="https://newsletter.startupsandcode.com/p/2025-a-mixed-bag-of-events-of-ai">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[When to Promote, When to Hire: The Real Talk on Scaling Your Startup]]></title><description><![CDATA[Stop following the MBA playbook and start looking at your actual team]]></description><link>https://newsletter.startupsandcode.com/p/when-to-promote-when-to-hire-the</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/when-to-promote-when-to-hire-the</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 20 Dec 2025 16:25:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tRR2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tRR2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tRR2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!tRR2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!tRR2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!tRR2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tRR2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_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;:3336125,&quot;alt&quot;:&quot;man at a crossroads looking at two team structures and both are happy and productive.&quot;,&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://startupsandcode.substack.com/i/182175454?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="man at a crossroads looking at two team structures and both are happy and productive." title="man at a crossroads looking at two team structures and both are happy and productive." srcset="https://substackcdn.com/image/fetch/$s_!tRR2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!tRR2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!tRR2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!tRR2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bfe2a0d-04e5-4255-a2e3-a4c8b4a694b1_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Team structure is not a one-size fits all</figcaption></figure></div><p>Hi All, real john here.  I have written a lot about AI recently and this week as the year comes to an end and I just started a new job. I want to talk about how great teams are and how different teams are.  TLDR; there is no blueprint for a perfect team that works for EVERY team. There are some key things to do a&#8230;</p>
      <p>
          <a href="https://newsletter.startupsandcode.com/p/when-to-promote-when-to-hire-the">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Entry-Level Developer Extinction Event]]></title><description><![CDATA[It's only temporary, but let's end it now.]]></description><link>https://newsletter.startupsandcode.com/p/the-entry-level-developer-extinction</link><guid isPermaLink="false">https://newsletter.startupsandcode.com/p/the-entry-level-developer-extinction</guid><dc:creator><![CDATA[John Mann]]></dc:creator><pubDate>Sat, 13 Dec 2025 20:40:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PgII!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PgII!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PgII!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!PgII!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!PgII!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!PgII!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PgII!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2093799,&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://startupsandcode.substack.com/i/181540254?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PgII!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!PgII!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!PgII!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!PgII!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5883cc1-b841-4e1c-8d34-a9e2a52c5486_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve been writing code since I was 9 years old. I started on my Commodore 64, went to college for Computer Science, and spent over 30 years in this industry. I&#8217;ve seen a lot of trends come and go. But what&#8217;s happening right now to entry-level developers? This isn&#8217;t a trend. This is an extinction event.</p><p>And the worst part? We&#8217;re doing it to ourselves.</p><h2>The &#8230;</h2>
      <p>
          <a href="https://newsletter.startupsandcode.com/p/the-entry-level-developer-extinction">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>