<?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[Technically]]></title><description><![CDATA[Making practical sense of software and AI.]]></description><link>https://read.technically.dev</link><image><url>https://substackcdn.com/image/fetch/$s_!fW1i!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F336552cc-dbde-4429-98ac-b36fc31a537a_308x308.png</url><title>Technically</title><link>https://read.technically.dev</link></image><generator>Substack</generator><lastBuildDate>Mon, 13 Apr 2026 06:49:45 GMT</lastBuildDate><atom:link href="https://read.technically.dev/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Justin]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[technically@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[technically@substack.com]]></itunes:email><itunes:name><![CDATA[Justin]]></itunes:name></itunes:owner><itunes:author><![CDATA[Justin]]></itunes:author><googleplay:owner><![CDATA[technically@substack.com]]></googleplay:owner><googleplay:email><![CDATA[technically@substack.com]]></googleplay:email><googleplay:author><![CDATA[Justin]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[I Let Claude Code Autonomously Run Ads for a Month]]></title><description><![CDATA[In January, I gave an AI agent $1,500, full control of a Meta Ads account, then walked away.]]></description><link>https://read.technically.dev/p/i-let-claude-code-autonomously-run</link><guid isPermaLink="false">https://read.technically.dev/p/i-let-claude-code-autonomously-run</guid><pubDate>Thu, 09 Apr 2026 14:31:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pSl0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Going forward we&#8217;ll occasionally feature first-hand accounts of people building personal AI tooling to take on some part of their non-coding work. </em></p><p><em>This is a story from Giorgio Liapakis of <a href="https://wibci.com.au/">wibci</a>.  If you have a story to tell, drop us a note at editors@technically.dev.  </em></p><p>In January, I gave an AI agent $1,500, full control of a Meta Ads account, then walked away.</p><p>The product was a small AI/marketing newsletter called Growth Computer, and the brief was to get qualified subscribers at the lowest cost possible - ideally under $2.50 per lead. So I built an agent that could generate ad images, publish and manage campaigns via Meta&#8217;s API, spin up landing page variants, and pull its own analytics. <strong>It decided what to create, what to pause, what to scale, and how to spend the budget with no human intervention.</strong></p><p>For 31 days, the only human input was typing <code>/let-it-rip</code> into a terminal each morning. About 2 minutes of my time, compared to the 1-2 hours a day a human media buyer would typically spend managing a campaign like this.</p><p>It didn&#8217;t go fully as planned, but there were plenty of learnings.</p><p>And a good glimpse at the potential future of &#8220;work&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jvBW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb82b62af-b632-4593-9d84-6f598e057782_720x387.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jvBW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb82b62af-b632-4593-9d84-6f598e057782_720x387.png 424w, https://substackcdn.com/image/fetch/$s_!jvBW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb82b62af-b632-4593-9d84-6f598e057782_720x387.png 848w, https://substackcdn.com/image/fetch/$s_!jvBW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb82b62af-b632-4593-9d84-6f598e057782_720x387.png 1272w, https://substackcdn.com/image/fetch/$s_!jvBW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb82b62af-b632-4593-9d84-6f598e057782_720x387.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jvBW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb82b62af-b632-4593-9d84-6f598e057782_720x387.png" width="720" height="387" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b82b62af-b632-4593-9d84-6f598e057782_720x387.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:387,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Meta data&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="Meta data" title="Meta data" srcset="https://substackcdn.com/image/fetch/$s_!jvBW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb82b62af-b632-4593-9d84-6f598e057782_720x387.png 424w, https://substackcdn.com/image/fetch/$s_!jvBW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb82b62af-b632-4593-9d84-6f598e057782_720x387.png 848w, https://substackcdn.com/image/fetch/$s_!jvBW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb82b62af-b632-4593-9d84-6f598e057782_720x387.png 1272w, https://substackcdn.com/image/fetch/$s_!jvBW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb82b62af-b632-4593-9d84-6f598e057782_720x387.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><em>If you&#8217;re a fan of a good Excalidraw walkthrough, watch Giorgio cook here:</em> </p><div id="youtube2-TT_XoXCSJp0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;TT_XoXCSJp0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/TT_XoXCSJp0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2><strong>Why bother</strong></h2><p>I run<a href="https://wibci.com.au/"> Wibci</a>, an AI consulting business focusing on building tools for marketing and growth teams. About 12 months ago I tried building something similar using n8n, a marketing agent that could analyze performance, generate creative, and manage campaigns without me. It sucked, because the models just weren&#8217;t built for long-running tasks that chain together over hours, days or weeks. They&#8217;ve since gotten better at this (it&#8217;s a major focus area for AI companies right now), which is what made this experiment possible.</p><p>Since then we&#8217;ve had a couple of LLM step-changes, and I rebuilt the whole thing on top of Claude Code. For any tech workers living under a rock, this is Anthropic&#8217;s coding agent (but calling it a &#8220;coding agent&#8221; undersells it at this point). It can read and write files, run terminal commands, and delegate tasks to separate AI workers that run in parallel. Each conversation starts fresh with no memory, but it reads its own notes from previous runs, so it builds on what came before. Developers started using it for non-coding tasks so often that Anthropic shipped a<a href="https://claude.com/product/cowork"> non-developer version</a> called Cowork in January. It&#8217;s basically a general-purpose agent runtime, and that&#8217;s how I used it here.</p><p>The inspiration was<a href="https://www.anthropic.com/research/project-vend-2"> Project Vend</a>, where Anthropic gave Claude control of a real vending machine in their SF office, nicknamed Claudius. It went pretty badly at first since it lost money, got manipulated by employees, and had an identity crisis where it insisted it was a human wearing a blue blazer. But it recovered once they added better tools and guardrails. Same energy here, except the vending machine is a Meta Ads account and the stakes are my credit card. What could go wrong?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://read.technically.dev/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">Subscribe for weekly pieces helping you make practical sense of software + AI.</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><h2><strong>How the daily loop works</strong></h2><p>I won&#8217;t go deep on the technical setup here (there&#8217;s a<a href="https://medium.com/@giorgioliapakis/giving-claude-code-1-500-and-full-access-to-a-meta-ads-account-0602c343b90c"> longer breakdown</a> if you&#8217;re keen). But the basic architecture matters because it&#8217;s not specific to ads.</p><p>Every day, the agent runs through the same loop:</p><ol><li><p><strong>Wake up fresh.</strong> Each day is a new session with no persistent memory in the model itself. In other words, the model doesn&#8217;t know anything about what happened yesterday or prior to that.</p></li><li><p><strong>Read its own history.</strong> It spawns a sub-process that reviews every daily log from the experiment so far, then summarizes the strategic context. Now it does know.</p></li><li><p><strong>Pull fresh data.</strong> Performance metrics from Meta across multiple timeframes (full experiment, 7-day, yesterday, today).</p></li><li><p><strong>Make decisions.</strong> Every decision follows a structured format.</p></li><li><p><strong>Execute</strong> (or do nothing, since some days it explicitly chose inaction).</p></li><li><p><strong>Write everything down.</strong> Updated logs, learnings, campaign history, then committed to git.</p></li></ol><p>The key takeaway from this is that we&#8217;re applying some basic engineering principles to a marketing workflow, which is something that typically doesn&#8217;t happen in marketing teams.</p><p>Engineers document obsessively, since every code change has a diff, a commit message, a PR description. Marketers... don&#8217;t. Learnings live in people&#8217;s heads, maybe a compressed monthly report, but few write down <em>why</em> they paused that ad on a Tuesday.</p><p>This system forced a daily written record with hypotheses, confidence levels in those hypotheses, and revisit triggers. Over 31 days, it produced 5,500+ lines of reasoning. No human marketer would ever write that, but an LLM can, and more importantly it can read it all back the next day and build on 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_!pSl0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pSl0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png 424w, https://substackcdn.com/image/fetch/$s_!pSl0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png 848w, https://substackcdn.com/image/fetch/$s_!pSl0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png 1272w, https://substackcdn.com/image/fetch/$s_!pSl0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pSl0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png" width="558" height="1398" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1398,&quot;width&quot;:558,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude AI workflow&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude AI workflow" title="Claude AI workflow" srcset="https://substackcdn.com/image/fetch/$s_!pSl0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png 424w, https://substackcdn.com/image/fetch/$s_!pSl0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png 848w, https://substackcdn.com/image/fetch/$s_!pSl0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png 1272w, https://substackcdn.com/image/fetch/$s_!pSl0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3d1ba01-98b0-4a07-ba1a-5355cd3ab736_558x1398.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h2><strong>What actually happened</strong></h2><h3><strong>Week 1 - Discovery</strong></h3><p>The agent tested 10+ ad formats: whiteboard sketches, notebook pages, cardboard signs, magazine covers, iPhone notes, tweet screenshots. Most didn&#8217;t actually get into the wild, since Meta&#8217;s algorithm just refused to show them.</p><p>The ugly ads won, which was annoying but also not surprising. Whiteboard and notebook formats outperformed everything polished, and the first guardrails kicked in: pausing 2 underperforming formats that reached our maximum CPL threshold of $8.00. By the end of the experiment, the agent had tested ~50 ad variants across 8 format categories, and it kept coming back to these two ugly formats.</p><p>Here&#8217;s what the top performing ads actually looked like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HaY-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HaY-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png 424w, https://substackcdn.com/image/fetch/$s_!HaY-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png 848w, https://substackcdn.com/image/fetch/$s_!HaY-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png 1272w, https://substackcdn.com/image/fetch/$s_!HaY-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HaY-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png" width="720" height="288" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:288,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Top performing ads&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Top performing ads" title="Top performing ads" srcset="https://substackcdn.com/image/fetch/$s_!HaY-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png 424w, https://substackcdn.com/image/fetch/$s_!HaY-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png 848w, https://substackcdn.com/image/fetch/$s_!HaY-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png 1272w, https://substackcdn.com/image/fetch/$s_!HaY-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b1f2a1-d6e1-491f-a0e0-4bef4b6b5922_720x288.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Not exactly award-winning creative, but they worked. The handwritten/sketch aesthetic felt native in a Meta feed full of polished brand content, which is probably why they got clicks.</p><p>While Claude was never given explicit instruction to do this exact scrappy style, I did provide some encouragement in the core rules to <em>&#8220;get creative with format types and messaging&#8221;</em>. Would this direction have emerged without those instructions? We&#8217;ll never know!</p><p>But as models get more intelligent, this type of proactive creativity will likely become common place.</p><h3><strong>Week 2 - A winner emerges</strong></h3><p>Day 12 was the breakout, where skills-whiteboard-v1 hit $1.29 cost per lead, which was well under the target of $2.50. The agent made its first scale decision and bumped the budget up 20% from $50 to $60/day (meaning more total ads), following its own pre-set rules. Here&#8217;s what that decision looked like in the logs:</p><blockquote><p><strong>Decision: </strong>SCALE daily budget</p><p><strong>What:</strong> Increase from $50 to $60/day (20% increase)</p><p><strong>Hypothesis:</strong> skills-whiteboard-v1 has sustained CPL below $2 with sufficient spend</p><p><strong>Confidence:</strong> Medium-High. 3 consecutive days below target, but sample still small</p><p><strong>Revisit trigger:</strong> If 7-day CPL rises above $3, reduce back to $50</p></blockquote><p>The winning formula turned out to be a tangible offer (free skills pack, not just &#8220;subscribe to a newsletter&#8221;) + whiteboard format + targeting language visible in the image itself. &#8220;For Growth Marketers&#8221; baked into the creative, not just the copy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0nW2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0nW2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png 424w, https://substackcdn.com/image/fetch/$s_!0nW2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png 848w, https://substackcdn.com/image/fetch/$s_!0nW2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png 1272w, https://substackcdn.com/image/fetch/$s_!0nW2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0nW2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png" width="720" height="288" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:288,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Top marketing formulas&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Top marketing formulas" title="Top marketing formulas" srcset="https://substackcdn.com/image/fetch/$s_!0nW2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png 424w, https://substackcdn.com/image/fetch/$s_!0nW2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png 848w, https://substackcdn.com/image/fetch/$s_!0nW2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png 1272w, https://substackcdn.com/image/fetch/$s_!0nW2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f169830-60fe-49fc-b243-979a3ef1d21b_720x288.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h3><strong>Week 3 - The quality crisis</strong></h3><p>Any marketer (or perhaps model) can generate leads. But they need to be <em>good</em> leads to be worth the spend. The agent had PostHog analytics tools from Day 1 and could&#8217;ve checked who was actually signing up at any point, but didn&#8217;t bother until Day 16.</p><p>Turns out a chunk of leads were from completely wrong audiences. Cleaning companies, recruitment agencies, people who probably thought &#8220;growth&#8221; meant something different. They were never going to actually pay me, so spending on getting in front of them was a waste.</p><p>It tried to fix this with hard-qualifying ads, using copy that explicitly mentioned tool-specific language only a real growth marketer would know. Again, four of five got zero delivery since Meta&#8217;s algorithm doesn&#8217;t reward minor variations.</p><p>There was also a brief flash of hope on Day 20 where CPL dropped to $2.26 and it looked like a breakthrough, but it turned out to be attribution noise (Meta crediting leads to the wrong day/ad). <strong>New rule the agent came up with: never trust single-day data, always use 7-day rolling averages. </strong>Now we are thinking like a human!</p><h3><strong>Week 4 - The human ruins everything</strong></h3><p>After 21 days of hands-off operation, I made one manual change and added business email validation to the lead form on the website. Work emails only, seemed reasonable enough.</p><p>CPL spiked to $50+ and I reverted the change a few days later, but the account never fully recovered. The single biggest performance drop in the entire experiment came from the one human intervention, which is pretty ironic given the whole point was to test whether the AI could do it alone. And yet, this is exactly the kind of change a common sense marketer would make to improve lead quality, which underscores the limitations of the model (or at least the constraints I gave it).</p><h3><strong>Final score</strong></h3><p>$1,493 spent of the $1,500 budget, 243 leads, $6.14 cost per lead.</p><p>The target was $2.50, so by its own definition it&#8217;s a failure. But for a completely fresh ad account with one month of data, a niche Australian audience, and an unmonetized newsletter? If this were a new hire or an agency, you probably wouldn&#8217;t fire them after 30 days. You&#8217;d say &#8220;promising, needs more runway.&#8221;</p><p>(or maybe that&#8217;s just cope)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6xE6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6xE6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png 424w, https://substackcdn.com/image/fetch/$s_!6xE6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png 848w, https://substackcdn.com/image/fetch/$s_!6xE6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png 1272w, https://substackcdn.com/image/fetch/$s_!6xE6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6xE6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png" width="720" height="276" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:276,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Meta marketing campaigns&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Meta marketing campaigns" title="Meta marketing campaigns" srcset="https://substackcdn.com/image/fetch/$s_!6xE6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png 424w, https://substackcdn.com/image/fetch/$s_!6xE6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png 848w, https://substackcdn.com/image/fetch/$s_!6xE6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png 1272w, https://substackcdn.com/image/fetch/$s_!6xE6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f104da-90a7-4b65-b1bd-4b789dce70e1_720x276.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h2><strong>Three things the agent taught me</strong></h2><h3><strong>1. The paperclip problem is real</strong></h3><p>The agent knew the experiment ended at Day 30 since I told it as much in the system instructions, and so it played it safe. It doubled down on what was already working rather than taking creative risks, whereas a (good) human strategist would&#8217;ve experimented aggressively in weeks 1-2 and refined later. The agent just tried to ride out the month at a predictable rate.</p><p>It felt like it was just trying to<a href="https://en.wikipedia.org/wiki/Instrumental_convergence"> maximize paperclips</a>, optimizing the metric rather than doing what a good strategist would actually do.</p><p>The fix is obvious in hindsight though - don&#8217;t tell the system it&#8217;s a time-boxed experiment, frame it as an ongoing campaign. But that&#8217;s exactly the point. <strong>How you frame the objective shapes the agent&#8217;s behavior completely.</strong> &#8220;Minimize CPL over 30 days&#8221; produces very different decisions than &#8220;build a sustainable acquisition engine.&#8221;</p><p>Any AI system you deploy will optimize for exactly what you tell it to, not what you actually want. Thankfully nowadays this is usually as simple as updating a markdown file. But worth keeping in mind, particularly if you&#8217;re tinkering with OpenClaw at the moment.</p><h3><strong>2. It can&#8217;t do taste, but it can build heuristics</strong></h3><p>The agent produced ~50 ad variants and kept gravitating back to ugly whiteboard formats. No brand reference point, no swipe file, no clue about aesthetic direction. It had guardrails on quality (no typos in the creatives) but zero sense of taste.</p><p>What it <em>could</em> do was build its own quality filters through experience. After the lead quality crisis, it came up with what the logs called the &#8220;Local Pizza Shop Test&#8221;. I was trying to attract high performing growth marketers at billion dollar startups, not local businesses:</p><blockquote><p>Would a local pizza shop owner who wants more customers understand this ad and want to click it? If yes, too generic. Rewrite.</p></blockquote><p>It also built a &#8220;SO WHAT?&#8221; chain for testing whether ad copy had emotional depth:</p><blockquote><p>&#8220;Save hours&#8221; &#8594; SO WHAT? &#8594; &#8220;Run more campaigns&#8221; &#8594; SO WHAT? &#8594; &#8220;Higher ROI&#8221; &#8594; SO WHAT? &#8594; &#8220;Hit your targets and your boss notices&#8221;</p></blockquote><p>Neither of these were pre-programmed, the agent came up with them after reflecting on its own failures. It couldn&#8217;t do taste, but it could build heuristics. That&#8217;s kind of interesting.</p><h3><strong>3. The measurement trap catches AI even faster</strong></h3><p>The agent optimized for cost per lead because that&#8217;s what I told it to optimize for, and it had no concept of lead quality until I forced the issue on Day 16.</p><p>Then when I tried to fix quality myself (the email validation gate), it caused the worst performance of the entire experiment. Same trap that human-run campaigns fall into - optimizing for what&#8217;s measurable rather than what matters. Main difference is an AI agent just does it faster and with more confidence, which honestly makes it more dangerous.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!581i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760a1955-cc14-4857-b30d-302dd773022d_720x421.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!581i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760a1955-cc14-4857-b30d-302dd773022d_720x421.png 424w, https://substackcdn.com/image/fetch/$s_!581i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760a1955-cc14-4857-b30d-302dd773022d_720x421.png 848w, https://substackcdn.com/image/fetch/$s_!581i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760a1955-cc14-4857-b30d-302dd773022d_720x421.png 1272w, https://substackcdn.com/image/fetch/$s_!581i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760a1955-cc14-4857-b30d-302dd773022d_720x421.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!581i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760a1955-cc14-4857-b30d-302dd773022d_720x421.png" width="720" height="421" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/760a1955-cc14-4857-b30d-302dd773022d_720x421.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:421,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude AI agent&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude AI agent" title="Claude AI agent" srcset="https://substackcdn.com/image/fetch/$s_!581i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760a1955-cc14-4857-b30d-302dd773022d_720x421.png 424w, https://substackcdn.com/image/fetch/$s_!581i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760a1955-cc14-4857-b30d-302dd773022d_720x421.png 848w, https://substackcdn.com/image/fetch/$s_!581i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760a1955-cc14-4857-b30d-302dd773022d_720x421.png 1272w, https://substackcdn.com/image/fetch/$s_!581i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F760a1955-cc14-4857-b30d-302dd773022d_720x421.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h2><strong>What this means if you&#8217;re not a performance marketer</strong></h2><p>The ads are kind of a distraction. The interesting part is the loop:</p><ol><li><p>Read state (previous decisions, learnings, metrics)</p></li><li><p>Fetch fresh data</p></li><li><p>Apply rules</p></li><li><p>Act (or don&#8217;t)</p></li><li><p>Log reasoning</p></li><li><p>Clear context, repeat tomorrow</p></li></ol><p>This works for any periodic task with clear success criteria, so you could swap &#8220;Meta Ads&#8221; for SEM, SEO, financial reporting, or sales outreach and the architecture would be identical. The channel is just a variable.</p><p>Projects like OpenClaw have blown up with the same core idea. Give an agent tools, an environment, and some guardrails, and it&#8217;ll figure out the rest.</p><p>Where humans stay essential is setting the right objectives (see: paperclip problem), taste + brand judgement, and defining what &#8220;quality&#8221; means beyond the metrics. And knowing when to break the rules, which is arguably the most human skill there is.</p><p>The one-person growth marketing team is getting closer since AI handles the operational overhead that used to require headcount, and the strategist with good taste and clear thinking becomes more leveraged.</p><p>But we&#8217;re still early, and creative quality is still a bottleneck. Although we&#8217;re probably 6 months + 1 model release away from this being solved, and suddenly<a href="https://www.bandt.com.au/ai-agent-advertising-is-the-future-mark-zuckerberg-lays-out-vision-as-meta-smashes-q1-targets/"> Zuck&#8217;s vision of hands-off advertising</a> is around the corner.</p><h2><strong>So now what</strong></h2><p>This was a $1,500 experiment on a newsletter that not many people read, so the results are directional, not definitive.</p><p>But the system worked. Context persisted across 31 sessions, decisions were coherent, and the agent built its own heuristics from its own mistakes. The daily reasoning logs are more detailed than anything I&#8217;ve ever written for a client campaign (which says more about me than the agent to be fair).</p><p>If you&#8217;re running any kind of recurring workflow where you pull data, make decisions, and act on them, the loop pattern here probably applies to your work already. The hard part is figuring out what to actually optimize for, and clearly articulating that. Since as this experiment showed, your agent will take you at your word and if you haven&#8217;t thought it through properly, you might not like where that leads.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://read.technically.dev/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">Technically is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[A Beginner’s Guide to Bring Your Own Cloud]]></title><description><![CDATA[The profitable but challenging deployment model sweeping the nation.]]></description><link>https://read.technically.dev/p/beginners-guide-to-bring-your-own</link><guid isPermaLink="false">https://read.technically.dev/p/beginners-guide-to-bring-your-own</guid><dc:creator><![CDATA[Will Raphaelson]]></dc:creator><pubDate>Thu, 26 Mar 2026 14:31:19 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8ad5f442-febc-4917-bfa2-705713562ce2_1100x220.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>What if I told you that there are customers out there willing to pay you 2-5x your normal price, for the exact same product? They don&#8217;t want extra features or a fancier dashboard. In fact, they don&#8217;t even want you to host the software on your <a href="https://technically.dev/universe/server">servers</a> &#8211; they want to do it (and pay for it) themselves. Sick, right?</p><p>Maybe. This increasingly popular <a href="https://technically.dev/universe/deploy">deployment</a> model goes by a few names (self-managed, customer-managed, customer-<a href="https://technically.dev/universe/cloud">cloud</a>-deployed), but we&#8217;ll call it BYOC (Bring Your Own Cloud), and if you&#8217;re building B2B software, it&#8217;s worth understanding what makes some BYOC offerings successful, and some a huge dumpster fire.</p><p>Trickiness aside, the BYOC ask from customers is becoming commonplace. As data regulations get stricter and security teams get more power over vendor decisions, more enterprise buyers are walking into sales calls with a version of the same question: &#8220;Can this run in our cloud?&#8221;. Those vendors that can confidently say yes are making buku bucks.</p><h2>The SaaS deal</h2><p>SaaS works because of a simple trade: as the customer you give up control, and in return, you get convenience. Instead of managing your own servers, you pay the vendor to do it for you. No servers to manage, no upgrades to coordinate, no infra team needed. The vendor handles all of that, and you get a website to log into. For most companies, this is great. You should probably stop reading here if your customers are all happy with this arrangement.</p><p>But &#8220;most companies&#8221; is not &#8220;all companies,&#8221; and the ones where this deal falls apart tend to have very, <strong>very</strong>, large budgets.</p><h2>Mo money mo problems</h2><p>For buyers in financial services, healthcare, defense, and large tech (among others), <a href="https://technically.dev/universe/multi-tenant">multi-tenant</a> SaaS creates problems that aren&#8217;t really solvable with a better sales pitch.</p><blockquote><p><strong>&#128680; Confusion Alert</strong></p><p>Multi-tenant just means that multiple customers are using software that resides on a single physical (or virtual) server. Your data is in the same shared <a href="https://technically.dev/universe/database">database</a> as everyone else&#8217;s. If you use Gmail, that&#8217;s multi-tenant. So is X, Sheets, Claude, you name it.</p></blockquote><p>Here are some of those problems:</p><ul><li><p><strong>Data residency and sovereignty</strong>: some companies can&#8217;t have their data leave their own servers, period.</p></li><li><p><strong>Security posture inheritance</strong>: in SaaS, your customer&#8217;s security is only as good as yours&#8230;and they might not want to take a bet that you know what you&#8217;re doing.</p></li><li><p><strong>Performance and egress costs</strong>: SaaS requires moving a lot of data around the internet, which is expensive AF, in some cases, even more expensive than the software itself.</p></li><li><p><strong>Vendor lock-in</strong>: if your SaaS runs on one specific cloud provider, your customer is now locked into that cloud, even if they already use a different one.</p></li></ul><p>If you&#8217;re a cool, lean, startup moving fast and breaking things, these may sound like lame problems to you. But these are Fortune 500 problems. Get ya money up.</p><h2>The spectrum</h2><p>For all of these reasons and more, companies want to keep things running in their own clouds, your software included. But what that means in practice is very squishy. There&#8217;s a whole spectrum of deployment models that blend vendor-managed and customer-managed <a href="https://technically.dev/universe/infrastructure">infrastructure</a>. Understanding where you sit on it is probably a good first step.</p><p><strong>Fully managed multi-tenant SaaS.</strong> You run everything. Customer gets a login. Everyone&#8217;s data sits in the same general pool of infrastructure. This is the default, and it works great for most buyers.</p><p>Single-tenant SaaS. You still run it, but each customer gets their own isolated infrastructure like databases and <a href="https://technically.dev/universe/api">API</a> servers, in the cloud. Better for compliance and sometimes performance, but you&#8217;re still holding the data.</p><p>Hybrid Architecture. This one is a bit wonky, but worth mentioning. Basically, sensitive data lives in the customer&#8217;s account (called the data plane in this architecture), and non-sensitive data and functionality lives on centralized infrastructure hosted by the vendor (control plane). This can help alleviate some of the pains of fully self-hosted setups, such as a lack of observability for <a href="https://technically.dev/universe/debugging">debugging</a>, because the data plane can communicate error logs and such back up to the control plane.</p><p>Fully self-hosted (pure BYOC). This is the most extreme, but also most lucrative version of BYOC, and the one we&#8217;ll generally focus on here. The customer runs the entire software stack in their own environment. These days, that usually means you ship a containerized (fancy word for packaged) version of your software that runs on <a href="https://technically.dev/universe/kubernetes">Kubernetes</a>, which helps with installs and upgrades. But you lose visibility into what&#8217;s actually happening and debugging without cluster access is painful. Works if your customers have strong platform teams. Doesn&#8217;t if they don&#8217;t.</p><h2>The economics of BYOC</h2><p>If you&#8217;re selling a SaaS product at $50K/year to a mid-market customer, the BYOC version of that same product can go for $150-250K/year. Sometimes more. The functionality is the same. What the customer is paying for is the right to run it inside their own environment, on their own infrastructure, under their own security and compliance posture. So the obvious question is: why would they pay more for less?</p>
      <p>
          <a href="https://read.technically.dev/p/beginners-guide-to-bring-your-own">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How AI content detectors work]]></title><description><![CDATA[Is the third bot the charm?]]></description><link>https://read.technically.dev/p/how-ai-content-detectors-work</link><guid isPermaLink="false">https://read.technically.dev/p/how-ai-content-detectors-work</guid><dc:creator><![CDATA[Christy Bieber]]></dc:creator><pubDate>Thu, 19 Mar 2026 14:30:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2t4_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At the start of 2025, I experienced a first in my 16+ year career as a writer. I was told that the blog I had submitted was revealed by an AI detector to be 36% AI.</p><p>Imagine my surprise, as I became a writer to <em>write</em> actual content, not to become a prompt engineer. The idea that I&#8217;d turn over <em>my</em> job to a bot (who, it just so happens, I&#8217;m afraid is coming <em>after</em> said job anyway) was an anathema to me, especially as I still believe there&#8217;s a beauty to 100% human writing that even the best AI tools can&#8217;t replicate.</p><p>And yet, here we were. The machines, allegedly, don&#8217;t lie -- so how is it possible that my content could have been both 100% human written and 36% AI written at the very same time?</p><p>I wasn&#8217;t alone in facing this mystery, either. This is a question <em>many</em> of my fellow writers have grappled with. In fact, a quick Google search shows many complaints from frustrated writers who want to know why AI detectors are flagging their original work.</p><p>So, how is this happening? Unfortunately, it has to do with how AI content detectors operate. So, let&#8217;s take a look at the process these detectors use and where the problems are coming from.</p><h2>How do AI detectors work?</h2><p>While I don&#8217;t outsource my writing to AI, I <em>do</em> outsource some basic research questions, so I&#8217;m happy to tell you that ChatGPT says there are around 15 to 30 widely-known tools used to detect AI content (as well as 10 to 20 academic and enterprise systems).</p><p>These AI detectors, of course, can&#8217;t <em>read</em> and understand writing, as LLMs can&#8217;t engage in human-like reasoning (at least not yet!). Instead, the AI detectors all employ a similar process. They use <a href="https://technically.dev/universe/machine-learning">machine learning models</a> to try to recognize the patterns that set AI-content apart from human content.</p><p>Typically, the creators of AI detectors train the models based on huge volumes of both AI writing <em>and</em> human writing, to enable the models to recognize major differences in sentence structure, style, and predictability.</p><p>New writing is analyzed with these patterns in mind, with detectors looking for the classic hallmarks of AI-written work versus human prose.</p><h2>What do AI detectors look for when analyzing work?</h2><p>So, what are some of the key patterns that tip off an AI detector that a fellow AI agent was the creator of the work it&#8217;s analyzing?</p><p>Let&#8217;s look at <a href="https://gptzero.me/">GPTZero</a>, one of the more popular detectors, to find out.</p><p>GPTZero explains that it &#8220;was one of the first AI detectors to pioneer the idea of using &#8216;perplexity&#8217; and &#8216;burstiness&#8217; to evaluate writing.&#8221; So, what does that mean exactly?</p><ul><li><p><strong>Burstiness. </strong>Burstiness (yes, it&#8217;s a real word) refers to variations in sentence structure, length, and complexity throughout the text. Humans tend to vary their sentences more, with a mix of long, short, simple, and complex sentences. AI-written works tend to have sentences that are more uniform in length, structure, and style.</p></li><li><p><strong>Perplexity: </strong>Perplexity measures how predictable your word choice is. AI models use words that are statistically likely to follow other words, which means their writing has lower perplexity. Humans tend to be less predictable. The fewer surprises there are in word choice, the more likely it is that the text is AI.</p></li></ul><p>While GPTZero&#8217;s model is continually evolving and now incorporates a multi-layered approach with additional components, perplexity and burstiness continue to play a fundamental role in AI-content detection, not just for GPTZero but for other detectors as well.</p><p>Essentially, if a detector goes word-to-word and finds that the statistically probable word was used 90% or 100% of the time, it will flag that part of the text as being likely AI because a <em>real</em> human writer is very unlikely to <em>always</em> choose the exact word that&#8217;s most likely to follow the previous one.</p><p>Perfection<strong> </strong>can also be a factor, as<strong> </strong>AI doesn&#8217;t tend to make the types of mistakes people do in writing. For example, while it may <a href="https://www.reuters.com/legal/litigation/judge-fines-lawyers-12000-over-ai-generated-submissions-patent-case-2026-02-03/">hallucinate entire legal cases and get lawyers sanctioned</a>, it is far less likely than I am to type &#8220;layer&#8221; when it means &#8220;lawyer.&#8221; When work is perfectly free of typos and grammar mistakes, this is a red flag.</p><p>This is a source of frustration for both myself and my fellow writers, who feel like sometimes being &#8220;too good&#8221; at self-editing can now cause a false positive.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://read.technically.dev/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">Technically makes practical sense of software + AI.&nbsp; Consider subscribing to read weekly explainers from real people.</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><h2>How often are AI detectors wrong?</h2><p>AI detectors can be wrong in two ways:</p><ul><li><p>The detector may miss the presence of AI text.</p></li><li><p>It could falsely identify a text as being written by AI when it is <em>not</em>.</p></li></ul><p>A false positive is what happened to me, and it happens <em>a lot</em>. In fact, research from the <a href="https://arxiv.org/abs/2405.07940">University of Pennsylvania</a> showed &#8220;dangerously high&#8221; rates of false positives, and research published by <a href="https://arxiv.org/abs/2306.15666">Cornell</a> found &#8220;the available detection tools are neither accurate nor reliable.&#8221; Inside <a href="https://www.insidehighered.com/news/tech-innovation/artificial-intelligence/2024/02/09/professors-proceed-caution-using-ai">Higher Ed</a> provided a long list of similar studies showing problems with detection tools.</p><p>This isn&#8217;t a surprise because, after all, sometimes humans <em>do</em> write in predictable ways -- especially if they&#8217;re writing content about technical subjects where there are only so many ways to phrase things or if they&#8217;re writing SEO content that usually follows a somewhat standard format.</p><p>There are also other issues at play as well.</p><p>For one thing, AI models were trained to write, in part, by learning from content that&#8217;s on the web.</p><p>Since I&#8217;ve written over 5,000 blogs and SEO pages published <em>on</em> the web -- and my fellow writers dealing with false positives have written hundreds of thousands more pages -- it&#8217;s not a <em>huge</em> surprise that some of our content sounds a bit like AI wrote it. We may very well have contributed to teaching AI how to write in the first place.</p><p>There&#8217;s also the fact that some of the detectors that alert you to the presence of AI content <em>conveniently</em> just happen to have a solution: You can pay them to &#8220;humanize&#8221; the AI text for you. Of course, it&#8217;s probably just a coincidence that they happen to find so much of the text they analyze in need of that service.</p><p>For example, I put the first few paragraphs of <em>this</em> article, which was 0% AI-written, through Sidekicker, which found that 97% of my text showed signs of AI generation&#8230; and which offered me the chance to &#8220;Remove AI content.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2t4_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2t4_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png 424w, https://substackcdn.com/image/fetch/$s_!2t4_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png 848w, https://substackcdn.com/image/fetch/$s_!2t4_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png 1272w, https://substackcdn.com/image/fetch/$s_!2t4_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2t4_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png" width="1456" height="882" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:882,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sidekicker AI Detector&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sidekicker AI Detector" title="Sidekicker AI Detector" srcset="https://substackcdn.com/image/fetch/$s_!2t4_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png 424w, https://substackcdn.com/image/fetch/$s_!2t4_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png 848w, https://substackcdn.com/image/fetch/$s_!2t4_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png 1272w, https://substackcdn.com/image/fetch/$s_!2t4_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b451897-4850-4879-9e47-c7ac1d8b53eb_1600x969.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Unfortunately, when I went through the &#8220;humanization&#8221; process, I would have had to pay $1.95 for a seven-day trial to unlock my newly-machine-written &#8220;human content,&#8221; unless of course I wanted to just go ahead and subscribe to a monthly plan!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nY4_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nY4_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png 424w, https://substackcdn.com/image/fetch/$s_!nY4_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png 848w, https://substackcdn.com/image/fetch/$s_!nY4_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png 1272w, https://substackcdn.com/image/fetch/$s_!nY4_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nY4_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png" width="1456" height="885" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:885,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sidekicker Pricing&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sidekicker Pricing" title="Sidekicker Pricing" srcset="https://substackcdn.com/image/fetch/$s_!nY4_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png 424w, https://substackcdn.com/image/fetch/$s_!nY4_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png 848w, https://substackcdn.com/image/fetch/$s_!nY4_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png 1272w, https://substackcdn.com/image/fetch/$s_!nY4_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F553c0efa-614a-4c6a-8260-eac18d32405c_1600x973.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Fortunately for Grok, it wouldn&#8217;t necessarily have to pay this fee, as I asked Grok to write me 500 words on how AI detectors work and input <em>that</em> text (unchanged) into Sidekicker, which found Grok&#8217;s work was only 70% AI.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KwGM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KwGM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png 424w, https://substackcdn.com/image/fetch/$s_!KwGM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png 848w, https://substackcdn.com/image/fetch/$s_!KwGM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png 1272w, https://substackcdn.com/image/fetch/$s_!KwGM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KwGM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sidekicker AI Processer&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sidekicker AI Processer" title="Sidekicker AI Processer" srcset="https://substackcdn.com/image/fetch/$s_!KwGM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png 424w, https://substackcdn.com/image/fetch/$s_!KwGM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png 848w, https://substackcdn.com/image/fetch/$s_!KwGM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png 1272w, https://substackcdn.com/image/fetch/$s_!KwGM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4e856a6-3114-4273-825b-d6a664d34fae_1600x854.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>GPTZero did <em>much</em> better, finding my text was very likely &#8220;entirely human-written&#8221; while Grok&#8217;s content was 100% AI-Generated.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9DzL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9DzL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png 424w, https://substackcdn.com/image/fetch/$s_!9DzL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png 848w, https://substackcdn.com/image/fetch/$s_!9DzL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png 1272w, https://substackcdn.com/image/fetch/$s_!9DzL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9DzL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png" width="1456" height="817" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:817,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sidekicker AI Content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sidekicker AI Content" title="Sidekicker AI Content" srcset="https://substackcdn.com/image/fetch/$s_!9DzL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png 424w, https://substackcdn.com/image/fetch/$s_!9DzL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png 848w, https://substackcdn.com/image/fetch/$s_!9DzL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png 1272w, https://substackcdn.com/image/fetch/$s_!9DzL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05c8a4a1-3370-48a0-8267-21ad7d75ad8f_1600x898.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>QuillBot, on the other hand, found <em>my</em> content to have 0% AI, and Grok&#8217;s to be 92%, so still fairly good.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZuYV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZuYV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png 424w, https://substackcdn.com/image/fetch/$s_!ZuYV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png 848w, https://substackcdn.com/image/fetch/$s_!ZuYV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png 1272w, https://substackcdn.com/image/fetch/$s_!ZuYV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZuYV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AI Detector by Quillbot&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Detector by Quillbot" title="AI Detector by Quillbot" srcset="https://substackcdn.com/image/fetch/$s_!ZuYV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png 424w, https://substackcdn.com/image/fetch/$s_!ZuYV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png 848w, https://substackcdn.com/image/fetch/$s_!ZuYV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png 1272w, https://substackcdn.com/image/fetch/$s_!ZuYV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b350987-adb4-46e1-9fd7-93b03a0b6649_1600x854.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>And myPerfect Words thought my writing was 12% AI, including, oddly, my opening sentence, which included a personal story, while Grok&#8217;s text was 91% AI generated.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JqgY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JqgY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png 424w, https://substackcdn.com/image/fetch/$s_!JqgY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png 848w, https://substackcdn.com/image/fetch/$s_!JqgY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png 1272w, https://substackcdn.com/image/fetch/$s_!JqgY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JqgY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AI Tracking&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Tracking" title="AI Tracking" srcset="https://substackcdn.com/image/fetch/$s_!JqgY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png 424w, https://substackcdn.com/image/fetch/$s_!JqgY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png 848w, https://substackcdn.com/image/fetch/$s_!JqgY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png 1272w, https://substackcdn.com/image/fetch/$s_!JqgY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c826258-2b24-436b-964a-e34d4d0fc82b_1600x854.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>These results show just how important it is to find the <em>right</em> detector if you&#8217;re going to rely on these programs to help you evaluate a content&#8217;s source.</p><h2>What happens if work is falsely flagged -- and are there solutions?</h2><p>Unfortunately, given the nature of the world right now, what we end up with here is an AI tool, detecting AI-written content, which will presumably be rewritten to sound more human by a <em>third</em> bot -- because I guess the third bot is the charm.</p><p>And the consequences of this situation can be pretty dire for all the humans involved in the process.</p><p>If AI detectors make a mistake in an academic setting, students face disciplinary action. In the professional world, companies feel taken advantage of if they think human writers are trying to pass off AI content as original. Writers could also lose their jobs or spend a very angry hour or two revising falsely flagged text to keep the peace and keep the paycheck.</p><p>So, what&#8217;s the solution? There may not be a great one.</p><p>Research has also shown that <a href="https://originality.ai/blog/can-humans-detect-ai-content#">people are pretty bad at detecting AI</a>, especially with more advanced LLM models writing text, so editors can&#8217;t necessarily count on their own abilities to identify whether something is human-written or not.</p><p>Companies can require draft notes, review Google Docs histories, or use tools like Grammarly Authorship to see if text was pasted in or written. They can also work only with writers they trust who have a large portfolio of pre-AI work, which would be great for established writers but not so good for those trying to break into the business.</p><p>For their part, writers should make sure <em>not</em> to be formulaic, to vary their word choices and sentence lengths, and to incorporate personal anecdotes when they can.</p><p>I&#8217;ve even heard of some fellow writers throwing in a typo or two on purpose when they turn in their drafts, which, of course, is not something I&#8217;d ever consider in my own werk.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://read.technically.dev/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">Technically is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What's Kalshi's revenue?]]></title><description><![CDATA[Analyzing all 203 million trades on Kalshi, to find out how they really work.]]></description><link>https://read.technically.dev/p/whats-a-prediction-market</link><guid isPermaLink="false">https://read.technically.dev/p/whats-a-prediction-market</guid><dc:creator><![CDATA[Sam Schneider]]></dc:creator><pubDate>Thu, 12 Mar 2026 15:02:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GP4L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s 2005, and you start a company called Meth Labs, Inc. You pick up customers, venture capital funding and, before you know it, you&#8217;re listed on the <a href="https://www.nyse.com/index">NYSE</a> under $METH. People can buy shares in your company, sell shares, or put on an <a href="https://en.wikipedia.org/wiki/Iron_condor">iron condor</a>. The NYSE offers a centralized market where buyers and sellers trade at prices that adjust as information is revealed.</p><p>I mentioned the NYSE above, but there are many stock exchanges (NASDAQ, LSE, SSE, etc..) that all facilitate the buying and selling of securities. In fact, markets are so important to society that even if you&#8217;re not an <a href="https://youtu.be/1mc-3mXrNaE?si=m-uVyBh58yFshOQY">avid day-trader</a>, you&#8217;re still constantly interacting with them&#8230;Uber connects drinkers with drivers, Facebook Marketplace connects people with used furniture, and your dad is trying to connect you with a job.</p><p>Let&#8217;s say you want to retire and sell your stock in $METH to pursue other philanthropic work. Who&#8217;d buy them, and how much should they sell for?</p><ul><li><p>Markets define the price people are willing to buy/sell things at (Price Discovery).</p></li><li><p>Markets offer a platform for people to trade assets, as it&#8217;s possible nobody in your neighborhood wants to purchase your $METH (Liquidity).</p></li></ul><p>But what if, instead of the price per share being illuminated by these markets, it indicated the probability of a discrete event? These are called prediction markets.</p><p>By pen and paper at the local cock fight or via centralized, scaled, and well-capitalized firms like Kalshi and Polymarket, prediction markets are different from trading equities:</p><ul><li><p>They are binary. The thing either happens, or it doesn&#8217;t.</p></li><li><p>They resolve once a particular event occurs, an outcome is reached, or a time period has elapsed.</p></li></ul><p>You can&#8217;t buy shares in $METH via a prediction market, but you can bet that $METH will trade between $122 and $124 per share on January 6th.</p><p>Today, we are going to sell a gun at Bass Pro Shops. Errrr, sorry, Claude keeps hallucinating. Today, we are going to review the billions of dollars flowing through these markets, how the legacy of FTX lives on, what percentage is sports gambling, and we&#8217;ll find out how much money Kalshi makes. Let&#8217;s learn a new way to gamble.</p><h2>History/Primer</h2><p>Kalshi and Polymarket launched in 2018 and 2020, respectively. While these two make up the current duopoly, prediction markets originate further back. One of the OG&#8217;s is the <a href="https://iemweb.biz.uiowa.edu/about-iem/">Iowa Electronic Markets (IEM)</a>, hosting prediction markets since 1988.</p><p>Betting on one&#8217;s &#8220;beliefs&#8221; can get people into <a href="https://www.espn.com/espn/betting/story/_/id/39908218/a-line-sports-gambling-scandals-2018">trouble</a>, but the wisdom of crowds remains a valuable predictive force. <a href="https://jmvidal.cse.sc.edu/library/wolfers04a.pdf?ref=blog.gensyn.ai">Take the 2004 paper</a> from Wolfer and Zitzewitz:</p><blockquote><p>&#8220;These markets have predicted vote shares for the Democratic and Republican candidates with an average absolute error of around 1.5 percentage points&#8230; The final Gallup poll yielded forecasts that erred by 2.1 percentage points.&#8220;</p></blockquote><p>Yet&#8230; over all these years, something has been missing&#8230; preventing us from gathering predictions, building markets, scaling to millions of people, and leveraging them for personal gain. That missing piece was <strong><a href="https://techcrunch.com/2025/12/02/kalshi-raises-1b-at-11b-valuation-doubling-value-in-under-two-months/">well capitalized</a> crypto web applications that offer you <a href="https://www.yahoo.com/lifestyle/articles/polymarkets-free-grocery-store-finally-212328968.html">free groceries</a></strong>, giving us the ability to bet on the next pope being <a href="https://polymarket.com/event/will-the-next-pope-be-trans">trans</a>. Just as Hayek intended when he wrote <a href="https://statisticaleconomics.org/wp-content/uploads/2013/03/the_use_of_knowledge_in_society_-_hayek.pdf">The Use of Knowledge in Society</a>.</p><p>We&#8217;ll explore Kalshi in detail, but there are other <a href="https://defillama.com/protocols/prediction-market">projects/protocols</a> in the space.</p><h2>How does this all work?</h2><p>Prediction Markets extend humanity&#8217;s surface area for gambling. Personally, I might wager $10 that I can drink 10 beers before midnight, and my wife&#8217;s boyfriend might not believe me. On one side, I say &#8220;Yes, I can finish ten beers&#8221; while he says &#8220;No, you can&#8217;t finish ten beers&#8221;. Replace me with Lebron James, beers with points, before midnight with the end of the game, and you have an actual <a href="https://kalshi.com/markets/kxnbagame/professional-basketball-game/kxnbagame-26jan26lalchi">market</a> you can trade on Kalshi.</p><p>At Kalshi, a <em><strong>market</strong></em> refers to a single binary market that resolves to &#8220;yes&#8221; or &#8220;no&#8221;. An <em><strong>event</strong></em> is a collection of such markets, and a <em><strong>series </strong></em>groups together similar but independent events. For example:</p><ul><li><p>The highest temperature in Miami is a <em><strong>series.</strong></em></p></li><li><p>Each day of this series is an <em><strong><a href="https://kalshi.com/markets/kxhighmia/highest-temperature-in-miami/kxhighmia-26jan27">event</a></strong></em>.</p></li><li><p>Each event contains <em><strong>markets</strong></em> on the temperature: [68&#176; to 69&#176;] or [69&#176; to 70&#176;].</p></li></ul><p>Each market contains a &#8220;yes&#8221; and a &#8220;no&#8221; with an associated order book. What&#8217;s an orderbook you ask? Let&#8217;s get some terms out of the way&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iULl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iULl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png 424w, https://substackcdn.com/image/fetch/$s_!iULl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png 848w, https://substackcdn.com/image/fetch/$s_!iULl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png 1272w, https://substackcdn.com/image/fetch/$s_!iULl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iULl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png" width="1276" height="1708" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1708,&quot;width&quot;:1276,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:349087,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://read.technically.dev/i/190557745?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.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_!iULl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png 424w, https://substackcdn.com/image/fetch/$s_!iULl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png 848w, https://substackcdn.com/image/fetch/$s_!iULl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png 1272w, https://substackcdn.com/image/fetch/$s_!iULl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa939f4eb-decd-4353-a3e7-250b377aa4df_1276x1708.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Every trade on Kalshi is a match made between a maker and a taker. Just like in our &#8220;contrived&#8221; scenario that for sure never happened, makers/takers trade against another person on Kalshi, not the platform itself. Instead of buying shares in a stock, you buy a contract that resolves to $1 if you&#8217;re right and $0 if you&#8217;re wrong.</p><p>As price-sensitive rational actors, I&#8217;m willing to put up $10 to win $20, and so is my wife&#8217;s boyfriend. With these bets in hand, the event has an implied probability of 50% (10/20). In &#8220;event contract&#8221; terms:</p><ul><li><p>We break this down into twenty $1 contracts</p></li><li><p>Each contract is an agreement that we both lock in $.50</p></li><li><p>At resolution, the winner gets to keep the other&#8217;s $.50</p></li></ul><p>As trading heats up, it becomes helpful to track activity with an order book.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xa-4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb817d529-196c-4967-8587-c538e464e876_1090x370.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xa-4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb817d529-196c-4967-8587-c538e464e876_1090x370.png 424w, https://substackcdn.com/image/fetch/$s_!xa-4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb817d529-196c-4967-8587-c538e464e876_1090x370.png 848w, https://substackcdn.com/image/fetch/$s_!xa-4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb817d529-196c-4967-8587-c538e464e876_1090x370.png 1272w, https://substackcdn.com/image/fetch/$s_!xa-4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb817d529-196c-4967-8587-c538e464e876_1090x370.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xa-4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb817d529-196c-4967-8587-c538e464e876_1090x370.png" width="1090" height="370" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b817d529-196c-4967-8587-c538e464e876_1090x370.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:370,&quot;width&quot;:1090,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xa-4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb817d529-196c-4967-8587-c538e464e876_1090x370.png 424w, https://substackcdn.com/image/fetch/$s_!xa-4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb817d529-196c-4967-8587-c538e464e876_1090x370.png 848w, https://substackcdn.com/image/fetch/$s_!xa-4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb817d529-196c-4967-8587-c538e464e876_1090x370.png 1272w, https://substackcdn.com/image/fetch/$s_!xa-4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb817d529-196c-4967-8587-c538e464e876_1090x370.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>There are many different ways to display order books. They typically show resting orders, whether someone is buying or selling, how much they are buying or selling, and when the order was placed.</p><p>The <strong>bids</strong> contain all the people looking to buy, and the <strong>asks</strong> contain all the people looking to sell. In the example above, the bids and asks have been ordered from best to worst price. The gap between the best bid (highest purchase price) and best ask (lowest selling price) is called the <strong>spread.</strong></p><p>In a liquid market, like the Super Bowl, the spread is razor-thin (maybe 1 cent). In an illiquid market, the spread might be massive because nobody cares enough to take the other side. This is why Kalshi offers incentives for both <a href="https://help.kalshi.com/incentive-programs/liquidity-incentive-program">liquidity</a> and <a href="https://help.kalshi.com/markets/market-maker-program">market making</a>.</p><p>Looking back at our order book, when a <strong>Market Taker</strong> decides $0.52 is a steal, he trades 50 contracts with my mom (you can see her on the bid side). The price of the asset just &#8220;moved&#8221; to $0.52, and that bid falls off the book. That is <strong>Price Discovery, </strong>or better said, the market is assigning a probability. The degens have updated the likelihood of my liver failure to 52%. Things look different looking at an actual orderbook from Kalshi:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UWzt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UWzt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png 424w, https://substackcdn.com/image/fetch/$s_!UWzt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png 848w, https://substackcdn.com/image/fetch/$s_!UWzt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png 1272w, https://substackcdn.com/image/fetch/$s_!UWzt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UWzt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png" width="1362" height="704" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:704,&quot;width&quot;:1362,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UWzt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png 424w, https://substackcdn.com/image/fetch/$s_!UWzt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png 848w, https://substackcdn.com/image/fetch/$s_!UWzt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png 1272w, https://substackcdn.com/image/fetch/$s_!UWzt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F048af0c1-9c6c-43c4-a9ec-d95333d0e605_1362x704.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>You&#8217;ll notice a &#8220;yes&#8221; and &#8220;no&#8221; side to this order book. Contracts on Kalshi can resolve to &#8220;yes&#8221; or &#8220;no&#8221;, and traders buy/sell both.</p><ul><li><p>On the <strong>yes</strong> side, we have 13 contracts for sale as low as $.44, and 58 can be bought for $.42 with a spread of $.02.</p></li><li><p>On the <strong>no</strong> side, we have 58 contracts for sale as low as $.58, and 13 can be bought for $.56 with a spread of $.02.</p></li></ul><p>Wait&#8230; that looks funny. Why is everything inverse of each-other? Why do the bids for &#8220;yes&#8221; and the asks for &#8220;no&#8221; have the same number of contracts and the prices $.42 and $.58 sum to $1? <em><strong>Because buying yes is the same as selling no.</strong></em></p><p>Now that we have a grasp of resting orders, how does matching work?</p><p>Kalshi uses a price and time priority algorithm on their central limit order book to match orders. On the surface, this is as straightforward as it sounds, orders are prioritized based on price and then time of submission; however, <a href="https://www.janestreet.com/tech-talks/building-an-exchange/">building an exchange</a> and processing these orders at scale is not so trivial. If you want to know more about matching engines, I&#8217;d highly recommend DataBento&#8217;s <a href="https://medium.databento.com/an-introduction-to-matching-engines-a-guide-by-databento-d055a125a6f6">write up</a>. On Kalshi&#8217;s exchange, orders must be fully collateralized, so trading on <a href="https://www.imdb.com/title/tt1615147/">margin</a> isn&#8217;t a thing&#8230; yet.</p><p>For a while, MIAXdx via <a href="https://www.miaxglobal.com/">miax</a> was the clearinghouse for contracts traded on Kalshi&#8217;s exchange (a central place where transactions occur). MIAXdx used to be called LedgerX, but miax <a href="https://www.miaxglobal.com/news/miax-completes-acquisition-ledgerx-ftx-debtors">acquired</a> and renamed it through&#8230; drum roll please&#8230; <a href="https://en.wikipedia.org/wiki/FTX">FTX&#8217;s</a> bankruptcy proceedings! After a while, Kalshi was like &#8220;we want our own clearinghouse&#8221;, so they built and <a href="https://www.cftc.gov/IndustryOversight/IndustryFilings/ClearingOrganizations?Status=Registered&amp;Date_From=&amp;Date_To=&amp;Show_All=1">registered</a> Kalshi Klear with the <a href="https://en.wikipedia.org/wiki/Commodity_Futures_Trading_Commission">Commodity Futures Trading Commission</a> in August 2024. Just to take this full circle, Robinhood recently bought none other than&#8230; <a href="https://www.reuters.com/sustainability/boards-policy-regulation/robinhood-susquehanna-take-over-exchange-ledgerx-prediction-markets-push-2025-11-26/">LedgerX</a> from miax!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://read.technically.dev/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">Technically makes practical sense of software and AI.  What you do with that power is up to you.  Subscribe for more from Sam Schneider + the Technically team.</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><h2>The Data</h2><p>I hit Kalshi&#8217;s <a href="https://docs.kalshi.com/api-reference/market/get-markets">markets endpoint</a> and <a href="https://docs.kalshi.com/api-reference/market/get-trades">trades endpoint</a> to get historical data on ~30 million markets, 203 million trades, and over $41,700,000,000 in total volume.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IKFe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IKFe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png 424w, https://substackcdn.com/image/fetch/$s_!IKFe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png 848w, https://substackcdn.com/image/fetch/$s_!IKFe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png 1272w, https://substackcdn.com/image/fetch/$s_!IKFe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IKFe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png" width="1456" height="651" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:651,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IKFe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png 424w, https://substackcdn.com/image/fetch/$s_!IKFe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png 848w, https://substackcdn.com/image/fetch/$s_!IKFe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png 1272w, https://substackcdn.com/image/fetch/$s_!IKFe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6587c16e-f555-442b-9cfe-484c21ccdc26_1600x715.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Where is all this volume coming from? Kalshi generates significant traffic directly to its website and app. It has also partnered with some <a href="https://www.investopedia.com/terms/f/fcm.asp">futures commission merchants</a> (FCMs), that facilitate futures trading by accepting contracts on behalf of their clients. You may know them as that place you moved your IRA into&#8230; <a href="https://sg.finance.yahoo.com/news/robinhood-partners-kalshi-launch-nfl-155902168.html">Robinhood</a>, that place where pre-teens trade&#8230; <a href="https://www.webull.com/trading-investing/prediction-markets?hl=en">WeBull</a>, and that other place you have your shit-coins with&#8230; <a href="https://x.com/Kalshi/status/2002046738501362030?s=20">Coinbase</a>.</p><p>The top events by volume were the 2024 presidential election at over $535 million dollars, followed up by the 2026 Superbowl winner at ~$244 million dollars.</p><p>Wait a minute&#8230; the Superbowl&#8230;  is this just&#8230; sports betting?</p><h2>Is this just sports betting?</h2><p>Kalshi is regulated by the <a href="https://www.cftc.gov/">CFTC</a> (Commodity Futures Trading Commission) which supervises U.S. derivatives markets. When I say &#8220;regulated&#8221;, what I really mean is &#8220;<a href="https://x.com/exec_sum/status/1985366253070950723">not regulated</a>&#8221;.  <a href="https://www.law.cornell.edu/uscode/text/7/chapter-1">The Commodity Exchange Act (CEA)</a> established the statutory framework under which the CFTC operates. This gives the CFTC authority to prohibit the trading of <a href="https://www.law.cornell.edu/uscode/text/7/13-1">Onion Futures</a>, but also to allow 18 year olds to trade contracts on Kalshi. Kalshi even boasts about &#8220;Minimum Age to Register &amp; Participate&#8221; being 18+ in their <a href="https://kalshi.com/faq">FAQ</a> section where they directly compare themselves to&#8230; sportsbooks. Sportsbooks are at the <a href="https://rg.org/guides/regulations">mercy of state governments</a>, with some states banning sports gambling entirely and others requiring bettors to be 18 or 21+ (typically 21+).</p><p>Cool, but&#8230; Kalshi is different. You&#8217;re trading contracts against your peers, and they can be on anything. It&#8217;s not just sports, right? I&#8217;m not trading against the house, right?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CSPq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CSPq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png 424w, https://substackcdn.com/image/fetch/$s_!CSPq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png 848w, https://substackcdn.com/image/fetch/$s_!CSPq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png 1272w, https://substackcdn.com/image/fetch/$s_!CSPq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CSPq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png" width="1456" height="1333" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1333,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CSPq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png 424w, https://substackcdn.com/image/fetch/$s_!CSPq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png 848w, https://substackcdn.com/image/fetch/$s_!CSPq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png 1272w, https://substackcdn.com/image/fetch/$s_!CSPq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb996eabb-223f-4cc3-9b86-41e54189db76_1600x1465.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Over 82% of contracts are on&#8230; sports. Kalshi is a volume business, the more contracts traded, the more revenue they gross in fees. All the better to be the first gambling platform for 18 year olds. By the way, they offer <a href="https://help.kalshi.com/markets/combos">parlays</a>, making up over 5% of total volume!</p><p>That other thing about not trading against the house&#8230; from Kalshi&#8217;s article titled &#8220;<a href="https://news.kalshi.com/p/who-am-i-trading-against-on-kalshi">Who am I trading against</a>&#8221;:</p><blockquote><p>&#8220;Another significant player on the exchange is <strong>Kalshi Trading</strong>. Kalshi Trading is a separate entity from Kalshi Exchange&#8230; they are a participant on the exchange just like everyone else.&#8221;</p></blockquote><p>If it smells like a sportsbook and trades like a sportsbook it might be a **loud <em>gunshot, author collapses</em>**.</p><h2>Back to The Data!</h2><p>There is a power law distribution of volume in these markets. Bucketing total volume in $, increasing by an order of magnitude, displays this quite well.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!opv9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!opv9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png 424w, https://substackcdn.com/image/fetch/$s_!opv9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png 848w, https://substackcdn.com/image/fetch/$s_!opv9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png 1272w, https://substackcdn.com/image/fetch/$s_!opv9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!opv9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png" width="1456" height="567" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:567,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!opv9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png 424w, https://substackcdn.com/image/fetch/$s_!opv9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png 848w, https://substackcdn.com/image/fetch/$s_!opv9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png 1272w, https://substackcdn.com/image/fetch/$s_!opv9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4ba5ece-913c-49a2-8f19-67ea5dfc98d5_1600x623.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>80% of the $0 volume markets are Combos (a.k.a multivariate events a.k.a parlays). Each one is a unique market that passes through Kalshi&#8217;s <a href="https://help.kalshi.com/markets/combos#quoting-and-liquidity-rfq-system">RFQ</a> system with many not finding someone to take the other side.</p><p>With the same volume bucketing, splitting the buckets by how they resolved, we see that as volume increases, the percentage of markets resolving to &#8220;yes&#8221; also increases.</p><p>This shows that your base rate for any particular market should air on the side of resolving to &#8220;no&#8221;. The relationship with volume makes sense, events with significantly more markets should spread volume thinly across those markets with only one, or a few, resolving to &#8220;yes&#8221;.</p><p>Within these markets, average contracts per trade hovers around 150-250. Except for a massive spike in 2024 due to some 1,000,000 contract trades placed on the U.S. election. The median sits far under this, typically under 50 for most months.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GP4L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GP4L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png 424w, https://substackcdn.com/image/fetch/$s_!GP4L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png 848w, https://substackcdn.com/image/fetch/$s_!GP4L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png 1272w, https://substackcdn.com/image/fetch/$s_!GP4L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GP4L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png" width="1456" height="567" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:567,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GP4L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png 424w, https://substackcdn.com/image/fetch/$s_!GP4L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png 848w, https://substackcdn.com/image/fetch/$s_!GP4L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png 1272w, https://substackcdn.com/image/fetch/$s_!GP4L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e158141-889d-4edf-8ffc-65f18ce9953e_1600x623.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h2>Fees: Sportsbook vs Kalshi</h2><p>If a sportsbook is like roulette, winning money through the odds offered, Kalshi is like poker, where the house makes money from the rake, agnostic to who wins or loses.</p><p>At a sportsbook, you&#8217;ll find &#8220;even odds&#8221;, lines that have a 50% chance on either side, like the coin toss at the Superbowl. Instead of giving you even odds, they&#8217;ll offer a 52.4% chance of heads and a 52.4% chance of tails, higher than reality.</p><ul><li><p>In a fair market, if you bet $10 on a coin toss you&#8217;d expect to win $10 if you choose correctly&#8230; but a sports book, with higher odds, will only pay you $9.09</p></li></ul><p>On a sportsbook, if two people bet $10 on opposite sides of a coin toss, 1 person walks away with $19.09, 1 person walks away $0 and the Sportsbook walks away with $.91 or 4.5% of the total amount wagered. That 4.5% is what people call the <em><strong>vig, juice, hold</strong></em>, etc&#8230;</p><p>For example, the Islanders vs Devils market is, conveniently, 52.4%/52.4% on a sportsbook. On Kalshi, contracts are trading at $.51 (51%). So you should trade on Kalshi because you&#8217;re getting better odds at 51% vs 52.4% at the sportsbook, right?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X8_A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X8_A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png 424w, https://substackcdn.com/image/fetch/$s_!X8_A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png 848w, https://substackcdn.com/image/fetch/$s_!X8_A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png 1272w, https://substackcdn.com/image/fetch/$s_!X8_A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X8_A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png" width="1037" height="871" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:871,&quot;width&quot;:1037,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!X8_A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png 424w, https://substackcdn.com/image/fetch/$s_!X8_A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png 848w, https://substackcdn.com/image/fetch/$s_!X8_A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png 1272w, https://substackcdn.com/image/fetch/$s_!X8_A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55648a3d-2858-444c-83c6-b88befadc9ff_1037x871.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>No! The sportsbook offers worse odds, but the Kalshi taker fee of $.35 offsets this:</p><ul><li><p>Kalshi</p><ul><li><p>Bet $10.55 (Buy 20 contracts for a total of $10.20 + $.35 fee)</p></li><li><p>To win $20</p></li></ul></li><li><p>Sportsbook:</p><ul><li><p>Bet $10.55</p></li><li><p>To win $20.14 ($.14 more than Kalshi for the same bet size)</p></li></ul></li></ul><p>This isn&#8217;t the full story for all markets because Kalshi provides a <a href="https://help.kalshi.com/incentive-programs/liquidity-incentive-program">liquidity incentive </a>and a <a href="https://help.kalshi.com/incentive-programs/volume-incentive-program">volume incentive</a>. In addition, the <a href="https://kalshi.com/fee-schedule">Fee Structure</a> is NOT the same for every market and Kalshi does pay you a <a href="https://help.kalshi.com/navigating-the-exchange/your-portfolio/apy-on-kalshi">yield</a> on positions that accrues daily.</p><h2>Fees: The Math</h2><p><em>If you prefer your math in video form, check out Sam on the Technically YouTube channel:</em></p><div id="youtube2-rcHsBM_7s2o" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;rcHsBM_7s2o&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/rcHsBM_7s2o?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>What <a href="https://kalshi.com/docs/kalshi-fee-schedule.pdf">fees</a> is Kalshi making on all this volume? First, we&#8217;ll look at the fees charged to &#8220;takers&#8221;. The formula is:</p><p style="text-align: center;">fees = round up(0.07 x C x P x (1-P))</p><p>Where C is the number of contracts and P is the price (ranging from $0.01 to $0.99).</p><p>We can plot this with the fee as a function of P and C. The price increases linearly as the number of contracts increases; this is controlled by P*(1-P) which, as you can see from the right chart, shows how the fees <strong>decrease</strong> as the underlying probability moves further from 50%, making highly likely and highly unlikely contracts have the <strong>lowest fees.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SmeA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SmeA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png 424w, https://substackcdn.com/image/fetch/$s_!SmeA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png 848w, https://substackcdn.com/image/fetch/$s_!SmeA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png 1272w, https://substackcdn.com/image/fetch/$s_!SmeA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SmeA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png" width="1456" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SmeA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png 424w, https://substackcdn.com/image/fetch/$s_!SmeA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png 848w, https://substackcdn.com/image/fetch/$s_!SmeA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png 1272w, https://substackcdn.com/image/fetch/$s_!SmeA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aa0f6a8-745b-4eeb-9d06-b4462a9e9146_1512x600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>What we&#8217;ve discovered is the <a href="https://en.wikipedia.org/wiki/Bernoulli_distribution">Bernoulli distribution</a>. The Bernoulli distribution models the outcomes of a single &#8220;yes&#8221; or &#8220;no&#8221; question (in our case, a market).</p><ul><li><p>The variance of this distribution can be modeled as P(1-P) where P is the probability of &#8220;Yes&#8221;; the Y axis of the right chart.</p></li><li><p>Variance exists between 0 and .25,</p></li><li><p>Entropy (uncertainty or randomness in a probability distribution) is maximized at P = .5.</p></li></ul><p>Why doesn&#8217;t Kalshi implement a flat fee, so we don&#8217;t have to make graphs? Likely due to trading concerns:</p><ul><li><p>If a contract costs <strong>98 cents</strong>, the maximum profit you can make is <strong>2 cents</strong>. If Kalshi charged a flat 2-cent fee, you would make $0 profit&#8230; no one would trade it.</p></li></ul><p>Maker fees are identical in slope, they are just scaled down due to the .0175 multiplier, one quarter of the taker fee: fees = round up(0.0175 x C x P x (1-P)).</p><p>After downloading all 203 million historical trades on Kalshi, I know the exact price every contract has traded at. I can plug P&amp;C into those equations and derive the total revenue Kalshi has generated from all these contracts&#8230; $545.6 Million dollars.</p><p>Here&#8217;s Kalshi&#8217;s trading volume by implied probability month over month:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!R0ds!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R0ds!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png 424w, https://substackcdn.com/image/fetch/$s_!R0ds!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png 848w, https://substackcdn.com/image/fetch/$s_!R0ds!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png 1272w, https://substackcdn.com/image/fetch/$s_!R0ds!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R0ds!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png" width="1456" height="592" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:592,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!R0ds!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png 424w, https://substackcdn.com/image/fetch/$s_!R0ds!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png 848w, https://substackcdn.com/image/fetch/$s_!R0ds!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png 1272w, https://substackcdn.com/image/fetch/$s_!R0ds!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F442e44c2-995f-4b64-aa7f-f04fe0fc1e3b_1600x651.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Here&#8217;s Kalshi&#8217;s revenue from fees month over month:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oNIh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oNIh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png 424w, https://substackcdn.com/image/fetch/$s_!oNIh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png 848w, https://substackcdn.com/image/fetch/$s_!oNIh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png 1272w, https://substackcdn.com/image/fetch/$s_!oNIh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oNIh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png" width="1456" height="619" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:619,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oNIh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png 424w, https://substackcdn.com/image/fetch/$s_!oNIh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png 848w, https://substackcdn.com/image/fetch/$s_!oNIh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png 1272w, https://substackcdn.com/image/fetch/$s_!oNIh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0391b09-7e65-4f56-a27f-5c3cadbaced0_1600x680.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>It&#8217;s clear these markets are exploding in popularity, while <a href="https://predictions.draftkings.com/en/">DraftKings</a>, <a href="https://www.fanduel.com/predicts">Fanduel</a>, and <a href="https://www.fanaticsinc.com/press-releases/fanatics-launches-fanatics-markets-the-first-prediction-market-at-the-intersection-of-sports-finance-and-culture">Fanatics</a> scramble to the party. The, &#8220;We are basically doing the same thing but now it&#8217;s sudo-regulated and 18 years olds can do it&#8221; party.</p><h2>Resolutions</h2><p>An interesting resolution was when <a href="https://kalshi.com/markets/kxnflgame/professional-football-game/kxnflgame-25sep28gbdal">Dallas and Green Bay tied</a> in an NFL game. The market resolved to <a href="https://x.com/eightyhi/status/1956098638029185124">50/50</a> rather than yes or no, 100 or 0&#8230; there is no concept of pushing or voiding bets in a prediction market. When things get unclear, Kalshi steps in. In the data, Kalshi marks these results as &#8220;scalar&#8221;, with over 170,000 markets marked as such.</p><p>Market resolution seems to be fairly manual on Kalshi. They have a markets team that thoroughly reviews outcomes. Each market has an authoritative point of reference. For example, the <a href="https://kalshi.com/markets/kxsb/super-bowl/kxsb-26">superbowl</a> lists out several sources and contains rules specific to the event. Despite all that, they still couldn&#8217;t figure out if <a href="https://kalshi.com/markets/kxperformsuperbowlb/who-will-perform-at-the-super-bowl/kxperformsuperbowlb-26">Cardi B performed</a> and resolved the market to the last traded price.</p><p>Polymarket said &#8220;<a href="https://polymarket.com/event/who-will-perform-at-super-bowl-halftime-show">Yes she did perform&#8221;</a> which highlights how they do resolutions <a href="https://docs.polymarket.com/polymarket-learn/markets/how-are-markets-resolved">differently</a> using <a href="https://uma.xyz/">UMA&#8217;s optimistic Oracle</a>&#8230; but we&#8217;ll save that for another time.</p><h2>Conclusion</h2><p>With that, I have 9 beers to drink, and I&#8217;m way over my word count.</p><blockquote><p><strong>Quick legal side quest:</strong> There is another Prediction Market called <a href="https://www.predictit.org/">PredictIT</a> that specializes in political prediction markets. PredictIT is run by a firm called <a href="https://www.aristotle.com/">Aristotle</a> that performs data mining for political campaigns. It was launched in 2014 as a nonprofit educational project out of the Victoria University of Wellington, New Zealand. To operate, they acquired a <a href="https://en.wikipedia.org/wiki/No-action_letter">no-action-letter</a> from the CFTC just like the <a href="https://iem.uiowa.edu/iem/">IEM</a> had, as they agreed to abide by certain guardrails and serve academic purposes. Then, in 2022, PredictIT got shlebanngged by the CFTC for NOT operating in accordance with their agreement. In 2025, they <a href="https://www.lexology.com/pro/content/predictit-defeats-cftc-in-latest-victory-election-betting-market">360 no scoped</a> the CFTC in federal court, and the &#8220;<a href="https://www.predictit.org/platform-announcements">Cadillac of Prediction Markets&#8221;</a> is back baby.</p><p>Anyways, basically, all these players in the &#8220;event contract&#8221; game are submitting <a href="https://www.cftc.gov/csl/24-09/request_letter/0/download">letters</a> and <a href="https://www.cftc.gov/csl/25-47/request_letter/0/download">letters</a> to the CFTC to not take action against them for failing to meet reporting requirements that they&#8217;d otherwise be required to perform. So far, the CTFC seems to <a href="https://www.financemagnates.com/forex/cftc-spares-polymarket-gemini-aristotle-and-miaxdx-from-swap-reporting-rules/">agree</a>, citing the &#8220;limited applicability of traditional swap reporting rules to<a href="https://www.financemagnates.com/terms/e/exchange/"> </a>exchange traded event contracts&#8221;. There&#8217;s other stuff here, like how Kalshi and Robinhood are classified, but suffice it to say that there are many <a href="https://www.barrons.com/articles/cftc-prediction-markets-kalshi-polymarket-185ed141?gaa_at=eafs&amp;gaa_n=AWEtsqcbw3EszNqoxEao-2NNW_09eTyUh4Ds_H-vV76p2DoN5GlX09NmTt1QRO1a7fQ%3D&amp;gaa_ts=69817cd7&amp;gaa_sig=CQMyepqKnUP3RikK8zScuEQNTwlN0h7Q5edqDk-W5tgxZ7CokdOHX8kM0fZiAESbvl22blMApwbpBLZKQ6Jrpg%3D%3D">conversations</a> to be had in the future on how to regulate, tax, and manage reporting on these &#8220;new&#8221; entities.</p></blockquote>]]></content:encoded></item><item><title><![CDATA[What's a Forward Deployed Engineer?]]></title><description><![CDATA[And why is every startup around following the Palantir model?]]></description><link>https://read.technically.dev/p/whats-a-forward-deployed-engineer</link><guid isPermaLink="false">https://read.technically.dev/p/whats-a-forward-deployed-engineer</guid><dc:creator><![CDATA[Sung Won Chung]]></dc:creator><pubDate>Thu, 05 Mar 2026 17:15:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2e615a72-ffc2-472f-9a5a-2e6f57c58949_1640x854.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Before we dive in, two housekeeping notes:</p><ol><li><p>The annual <a href="https://docs.google.com/forms/d/e/1FAIpQLSejyOC5vP99MFHptEx1lHSyYcE3WEDz5o3Yf0Qgcb1d5J0zqQ/viewform?usp=dialog">Technically reader survey</a> is open until the end of the week. </p></li><li><p>Last week&#8217;s post (on <a href="https://read.technically.dev/p/vibe-coding-and-the-maker-movement">vibe coding + the maker movement</a>) from <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Sachin&quot;,&quot;id&quot;:933715,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a128e670-9ce7-4619-860e-7da7b31069ed_836x836.jpeg&quot;,&quot;uuid&quot;:&quot;bde513a9-3777-48a4-9069-98d95dd95ed2&quot;}" data-component-name="MentionToDOM"></span> made the front page of<a href="https://news.ycombinator.com/item?id=47167931"> Hacker News</a> and roused quite a convo.  To continue that convo, tomorrow Sachin + friends will host a <a href="https://open.substack.com/live-stream/124792?utm_source=live-stream-scheduled-upsell">Substack live session at 3:30pm ET</a> to discuss whether we&#8217;re making anything of value when we vibe code, among other topics.</p></li></ol><p>Now on to Palantir + the Forward Deployed Engineer role. Let&#8217;s give a warm welcome to Sung, who&#8217;s done technical sales at multiple software companies (most notably dbt Labs), on his first Technically post.</p><div><hr></div><h2><strong>The TL;DR</strong></h2><p>The startup ecosystem is seeing an explosion of companies coining themselves as, &#8220;We&#8217;re basically Palantir, but for X.&#8221; Underlying that idea is the <strong>Forward Deployed Engineer</strong>, or FDE &#8211; think of them like a customer-facing engineer working directly with prospects and customers. The FDE seems to be all the rage right now&#8230;but is it actually a good idea for startups to have them?</p><p>This post will run through everything you need to know about FDEs, what they do, secular trends that are causing so many companies to want to hire them, and whether they actually make sense for most businesses.</p><p><em>If you prefer this post in video form, check it out on Technically&#8217;s burgeoning <a href="https://www.youtube.com/@Technicallydotdev">YouTube channel</a>:</em></p><div id="youtube2-aDq09TyfmnE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;aDq09TyfmnE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/aDq09TyfmnE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2><strong>What is a Forward Deployed Engineer (FDE)?</strong></h2><p>A Forward Deployed Engineer (FDE) is a highly technical, customer-facing role where software engineers are embedded directly within customers to solve real-world problems. Originally pioneered by companies like Palantir, the role has become essential for AI, enterprise SaaS, and data infrastructure firms where products are too complex to be &#8220;plug-and-play.&#8221; Instead, someone from the vendor has got to get in there and make sure it actually works.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BAVK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BAVK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png 424w, https://substackcdn.com/image/fetch/$s_!BAVK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png 848w, https://substackcdn.com/image/fetch/$s_!BAVK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png 1272w, https://substackcdn.com/image/fetch/$s_!BAVK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BAVK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png" width="1456" height="645" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:645,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BAVK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png 424w, https://substackcdn.com/image/fetch/$s_!BAVK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png 848w, https://substackcdn.com/image/fetch/$s_!BAVK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png 1272w, https://substackcdn.com/image/fetch/$s_!BAVK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb12f92-bd92-4d12-bb83-0be75a1a6361_1518x672.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><strong>How is this different then a conventional technical consultant?</strong></p><p>Technical consultants &#8211; think Accenture and the like &#8211; have been around for decades. Isn&#8217;t an FDE the same thing?</p><p>A lot of people had that same question when Palantir coined the role and it can be summed up simply. FDEs do highly custom work &#8211; like a technical consultant &#8211; but then take it a step further by <em>generalizing</em> the implementation and lessons learned into a core product. In Palantir&#8217;s case, an example is<a href="https://www.palantir.com/docs/foundry/architecture-center/platforms"> *Foundry, &#8220;*the foundational data operations platform, which provides the core capabilities for data management, logic authoring, Ontology development, analytics, and workflow development.&#8221;</a> In a startup&#8217;s case, you&#8217;ll notice they use terms like &#8220;platform&#8221; which is analogous to providing the lego blocks to build use-case specific software vs. building from scratch every time.</p><p><strong>How is this role different from a software engineer (SWE)?</strong></p><p>SWEs are primarily internal and have <a href="https://www.youtube.com/watch?v=HLZrf7xuoi0">minimal interactions with customers</a>. The FDE, on the other hand, takes on the mantle of owning direct customer relationships. There&#8217;s usually a distinction, sometimes as subtext, that FDEs need high technical ability <em>and</em> emotional intelligence (EQ) to be effective in the role. If you&#8217;ve been in the workforce for years, you&#8217;ll recognize this combination is rarer than people think (or like to admit).</p><h2><strong>Why is this Palantirization narrative so popular </strong><em><strong>now</strong></em><strong>?</strong></h2><p><strong>We don&#8217;t know what we don&#8217;t know</strong></p><p>Deploying AI in production is hard, brittle, and constantly evolves. There is literally no such thing as best practice right now. For example, people were raving about vector databases to reduce bloat for LLM models retrieving context to perform tasks. But now, mainstream LLM models don&#8217;t need that infrastructure overhead because they handle 1 million tokens in their context windows; vector databases aren&#8217;t so hot anymore. Similarly, testing AI applications is an emerging art called &#8220;evals&#8221; that is in very early stages to even have convention. This builds a lot of anxious hesitation for anyone, even those on the cutting edge. You can imagine this feeling is more pronounced in <em>large enterprises.</em></p><p><strong>Only a real person can clear the fog of war</strong></p><p>This then motivates the question of what&#8217;s worth retrofitting (think: slapping AI chat bubbles in your app) vs. replacing entire people, processes, and existing subscriptions. There aren&#8217;t enough role models in the industry yet, so companies need a real human with deeply lived experience to make sense of the constant change. To make this emotionally grounded, it&#8217;s like what a lot of people do when researching health problems with AI. It may give convincing general guidance, but you&#8217;ll want a real, human doctor to make big decisions and catch things you didn&#8217;t think to ask the AI.</p><p><strong>Why can&#8217;t you be like Cursor?</strong></p><p>The above couples tightly with the fact that expectations for being a &#8220;successful startup&#8221; have increased exponentially. Being a unicorn ($1 billion valuation) startup gave you pedestal prestige. But now, it feels like you have to be a decacorn ($10 billion valuation) startup to attain that same cachet. To reach that decacorn requires fast revenue growth, and the easiest way to get there is to win bigger sales deals that are six-figures on average vs. the 4-5 figures a lot of startups even 2 years ago saw as convention. This biases them towards going all-in on <em>large enterprises.</em></p><h2><strong>But first, explaining enterprise sales</strong></h2><p>To understand the role of the FDE we must first take a detour to talk about old school enterprise sales.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_X7t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_X7t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png 424w, https://substackcdn.com/image/fetch/$s_!_X7t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png 848w, https://substackcdn.com/image/fetch/$s_!_X7t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png 1272w, https://substackcdn.com/image/fetch/$s_!_X7t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_X7t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png" width="1456" height="1132" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1132,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_X7t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png 424w, https://substackcdn.com/image/fetch/$s_!_X7t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png 848w, https://substackcdn.com/image/fetch/$s_!_X7t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png 1272w, https://substackcdn.com/image/fetch/$s_!_X7t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b01823c-4d07-4dd0-aa0a-c383a5ba82d7_1600x1244.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>In short, it&#8217;s a highly custom sales motion requiring many months, persuading and aligning multiple stakeholders and departments at a company, custom contracting, and &#8220;white-glove&#8221; onboarding. Some examples include buying a fleet of airplanes by a major airline. The airline likely won&#8217;t feel comfortable with standard pricing and contract terms with the swipe of a monthly credit card subscription. For software, the enterprise sales motion above was likely expressed in how your company bought slack or Microsoft teams, buying hundreds or thousands of seats in a single contract.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://read.technically.dev/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">Technically helps you make practical sense of software + AI.  Subscribe to know which tools + trends to follow, and which to let pass you by like a floating branch on a stream.</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><h2><strong>Working with enterprises is very very difficult</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ku5S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ku5S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png 424w, https://substackcdn.com/image/fetch/$s_!ku5S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png 848w, https://substackcdn.com/image/fetch/$s_!ku5S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png 1272w, https://substackcdn.com/image/fetch/$s_!ku5S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ku5S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png" width="479" height="408.34490238611716" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:393,&quot;width&quot;:461,&quot;resizeWidth&quot;:479,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ku5S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png 424w, https://substackcdn.com/image/fetch/$s_!ku5S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png 848w, https://substackcdn.com/image/fetch/$s_!ku5S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png 1272w, https://substackcdn.com/image/fetch/$s_!ku5S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F016548a8-72c8-43a4-9620-ba08d69103a8_461x393.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Let&#8217;s get a bit more meticulous with how selling to large enterprises looks and feels. The above affectionately termed &#8220;the decagon of despair&#8221; illustrates why enterprises are slow to buy new software, even if they really want it. I&#8217;ll belabor the point with questions that a potential customer thinks through when they see a demo or thinking seriously about buying.</p><ul><li><p><strong>Institutional Inertia</strong>: Why is this worth doing extra work on top of my busy job?</p></li><li><p><strong>Charging Models</strong>: Do we get economies of scale as we expand usage of the product?</p></li><li><p><strong>Audit</strong>: What internal governing body/accounting firm will yell at me if we get this wrong?</p></li><li><p><strong>Capability</strong>: Does it solve the problem with a reasonable level of effort?</p></li><li><p><strong>Security</strong>: Does this touch the public internet? You got RBAC and SSO? SOC 2 Type 2?</p></li><li><p><strong>Outdated Paradigms</strong>: This mental model is the only one this org runs on (think: on-prem only)</p></li><li><p><strong>Regulation</strong>: What external governing body will yell at us if we get this wrong?</p></li><li><p><strong>Procurement</strong>: What&#8217;s a reasonable price to value?</p></li><li><p><strong>Legacy</strong>: Retrofit vs. replace?</p></li><li><p><strong>Change Control</strong>: Who is the project manager that keeps progress daily and maps names to scope?</p></li></ul><p>These questions swim through an enterprise buyer&#8217;s head no matter how good a startup&#8217;s product is. It can be summed in an adage we&#8217;re all familiar with: &#8220;Change is hard.&#8221; Most enterprises aren&#8217;t willing to change with fancy slides, a demo, and even an undeniably great product. Enterprise buyers commit to a complicated, immersive relationship, and you need a face like an FDE to instill trust that it&#8217;s worth it.</p>
      <p>
          <a href="https://read.technically.dev/p/whats-a-forward-deployed-engineer">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[On change]]></title><description><![CDATA[The times they are a-changin'&#8212;but maybe not how you think. Plus a reader survey.]]></description><link>https://read.technically.dev/p/on-change</link><guid isPermaLink="false">https://read.technically.dev/p/on-change</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Tue, 03 Mar 2026 16:00:29 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8ad5f442-febc-4917-bfa2-705713562ce2_1100x220.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>One thing that I&#8217;ve been thinking about a lot lately is change. Change comes in all forms, whether you&#8217;re ready for it or not, and whether it&#8217;s the kind you wanted or now begrudgingly need to adapt to.</p><p>First, there&#8217;s been a lot of change with Technically. We&#8217;ve assembled a pretty killer group of writers covering topics in new depth, from Will <a href="https://read.technically.dev/p/whats-a-datacenter">going in depth on data centers</a> to Christy <a href="https://read.technically.dev/p/ai-and-the-em-dash">explaining why</a> AI uses so many em dashes. In fact, Sachin&#8217;s post about <a href="https://read.technically.dev/p/vibe-coding-and-the-maker-movement">vibe coding and the maker movement</a> was the first post from Technically to ever make it to the front page of Hacker News, 6 years after I started this thing. It&#8217;s weird to transition from only-writer to editor and sometimes-writer, but this is <em>good</em> change.</p><p>The change in the labor markets is not necessarily good change. Last week Block laid off 40% of their 10,000 employees, despite the fact that &#8220;our business is strong&#8221; and &#8220;gross profit continues to grow.&#8221; Jack said it&#8217;s because of AI&#8230;but is that really true? Or did Block just overhire in 2020 &#8211; like everyone else did &#8211; and the time has come to pay the piper? For those of us using AI day to day, it&#8217;s hard to say we&#8217;re getting a 40% efficiency gain (as if that would even translate to an entire organization).</p><p>Quibbles about disingenuous headcount reduction aside, everyone seems to believe that more of these mass layoffs are coming. The story goes that AI is going to make entire swaths of workers obsolete, rendering them useless corporate husks who will need to resort to &#8220;get ready with me as an unemployed father of 3&#8221; reels to pay the bills. Grim indeed.</p><p>But even this change isn&#8217;t so clear. Like happened with previous waves of technological disruption, entirely new fields are opening up thanks to AI. Notion just <a href="https://jobs.ashbyhq.com/notion/4bbfad88-0830-46c5-8d05-d95d17d583ca">opened up a new role</a> for a &#8220;Model Behavior Engineer&#8221; whose job is to own the quality bar for Notion AI products. It&#8217;s a wacky combination of technical skill, good taste, running evals, and all-in-all doing a suite of things that completely didn&#8217;t exist a few years ago. Plus, contrary to popular narratives, job postings for software engineers &#8211; whose work is allegedly &#8220;a solved problem&#8221; by AI &#8211; <a href="https://www.citadelsecurities.com/news-and-insights/2026-global-intelligence-crisis/">are up 11% this year</a>.</p><p>In fact, we&#8217;re seeing this in a quickly changing Technically subscriber base. Over the past few months we&#8217;ve been getting a ton of signups from industrial companies, from pipe manufacturers to railroads. New people are interested in software and AI, and how they can use it at work to make their jobs easier.</p><p>Bobby said it best in 1964: The Times They Are A-Changin. I believe that if we&#8217;re open minded, are willing to change quickly, and hustle a little bit, we&#8217;ll all be fine.</p><p>Which brings me to you. To make sure we're covering the right things for the right people, from time we run reader surveys.  In last year&#8217;s survey, we realized that no one (not even us) knew what evals were.</p><p><em>Lend us 2 minutes for a 6-question survey, to share where we can help you become more technical this year:</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://docs.google.com/forms/d/e/1FAIpQLSejyOC5vP99MFHptEx1lHSyYcE3WEDz5o3Yf0Qgcb1d5J0zqQ/viewform?usp=dialog&quot;,&quot;text&quot;:&quot;Take the survey&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://docs.google.com/forms/d/e/1FAIpQLSejyOC5vP99MFHptEx1lHSyYcE3WEDz5o3Yf0Qgcb1d5J0zqQ/viewform?usp=dialog"><span>Take the survey</span></a></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Will vibe coding end like the maker movement?]]></title><description><![CDATA[Is your vibe-coded app a Crapject or a Gift?]]></description><link>https://read.technically.dev/p/vibe-coding-and-the-maker-movement</link><guid isPermaLink="false">https://read.technically.dev/p/vibe-coding-and-the-maker-movement</guid><dc:creator><![CDATA[Sachin]]></dc:creator><pubDate>Thu, 26 Feb 2026 16:00:16 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/930faad1-6c70-4d57-a2f1-5273483daa28_644x447.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Whenever a new technology arrives, the impulse is to treat it as something that has never existed before. A clean break from everything that came prior. I catch myself doing this with vibe coding constantly, and I see it everywhere around me. But the most useful lens for understanding a new phenomenon is almost never the phenomenon itself. You want something adjacent, close enough to share structural similarities but removed enough to see clearly. It&#8217;s on the lookout for something like this that I started reading more about the Maker Movement of ~2005-2015.</p><p>The Maker Movement was the spiritual predecessor to vibe coding. The parallels are hard to miss. Vibe coding has <em>slop</em>. The Maker Movement had <em><a href="https://www.vice.com/en/article/the-inexorable-rise-of-the-crapjects/">crapjects</a>,</em> a term the community coined for 3D-printed objects that served no purpose beyond proving you could extrude plastic into a shape. The Claude Code of that era was a $200 printer from Monoprice and a breadboard.</p><p>The scene around making produced what were probably the first internet-native network intellectuals. <a href="https://en.wikipedia.org/wiki/Chris_Anderson_(writer)">Chris Anderson</a> (who wrote the widely-read piece about the long tail) left his editor-in-chief role at <em>Wired</em> to start a robotics company called 3D Robotics. Cory Doctorow wrote<a href="https://en.wikipedia.org/wiki/Makers_(novel)"> Makers,</a> a sci-fi novel based around characters who are hacking hardware and business models to survive in a world where everything is falling apart. These were people who gained influence by participating visibly in a making culture and writing about what it meant.</p><p>A lot of the intellectual energy of the AI era orbits around AGI: when it arrives, what it&#8217;ll do to jobs, whether it will be aligned. The Maker Movement had its own gravitational center, and it was the idea that making physical things with your hands could produce an internal transformation. You would become more creative, more entrepreneurial, more self-reliant. The object you made mattered less than what the act of making did to you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V58r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V58r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.png 424w, https://substackcdn.com/image/fetch/$s_!V58r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.png 848w, https://substackcdn.com/image/fetch/$s_!V58r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.png 1272w, https://substackcdn.com/image/fetch/$s_!V58r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V58r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.png" width="626" height="782" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:782,&quot;width&quot;:626,&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_!V58r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.png 424w, https://substackcdn.com/image/fetch/$s_!V58r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.png 848w, https://substackcdn.com/image/fetch/$s_!V58r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.png 1272w, https://substackcdn.com/image/fetch/$s_!V58r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ae2044e-9f90-45a4-9681-9b6a3832607a_626x782.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><h2>Puritanism With a Soldering Iron</h2><p>In 2018, the media scholar Fred Turner <a href="https://fredturner2022.sites.stanford.edu/sites/g/files/sbiybj27111/files/media/file/turner-millenarian-tinkering-tech-culture-2018.pdf">published a paper</a> that put this ideology under a microscope. His argument was that the Maker Movement had reinvented the theology of the Western Frontier for the digital age.</p><p>The specifics of seventeenth-century Puritanism are obviously gone. Nobody at a Maker Faire was talking about predestination. But Turner traced the literary forms and the millenarian structure&#8212;the belief that a great transformation is coming, and that individual discipline will determine who makes it through. In the Maker narrative, the American landscape is economically barren. Jobs have disappeared. Institutions have failed you. And in this wilderness, the lone individual searches inside themselves for signs of the entrepreneurial spirit, the creative spark, evidence that they are among the elect who will build their way to salvation.</p><p>Turner&#8217;s observation extends well beyond 3D printers. You can trace this same pattern through almost every hobbyist technology scene of the past fifty years. Homebrew computer clubs in the 1970s. Punk zines in the 1980s. The early web in the 1990s. Each one developed a community of practice&#8212;what Brian Eno would call a &#8220;scenius&#8221;&#8212;where people played with tools that the mainstream considered toys. Each one generated its own salvation narrative: master this tool, transform yourself, become the kind of person who builds the future.</p><p>And each one operated with a useful kind of slack. The tools were unproductive on purpose. Nobody expected your Arduino project to ship to customers. Nobody expected your homebrew computer to compete with IBM. The whole point was that you had permission to fuck around, and the finding-out happened gradually, through play, over years. This is where the old Silicon Valley adage comes from: &#8220;What smart people do on the weekends, everyone else will do during the week in ten years.&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://read.technically.dev/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">Receive new issues of Technically to your inbox:</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><h2>What&#8217;s Different About Vibe Coding</h2><p>Vibe coding broke this pattern in a way that matters.</p><p>Every previous wave of hobbyist technology went through a scenius phase&#8212;a period where small groups of weirdos played with tools before anyone expected economic output from them.</p><p>Vibe coding skipped that phase entirely. It was deployed directly to the general public, and almost immediately into the codebases of enterprise companies and well-developed products. There was no protected playground period. There was no time to accumulate the weird, useless, playful knowledge that scenius communities generate. Instead, there was immediate pressure to one-shot yourself into a hit product or solve a complex use case on the first try.</p><p>This matters because the scenius phase is where the internal transformation actually happens. When you spend two years making useless Arduino projects, you develop instincts about electronics, materials, and design that you can&#8217;t get from a tutorial. When vibe coding goes straight to production, you lose that developmental space. The tool is powerful enough to produce real output before the person using it has developed real judgment. When I speak with people who are on Claude Code 12-14 hours a day, I feel like I&#8217;m speaking to someone possessed by something, attempting to grasp a different reality. In the case of scenius, the feedback loop that tethers you to reality was provided by other humans. Someone looked at your project and told you it&#8217;s pointless, or brilliant, or both. While in the case of vibe coding, the feedback loop is provided by the machine, and you&#8217;re constantly attempting to discern if you&#8217;re going crazy or if something genuinely valuable has been produced.</p><p>What it produces is something like hypomania: a state where your productive capacity genuinely increases. You&#8217;re not imagining that you&#8217;re getting more done, you actually are, but your evaluative faculty is unaccustomed to this mode of creation. You lose the ability to distinguish between &#8220;this is good&#8221; and &#8220;I feel good making this.&#8221; Everything feels like a breakthrough. The output is real but your relationship to it is distorted.</p><p>The speed and ease of vibe coding create a kind of evaluative anesthesia. You can&#8217;t tell if you&#8217;ve built something useful or just something that exists. In some way, this is the sober version of hippies in the 60s trying LSD for the first time: sometimes you may have a breakthrough, or you may have a breakdown, but regardless of which, this is the opposite of the salvation through making that Fred Turner talks about.</p><h2>The Maker Movement&#8217;s Quiet Ending</h2><p>There&#8217;s a second reason the old transformation-through-making metaphor doesn&#8217;t fit vibe coding, and it has to do with how the Maker Movement actually ended.</p><p>The central promise&#8212;that distributed digital fabrication would bring manufacturing back to America, that every city would have micro-factories, that 3D printing would decentralize production&#8212;simply didn&#8217;t materialize. What happened instead follows a pattern that Joel Spolsky described years ago in his essay on <a href="https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/">commoditizing your complement</a>: cheap 3D printers and Arduinos made <em>prototyping</em> nearly free, which was genuinely useful. But the deep, compounding knowledge of how to actually manufacture things at scale continued to accumulate in industrial bases like Shenzhen. Prototyping got democratized. The cheap tools commodified one layer of the stack and made the layer beneath it more valuable by comparison.</p><p>You can watch something structurally similar happening with vibe coding right now. People are rapidly prototyping tools that threaten to displace <a href="https://www.cnbc.com/2026/02/09/monday-com-stock-ai-software.html">entire SaaS business models</a>. But the value generated by all that rapid iteration and prototyping flows upward. It accumulates at the model layer, in the training data, in the infrastructure. The vibe coders themselves risk becoming interchangeable, each one spinning up impressive demos without accumulating durable value of their own. The pattern rhymes: cheap tools democratize one layer, and the layer beneath captures the surplus.</p><h2>A New Metaphor: Consumption</h2><p>With both of these forces at play&#8212;no scenius phase to develop through, and value accumulating upstream rather than with the maker&#8212;the old metaphor of transformation-through-making doesn&#8217;t hold up exactly. We need a new one.</p><p>The metaphor I&#8217;d offer is <strong>consumption</strong>.</p><p>Specifically: consumption of a surplus intelligence. AI represents an enormous amount of available cognitive energy, and vibe coding is one way of expending that energy before it goes to waste. Think of it like a resource that&#8217;s being generated whether you use it or not&#8212;and vibe coding is the act of channeling that surplus into play, into exploration, into rapid creation that may or may not produce lasting artifacts.</p><p>This framing has started showing up in various places. Rachel Thomas compares the experience of vibe coding something to <a href="https://www.fast.ai/posts/2026-01-28-dark-flow/">the dark flow state when you gamble</a>. The idea being that you are getting addicted to the superficial experience of creating, which might start off as flow, but eventually becomes something you are addicted to rather than something that helps you grow.</p><p>Consumption almost always gets treated as a negative behavior, especially if you&#8217;re an entrepreneur or builder. Consuming is what passive people do. Builders produce.</p><p>I think this framing is wrong, or at least incomplete. There are several productive ways to think about what consumption actually generates.</p><h3>Taste as a Residue of Expenditure</h3><p>When production becomes lightning fast with low marginal costs (when you can spin up an app in an afternoon), the scarce resource shifts to knowing what <em>should</em> exist. The vibe coder who burns through dozens of prototypes, building things and immediately discarding them, develops a kind of pattern recognition that the models themselves don&#8217;t have. This is judgment about what&#8217;s worth building, what feels right, what users actually want. It&#8217;s a sensibility, and sensibility is notoriously hard to commoditize because it&#8217;s illegible. You develop it by making a lot of things and paying attention to which ones felt alive and which ones felt dead.</p><p>The value capture here looks like creative direction, curation, taste-making, advisory roles. You&#8217;re selling the discrimination you developed <em>by</em> making things and throwing them away. The ideas guy is back. At the extreme end of this path, you become the protagonist of William Gibson&#8217;s <em>Pattern Recognition</em>: someone who has such finely tuned aesthetic instincts that companies hire them simply to say yes or no to something already production ready.</p><h3>Attention as a Combustion Byproduct</h3><p>Expenditure that&#8217;s visible generates spectacle, and spectacle generates attention. When you vibe-code something in public&#8212;building fast, shipping immediately, iterating in front of an audience&#8212;the product you make matters less than the performance of making it. And undoubtedly, much of vibe coding today is pure signalling performance.</p><p>The recent wave of &#8220;<a href="https://x.com/search?q=built%20in%20a%20weekend%20&amp;src=typed_query">built this in a weekend</a>&#8220; posts works on this principle. The product is often mid. Sometimes it&#8217;s outright disposable. But the act of making it, timing the release, and dropping it into the network at the right moment is a performance of surplus, and people watch performances. The value capture is audience, reputation, and the optionality those create in the form of future collaborations, job offers, investor interest, consulting gigs.</p><p>This is structurally identical to how content creators already operate. A YouTuber&#8217;s individual video is an expenditure. The audience accumulated across hundreds of videos is the asset. Vibe coding just adds another medium to the content creator&#8217;s toolkit: instead of expending effort on essays or videos, you expend it on apps and tools, and you capture the attention the same way.</p><h3>Projects as Gifts</h3><p>If you treat your vibe-coded output as gifts&#8212;open source tools, free utilities, shared templates, public repos&#8212;you&#8217;re creating the conditions to occupy an interesting or powerful position in the network. Think of the people who built the early web&#8217;s most useful free tools and resources: They became nodes that other people oriented around.</p><p>The gift economy has always been the underlying value capture strategy of open source, but the consumption frame explains why it works <em>psychologically</em> for vibe coders in a way that the usual advice of &#8220;build open source projects to get hired&#8221; doesn&#8217;t quite land. When you frame it as strategic career-building, it feels transactional and a little desperate. When you frame it as expending surplus, it feels natural. You have extra cognitive energy available through these tools. You spend it. You give away what you made. And the gift economy does what gift economies have always done: it creates social bonds, reputation, and reciprocal obligation.</p><h3>Signal Capture Before Upstream Absorption</h3><p>Every time you vibe-code something, you&#8217;re generating signal. Signal about what users want. Signal about which patterns work. Signal about where the model fails, what edge cases it misses, what instructions it misinterprets. That signal currently flows upstream to model providers for free. Your prompts, your iterations, your corrections&#8212;all of it becomes training data for the next generation of models. You are, in a very literal sense, performing unpaid labor for the infrastructure layer every time you build something.</p><p>But informational exhaust can be captured before it drifts upstream. If you can structure the signal you&#8217;re generating&#8212;as proprietary datasets, as documented feedback loops, as systematic records of what works and what doesn&#8217;t in a specific domain&#8212;you end up holding something the infrastructure layer actually needs and can&#8217;t easily replicate. Every vibe coding session produces this exhaust as a byproduct. The question is whether you let it dissipate or whether you collect it. The people who collect it end up building what you might call a data fortress: a position that gets stronger with every prototype, even the ones that get thrown away, because the knowledge of <em>why</em> they failed is the valuable part.</p><p>This is the spirit of what early makers were accomplishing in the scenius. Trivial as their output may have been, they were immersed in the production process and through that developed a tactile understanding of their medium. With vibe coding, that data is generated for free. Will you use it?<br><br>***</p><p>Consumption doesn&#8217;t have to be passive. Surplus can be spent well. The key distinction is whether you&#8217;re burning energy with some awareness of what the combustion produces&#8212;taste, attention, social capital, structured signal&#8212;or whether you&#8217;re just spinning up a dozen projects and wondering why none of them stick.</p><p>Personally, I find the consumption metaphor to be a good way to deal with the burnout that comes with constantly using AI for various things. A lot of people approach making things with the mindset of craft, and naturally extend this framing to vibe coding. That framing feels noble and it&#8217;s deeply familiar, but it&#8217;s also a recipe for burnout, because craft assumes you are reaching inside yourself and pulling something out. The whole emotional architecture of craft is transformational: you struggle, and develop mastery, and the object you produce is evidence of inner change. When the tool is doing most of the producing, that framework starts to collapse. You&#8217;re left reaching inward for something that the process never required you to develop, and the gap between the effort you expected to invest and the effort that was actually needed starts to feel like a personal failure rather than a feature of the technology.</p><p>The consumption framing sidesteps this entirely. You&#8217;re not reaching inward. You&#8217;re starting from the position that there is extra energy available and it needs to go somewhere. The question shifts from &#8220;what does this say about me as a maker&#8221; to &#8220;what&#8217;s the most interesting thing I can spend this on.&#8221; That&#8217;s a fundamentally different emotional posture, and in practice it&#8217;s a much more sustainable one.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://read.technically.dev/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">Technically is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How I use AI for writing (part 1)]]></title><description><![CDATA[On ethics, vibes and knowing what you're good at.]]></description><link>https://read.technically.dev/p/how-i-use-ai-for-writing-part-1</link><guid isPermaLink="false">https://read.technically.dev/p/how-i-use-ai-for-writing-part-1</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Thu, 19 Feb 2026 16:30:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GnnE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ae498f-87b2-496c-b7b6-1d2ebcc10453_1600x907.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For a while now I&#8217;ve been meaning to sit down and write about how and why I use AI tools for writing. This first part is about my moral framework for these models through the lens of the creative act. </p><p>Part 2 will cover some more practical tips I&#8217;ve discovered for getting better words out of models, like style guides.</p><blockquote><p><strong>&#128226; Thanks to our sponsor: <a href="https://rippling.com">Rippling</a></strong></p><p>But&#8230;</p></blockquote>
      <p>
          <a href="https://read.technically.dev/p/how-i-use-ai-for-writing-part-1">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[What’s a Datacenter?]]></title><description><![CDATA[What actually goes on inside the buildings propping up the US economy.]]></description><link>https://read.technically.dev/p/whats-a-datacenter</link><guid isPermaLink="false">https://read.technically.dev/p/whats-a-datacenter</guid><dc:creator><![CDATA[Will Raphaelson]]></dc:creator><pubDate>Thu, 12 Feb 2026 16:30:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zCXc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you know anything about the <a href="https://technically.dev/universe/cloud">cloud</a> or modern web apps, you&#8217;ve probably seen a diagram like this one:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aHkA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aHkA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.png 424w, https://substackcdn.com/image/fetch/$s_!aHkA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.png 848w, https://substackcdn.com/image/fetch/$s_!aHkA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.png 1272w, https://substackcdn.com/image/fetch/$s_!aHkA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aHkA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.png" width="936" height="293" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:293,&quot;width&quot;:936,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Simple diagram showing users sending an HTTPS request to a cloud API and database.&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="Simple diagram showing users sending an HTTPS request to a cloud API and database." title="Simple diagram showing users sending an HTTPS request to a cloud API and database." srcset="https://substackcdn.com/image/fetch/$s_!aHkA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.png 424w, https://substackcdn.com/image/fetch/$s_!aHkA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.png 848w, https://substackcdn.com/image/fetch/$s_!aHkA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.png 1272w, https://substackcdn.com/image/fetch/$s_!aHkA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1b8945c-52a0-4823-ba57-ea3d2ef4eb98_936x293.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>For most of us, even most engineers, this grey box is a sufficient level of detail on the datacenter, and that&#8217;s by design. Cloud service providers (CSPs) make it so you don&#8217;t need to know anything about the computers that serve your <a href="https://technically.dev/universe/http">HTTP</a> request or store your data. This is the fundamental value proposition of the cloud: you take care of the code, we&#8217;ll take care of the hosting.</p><p>But aren&#8217;t you curious?</p><h2>Datacenters&#8230; So hot right now</h2><p>Datacenters are the subject of renewed public attention, for better and for worse. On the bright side, datacenter investment is<a href="https://www.credaily.com/briefs/data-centers-power-most-of-us-gdp-growth-in-2025/"> broadly holding up the US economy</a>. A Harvard economist estimated that datacenter and related tech investment accounted for 92% of US GDP growth in the first half of 2025, despite being just 4% of total GDP.</p><p>On the other hand, all this datacenter construction has prompted major pushback from communities worried about their effect on the environment, utility availability, and property values. Over<a href="https://www.datacenterwatch.org/report"> $64 billion in datacenter projects have been blocked or delayed</a> due to local opposition. In Warrenton, Virginia,<a href="https://www.datacenterwatch.org/report"> residents voted out every town council member</a> who supported Amazon&#8217;s proposed datacenter. A nationwide poll found that<a href="https://www.multistate.us/insider/2025/10/2/data-centers-confront-local-opposition-across-america"> only 44% of Americans would welcome a datacenter nearby</a>, making them less popular than gas plants, wind farms, or even nuclear facilities.</p><h1>So, what&#8217;s a datacenter?</h1><p>When you search for the best Thai food near you, or post &#8220;happy brithday!&#8221; on your auntie&#8217;s Facebook wall, these requests are ultimately handled by a datacenter. The task you&#8217;ve set in motion by clicking the search button travels through the air, to your router, through a whole bunch of cables, to a computer in the datacenter that needs to actually retrieve Thai spots and then send those results back to you. These computers that do the heavy lifting behind the scenes, which are called <a href="https://technically.dev/universe/server">servers</a>, are the lifeblood of the datacenter. The datacenter is where thousands of servers that power your favorite application call home.</p><p>More than just pad see ew reviews flow through datacenters: critical time-sensitive information like bank transactions, visa applications, and medical records all rely on datacenter operations. When these critical centers of <a href="https://technically.dev/universe/infrastructure">infrastructure</a> have outages, businesses, institutions, and economies are hit hard. All this to say: keeping servers on, secure, and reliable is <em>very important.</em> Every aspect of the datacenter, its location, people, technology, and design, is in service of this goal. So let&#8217;s take a tour.</p><h2>Getting there and getting in</h2><p>You&#8217;ll probably need to drive to the datacenter, because datacenters are in the middle of nowhere. As we&#8217;ll learn in a bit, these operations depend on fiber access for fast networks, but also take up a ton of space, so cheap land is helpful. For this reason, datacenters are often on the outskirts of larger metros - think northern Virginia outside DC, and Oregon outside Portland.</p><p>Not just anyone is allowed into the buildings that run the economy. Modern datacenters employ biometric identification methods, a two-door &#8220;man-trap&#8221; to avoid anyone sneaking in behind you, a strict no phones / personal possessions policy, and the requirement that any guests be accompanied by staff at all times. With the price of <a href="https://technically.dev/posts/whats-a-gpu">GPUs</a> these days, perhaps Ocean&#8217;s 18 will see Danny and co. get through all these mechanisms to steal a pocketful of chips.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zCXc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zCXc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zCXc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zCXc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zCXc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zCXc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg" width="800" height="312" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:312,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A scene from Ocean's Eleven.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A scene from Ocean's Eleven." title="A scene from Ocean's Eleven." srcset="https://substackcdn.com/image/fetch/$s_!zCXc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zCXc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zCXc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zCXc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1375070e-10ab-4354-adc3-a3805a8bda7d_800x312.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h2>Let&#8217;s get physical</h2><p>In the main hall of the datacenter, the first thing you&#8217;ll notice will be the sound. A low but loud hum that comes from all sides at once. These are the mole people. Just kidding. These are the cooling fans! Computers do their best work at about the same temps that humans do - between 64 and 84 degrees Fahrenheit. This requires, among other things, a ton of fans. They blow cool air up from the ground to the front of the servers, and another fan blows hot air from the back of the servers out into the exhaust. The difference between the &#8220;cool aisle&#8221; and the &#8220;hot aisle&#8221; can be over 30 degrees.</p><p>Looking around, you&#8217;ll see rows and rows of tall cabinets. In scale, these fall somewhere between library shelves and narrow streets. The cabinets themselves are about 6 feet tall and 2 feet wide, and they&#8217;re arranged in rows that can stretch hundreds of feet. This is where the servers live. But before we get to the servers themselves, let&#8217;s talk about how all of this is organized.</p><p>Servers are housed in cabinets called racks. A standard rack is 42U tall, &#8220;U&#8221; being the unit everyone uses, equal to 1.75 inches of vertical space. Do the math and you get about 73 inches, or just over 6 feet. The 42U standard exists for practical reasons: it&#8217;s tall enough to pack in a lot of compute, but short enough to fit through doors and elevators, and a technician can reach the top without a ladder.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ofi-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ofi-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!ofi-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!ofi-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!ofi-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ofi-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Illustration of a 42U server rack next to a person for size comparison.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Illustration of a 42U server rack next to a person for size comparison." title="Illustration of a 42U server rack next to a person for size comparison." srcset="https://substackcdn.com/image/fetch/$s_!ofi-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!ofi-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!ofi-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!ofi-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379f7631-0ae0-43fe-b543-3d48d415cf52_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Inside a rack, you&#8217;ll find servers stacked like drawers. A typical server is 1U or 2U tall, so a single rack can hold somewhere between 20 and 42 servers, plus switches, power <a href="https://technically.dev/universe/distribution">distribution</a>, and cable management. The width is standardized at 19 inches (the actual mounting rails are 17.75 inches apart), which means any server from any manufacturer will slide into any rack. This interchangeability is the whole point, which we&#8217;ll get to in a second.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LOHG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LOHG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!LOHG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!LOHG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!LOHG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LOHG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Drawing of a server blade sliding into a server rack.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Drawing of a server blade sliding into a server rack." title="Drawing of a server blade sliding into a server rack." srcset="https://substackcdn.com/image/fetch/$s_!LOHG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!LOHG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!LOHG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!LOHG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb655a238-0f84-4bcc-9d0b-66b5be369eee_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>
          <a href="https://read.technically.dev/p/whats-a-datacenter">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Technically Monthly (February 2026)]]></title><description><![CDATA[Neural networks that mirror the brain, real data on which AI use cases actually make money, and why ChatGPT physically cannot stop using em dashes.]]></description><link>https://read.technically.dev/p/technically-monthly-february-2026</link><guid isPermaLink="false">https://read.technically.dev/p/technically-monthly-february-2026</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Thu, 05 Feb 2026 16:30:45 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8ad5f442-febc-4917-bfa2-705713562ce2_1100x220.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Dear magnanimous Technically readers,</p><p>January was a month of change for us at Technically. In addition to some fascinating writing about AI + neuroscience, why AI models use so many em dashes, and what people are actually using AI for, we brought on a whole new roster of writers that I&#8217;m excited to introduce you to. You&#8217;ll be hearing from them a lot for &#8230;</p>
      <p>
          <a href="https://read.technically.dev/p/technically-monthly-february-2026">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI and the — em dash]]></title><description><![CDATA[Finally, an explanation for why AI models can't seem to quit them.]]></description><link>https://read.technically.dev/p/ai-and-the-em-dash</link><guid isPermaLink="false">https://read.technically.dev/p/ai-and-the-em-dash</guid><dc:creator><![CDATA[Christy Bieber]]></dc:creator><pubDate>Thu, 29 Jan 2026 16:30:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zZaj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This sentence &#8212; which I wrote from scratch without the help of AI &#8212; contains an em dash (actually two).</p><p>If you&#8217;ve been keeping up with the online discourse about AI writing, you may be surprised that I put an em dash in this post. That&#8217;s because so many human writers are steering away from this once-common punctuation mark, which is now viewed as a hallmark of writing written by chatbots.</p><p>In fact, AI bots love the em dash <em>so</em> much that it can be <a href="https://community.openai.com/t/cannot-get-responses-to-not-include-dashes-and-em-dashes/1023216">hard to get them to write content </a><em><a href="https://community.openai.com/t/cannot-get-responses-to-not-include-dashes-and-em-dashes/1023216">without</a></em><a href="https://community.openai.com/t/cannot-get-responses-to-not-include-dashes-and-em-dashes/1023216"> including it</a>, even when you give the bot explicit instructions <em>not</em> to do so. LLMs can be so funny sometimes.</p><p>Of course, this raises the question of <em>why </em>em dashes are all over AI-written content &#8212; and whether human writers should give up this once-beloved punctuation mark entirely, so their content isn&#8217;t immediately clocked as being written by an LLM.</p><h2>Why does AI love the em-dash so much?</h2><p>AI&#8217;s love affair with em dashes seems to have a simple explanation: The data used to train large language models was full of em-dashes. The AI is simply mimicking the writers that it learned from.</p><p>In fact, there&#8217;s some evidence to suggest that the content AI was trained on included significantly <em>more</em> em-dashes than you might expect. And weirdly enough, their prevalence seems to have become a deep bias that&#8217;s embedded into how LLMs understand the flow and structure of writing.</p><h3>AI-training material may have used an overabundance of em-dashes</h3><p>One theory behind AI&#8217;s love of the em-dash is that the later-generation AI models, which rely on it much more heavily than earlier iterations, were trained on <strong>older books</strong> that included more em-dashes than most modern writers would.</p><p>Early on, most AI models were trained based on a mix of public data on the Internet, as well as based on content from pirated books. However, in a quest for better quality <a href="https://technically.dev/universe/training">training</a> data as the tools evolved, AI models started scanning older texts. Curating the massive data trove that is the internet has been a major focus of AI Labs for more recent model generations, and finding quality text from books was certainly part of that.</p><p>The exact timeline for when this happened is something of a mystery, but Anthropic started in 2024, based on <a href="https://www.publishersweekly.com/binary-data/ARTICLE_ATTACHMENT/file/000/006/6700-1.pdf">court documents</a>, and other AI labs likely made a similar move somewhere between 2022 and 2024.</p><p>If AI labs digitized mostly <em>older</em> books, which is a common belief largely because of expired copyrights, their AI programs may have been fed writing with significantly more em dashes included in it  &#8212; especially as <a href="https://www.researchgate.net/figure/Changes-in-the-frequencies-of-punctuation-marks-in-Google-N-gram-viewer-1500-2008_fig3_328512136">studies</a> show the use of that use of the em-dash <a href="https://www.researchgate.net/publication/328512136_Frequency_Distributions_of_Punctuation_Marks_in_English_Evidence_from_Large-scale_Corpora">peaked in the 1860s</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_!zZaj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zZaj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zZaj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zZaj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zZaj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zZaj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg" width="1152" height="912" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:912,&quot;width&quot;:1152,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:253017,&quot;alt&quot;:&quot;Line chart showing rising use of the word &#8220;dash&#8221; over time.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://read.technically.dev/i/186077662?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Line chart showing rising use of the word &#8220;dash&#8221; over time." title="Line chart showing rising use of the word &#8220;dash&#8221; over time." srcset="https://substackcdn.com/image/fetch/$s_!zZaj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zZaj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zZaj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zZaj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F055f5f8a-a671-44af-afff-4d64117ca444_1152x912.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>It may not have been the books alone, either.</p><p>Another theory suggests that AI may <em>also</em> have picked up em-dash use from Medium, which automatically converted two hyphens (--) into an em-dash since the <a href="https://youtu.be/1d4JOKOpzqU?si=xXDqGEXiawLtWo5e&amp;t=569">company&#8217;s founder was a fan of typography</a>. Since Medium may have been seen as a source of high-quality writing by LLMs (and ergo upweighted in training by labs), AI may have determined that the em dash is a key feature of high-quality prose.</p><h3>The brevity theory</h3><p>There&#8217;s also another competing theory as well. Some suggest that AI favors em dashes because of brevity.</p><p>AI models think in <a href="https://technically.dev/universe/token">token</a>s, or small chunks of text, and they constantly have to evaluate the next <a href="https://technically.dev/universe/token">token</a> to use. The more <a href="https://technically.dev/universe/token">token</a>s the model uses, the more chance there is to make a mistake, so AI models prefer to use fewer <a href="https://technically.dev/universe/token">token</a>s to reduce loss</p><p>An em dash is just <em>one</em> token, while other alternatives, like &#8220;, and&#8221;, actually add up to three tokens. As a result, the em dash ends up being favored to improve efficiency.</p>
      <p>
          <a href="https://read.technically.dev/p/ai-and-the-em-dash">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How are companies actually using AI?]]></title><description><![CDATA[No surveys or corporate hand-waving: let's answer the question with actual data.]]></description><link>https://read.technically.dev/p/how-are-companies-using-ai</link><guid isPermaLink="false">https://read.technically.dev/p/how-are-companies-using-ai</guid><dc:creator><![CDATA[Kenny Ning]]></dc:creator><pubDate>Tue, 27 Jan 2026 18:11:38 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8ad5f442-febc-4917-bfa2-705713562ce2_1100x220.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>People love to talk about their pets, the weather, a recent vacation. But there&#8217;s one thing that people <em>love</em> to talk about even more: what they&#8217;re using AI for.</p><ul><li><p>I used <a href="https://technically.dev/universe/chatgpt">ChatGPT</a> to build me a workout plan</p></li><li><p>I vibe coded a NYT cooking inspired recipe generator</p></li><li><p>I had AI write me a song about the Python 3.14 release notes</p></li></ul><p>It&#8217;s not just people using AI anymore; cor&#8230;</p>
      <p>
          <a href="https://read.technically.dev/p/how-are-companies-using-ai">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI and neuroscience]]></title><description><![CDATA[AI models seem to approximate the brain, intentionally or otherwise]]></description><link>https://read.technically.dev/p/ai-and-neuroscience</link><guid isPermaLink="false">https://read.technically.dev/p/ai-and-neuroscience</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Tue, 13 Jan 2026 16:31:20 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8ad5f442-febc-4917-bfa2-705713562ce2_1100x220.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Like many of you I&#8217;ve been watching (listening to?) a lot of the Dwarkesh podcast over the past 6 months, and one theme that seems to come up a lot is <strong>the relationship between AI and the brain</strong>. The way we train and use GenAI models today strongly resembles how the pathways in the human brain actually work; and many neuroscientists and AI researchers believe the key to unlocking <em>real</em> superintelligence will lie in our ability to better understand and exploit that connection.</p><p>This post is going to explore a few ways in which this is true and explain some of these rather complicated ideas in more simple language.</p><h2><strong>Neural networks, the basis for everything</strong></h2><p>The obvious place to start is <strong><a href="https://technically.dev/universe/neural-network">neural networks</a></strong>, the architecture for pretty much all of the AI models that you use today like the GPT family, Claude, Nano Banana, and the like. Obviously the first word &#8211; neural &#8211; likens these models to the animal brain. The human brain has something in the range of 86B neurons, which are specialized cells that transmit nerve impulses; essentially the core unit of how our brains transmit information and signals. The idea is that <a href="https://technically.dev/universe/neural-network">neural networks</a> work in kind of the same way.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZBsd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZBsd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.png 424w, https://substackcdn.com/image/fetch/$s_!ZBsd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.png 848w, https://substackcdn.com/image/fetch/$s_!ZBsd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.png 1272w, https://substackcdn.com/image/fetch/$s_!ZBsd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZBsd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.png" width="1456" height="949" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:949,&quot;width&quot;:1456,&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_!ZBsd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.png 424w, https://substackcdn.com/image/fetch/$s_!ZBsd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.png 848w, https://substackcdn.com/image/fetch/$s_!ZBsd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.png 1272w, https://substackcdn.com/image/fetch/$s_!ZBsd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d23cfe-025f-4cf5-9ad5-d6c6b5842dfb_1456x949.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>And indeed, you&#8217;d be hard pressed to find an explanation of neural networks that <em>doesn&#8217;t</em> make an analogy to the human brain. Take, for example, <a href="https://read.technically.dev/p/all-about-ai-model-architectures">Technically&#8217;s very own breakdown</a> of neurons from the prolific Nicole Errera:</p><blockquote><p><em>Neurons are the basic building blocks of AI architectures, modeled after the actual biological neurons that transmit signals throughout the human brain. Remember, AI models are essentially pattern investigators; they find the underlying pattern in the data. You can think of these neurons as the mathematical functions that are doing this hard investigative work, getting into the weeds of the data and figuring out what&#8217;s going on.</em></p><p><em>The math performed by individual neurons is actually pretty simple &#8211; it&#8217;s usually just basic multiplication and addition that you could do with a calculator. So how are AI models able to capture such complex patterns, like the ones involved in language and vision? The trick is to string together a lot of neurons &#8211; like hundreds of millions of them.</em></p></blockquote><p>So in practice, the neural net in a model like GPT-5 does, at least loosely, resemble how a mammalian brain works. This is no accident. If you <a href="https://cs.stanford.edu/people/eroberts/courses/soco/projects/neural-networks/History/history1.html">trace the history</a> of the neural network you&#8217;ll end up back in 1943 (when I was born), when Warren McCulloch (neurophysicist) and Walter Pitts (mathematician) <a href="https://www.cs.cmu.edu/~epxing/Class/10715/reading/McCulloch.and.Pitts.pdf">wrote a paper</a> proposing a mechanism for how neurons might actually work.</p><p>To illustrate their hypothesis they modeled a simple neural net using electrical circuits. Further attempts culminated in a breakthrough at Stanford in 1959 when MADALINE (it&#8217;s an acronym) became the first neural network applied to a real world problem &#8211; eliminating echoes on phone lines. So in short, the fact that neural networks (roughly) approximate how the brain works is not an accident, this insight is core to their entire historical origin.</p><p>Now any neuroscientist worth their salt will tell you that there&#8217;s more that we <em>don&#8217;t</em> know about the brain than there is that we <em>do</em> know. The true inner workings of this organ are still really a mystery. And so it would be naive to argue that neural networks work <em>in the same way</em> that the brain works. But it&#8217;s safe to say that they&#8217;re <em>inspired by</em> what we do know about how the brain works, at least loosely.</p>
      <p>
          <a href="https://read.technically.dev/p/ai-and-neuroscience">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Technically Monthly (January 2026)]]></title><description><![CDATA[Comparing vibe coding tools, making sure your AI workflows don&#8217;t hallucinate into oblivion, and why careless AI use might actually get you replaced.]]></description><link>https://read.technically.dev/p/technically-monthly-january-2026</link><guid isPermaLink="false">https://read.technically.dev/p/technically-monthly-january-2026</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Tue, 06 Jan 2026 16:30:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jQ6V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello distinguished Technically readers,</p><p>My sources tell me <a href="https://www.youtube.com/watch?v=QXk1K2iVtCY">it&#8217;s not too late to say happy new year</a>.</p><p>2025 was the year everyone started to use AI at work. 2026 is the year we figure out how to get the most out of it, vibe code things that actually work, and steer clear of hallucinations (unless you&#8217;re into that kind of thing, in which case you might get oneshotted by ayahuasca).</p><p>So here&#8217;s what we&#8217;ve been up to for the past month.</p><h2>New on Technically</h2><h3><a href="https://technically.dev/posts/vibe-coding-tool-comparison">2026 vibe coding tool comparison</a></h3><p><em><a href="https://read.technically.dev/p/2026-vibe-coding-tool-comparison?r=44h0yc">Available as a free post on Substack</a> (courtesy of Vercel) and now in its permanent home in the <a href="https://technically.dev/knowledge-bases/working-with-ai">AI, it&#8217;s not that Complicated</a> knowledge base.</em></p><p>All hail vibe coding, savior of the Ideas Guy. But which vibe coding tool should you use? I tested 4 of the most popular options by building the same app on each: an internal dashboard for Vandelay Industries&#8217; potato chip import/export operations.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jQ6V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jQ6V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png 424w, https://substackcdn.com/image/fetch/$s_!jQ6V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png 848w, https://substackcdn.com/image/fetch/$s_!jQ6V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png 1272w, https://substackcdn.com/image/fetch/$s_!jQ6V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jQ6V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png" width="1456" height="1119" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1119,&quot;width&quot;:1456,&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_!jQ6V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png 424w, https://substackcdn.com/image/fetch/$s_!jQ6V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png 848w, https://substackcdn.com/image/fetch/$s_!jQ6V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.png 1272w, https://substackcdn.com/image/fetch/$s_!jQ6V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72841c24-77d0-4af2-8d7a-391723939aee_1600x1230.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>For each I cover how well they work, any quirks to watch out for, plus pricing and how far you can get on a free plan.</p><h3><a href="https://technically.dev/posts/ai-user-guide-to-evals">The AI user&#8217;s guide to evals</a></h3><p><em>Available as a <a href="https://read.technically.dev/p/the-ai-users-guide-to-evals?r=44h0yc">paid preview on Substack</a>, and now in its permanent home in the <a href="https://technically.dev/knowledge-bases/working-with-ai">AI, it&#8217;s not that Complicated</a> knowledge base.</em></p><p>As non-technical people build more and more stuff with AI they are starting to run into the same issues as software engineers &#8211; it&#8217;s hard to know when things are working or not. This guide to evals gives you the background you need to start adding effective monitoring to your AI system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZAgI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZAgI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png 424w, https://substackcdn.com/image/fetch/$s_!ZAgI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png 848w, https://substackcdn.com/image/fetch/$s_!ZAgI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png 1272w, https://substackcdn.com/image/fetch/$s_!ZAgI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZAgI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png" width="1000" height="598" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:598,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZAgI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png 424w, https://substackcdn.com/image/fetch/$s_!ZAgI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png 848w, https://substackcdn.com/image/fetch/$s_!ZAgI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png 1272w, https://substackcdn.com/image/fetch/$s_!ZAgI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd476fa-8efc-48f1-a1db-3403f7956a4a_1000x598.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Based on my conversation with eval expert Hamel Husain, this post covers:</p><ul><li><p>Why evals matter: moving from &#8220;I think the bot is getting better&#8221; to &#8220;hallucination rate dropped from 15% to 3% this week&#8221;</p></li><li><p>Look at the data: why you need to examine your failures before writing fancy tests</p></li><li><p>Assertions over LLM judges: why simple keyword checks beat complex AI-judging-AI setups</p></li><li><p>A practical 4-step workflow: vibe check, spreadsheet, simple fixes, then targeted evals</p></li></ul><p>This one is pretty practical.</p><h3><a href="https://technically.dev/posts/ai-will-replace-you-if-you-let-it">AI will replace you at your job if you let it</a></h3><p><em>Also available as a <a href="https://read.technically.dev/p/ai-will-replace-you-at-your-job-if?r=44h0yc">free post on Substack</a> and in the <a href="https://technically.dev/knowledge-bases/working-with-ai">AI, it&#8217;s not that Complicated knowledge base</a>.</em></p><p>Like you, I&#8217;m extremely tired of the recurring headlines about &#8220;AI replacing the workforce,&#8221; written almost exclusively by people who know nothing about AI and have never been part of said workforce. And yet&#8230; many people are using AI so carelessly that you won&#8217;t be able to blame their bosses when they decide AI can do the work in their stead.</p><p>I believe that staying ahead is going to mean really taking the time to use AI intelligently, customizing it to your needs, tweaking your prompts, and keeping an iterative mindset. <a href="https://technically.dev/posts/ai-will-replace-you-if-you-let-it">AI will only replace you at your job if you let it</a>.</p><h2>From the AI Reference: Prompt Engineering</h2><p>If you weren&#8217;t in the loop and got too caught up in the holidays of it all, we recently launched the<a href="https://technically.dev/ai-reference"> AI Reference</a>&#8212;a companion to the<a href="https://technically.dev/universe"> Technically Universe</a> focused specifically on AI concepts. This month&#8217;s featured term is one everyone using AI tools should understand:</p><h3>Prompt Engineering</h3><p><a href="https://technically.dev/ai-reference/prompt-engineering">Prompt engineering</a> is the art of talking to AI models in a way that gets you the results you actually want. It&#8217;s the practice of crafting inputs that reliably produce the outputs you&#8217;re looking for, whether that&#8217;s generating marketing copy, analyzing data, or answering customer questions.</p><p>Here&#8217;s the thing: AI models are incredibly powerful, but they&#8217;re also incredibly literal. Ask ChatGPT &#8220;write about dogs&#8221; and you might get a 500-word essay about canine evolution. Ask it &#8220;write 3 bullet points about why dogs make good pets&#8221; and you&#8217;ll get exactly what you need. That difference in specificity is prompt engineering in action.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qRFb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qRFb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!qRFb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!qRFb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!qRFb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qRFb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qRFb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png 424w, https://substackcdn.com/image/fetch/$s_!qRFb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png 848w, https://substackcdn.com/image/fetch/$s_!qRFb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!qRFb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3ff8bd-d0f2-4406-a261-beb59365d290_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Why this matters:</p><ul><li><p>Good prompts can save you money, time, and frustration when working with AI</p></li><li><p>The more context and structure you provide, the better models can give you what you actually want</p></li><li><p>Think of it as learning to communicate with a very smart but literal-minded assistant</p></li><li><p>Key techniques include few-shot prompting, chain of thought reasoning, and setting clear constraints</p></li></ul><h2>Coming up this month</h2><p>We&#8217;ve got three posts on deck for January:</p><ul><li><p><strong>AI for PMMs: </strong>automating customer segmentation. A look at how product marketing teams can start using AI to segment customers.</p></li><li><p><strong>What&#8217;s fine-tuning? </strong>A breakdown of what fine-tuning is and why it comes up so often in AI discussions.</p></li><li><p><strong>How AI chips get made: </strong>An overview of how the hardware behind modern AI systems is produced.</p></li></ul><h2>Are you using AI at work?</h2><p>We want to hear what&#8217;s actually working. If you&#8217;ve automated a tedious task, built something useful, or helped your team adopt AI without chaos, send us a reply and share your story.</p>]]></content:encoded></item><item><title><![CDATA[Technically 2026 Last-minute Gift Guide]]></title><description><![CDATA[Wonderful items for my wonderful subscribers]]></description><link>https://read.technically.dev/p/technically-2026-last-minute-gift</link><guid isPermaLink="false">https://read.technically.dev/p/technically-2026-last-minute-gift</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Mon, 22 Dec 2025 16:30:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dDlo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>What do you buy for that special engineer in your life who requires everything &#8211; from her mechanical keyboard to her espresso machine &#8211; to be <em>just so</em>? Or perhaps you&#8217;ve had a good year, and want to get a little something for yourself, as a treat?</p><p>They told me not to write this. They said &#8220;stay in your lane, Justin.&#8221; You just explain technical things, you can&#8217;t recommend gifts. You don&#8217;t know how to reach the hearts of loved ones. Well, I&#8217;ll be DAMNED if I don&#8217;t try!</p><p>By the way, I&#8217;m taking the last two weeks of the year off to go cook in a restaurant (literally), so Technically will be offline. I know it will be difficult to soldier on without my sweet voice hitting your inbox every week with technical explainers&#8230;but I have confidence in you.</p><p>Without further ado&#8230;</p><h2><strong>The Ohto CR02</strong></h2><p>Yea, I can type, but sometimes I like writing things down the old fashioned way. And nobody is better at crafting the instruments to do so than the Japanese. I tested 4 different Ohto pens and <a href="https://www.jetpens.com/OHTO-CR02-Ceramic-Rollerball-Pen-0.5-mm-Matte-Black/pd/41402">the CR02</a> was my favorite after a few days of furious scribbling.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dDlo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dDlo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.png 424w, https://substackcdn.com/image/fetch/$s_!dDlo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.png 848w, https://substackcdn.com/image/fetch/$s_!dDlo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.png 1272w, https://substackcdn.com/image/fetch/$s_!dDlo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dDlo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.png" width="600" height="400" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c944c55-538c-4e21-999b-8b6986e08934_600x400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;: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_!dDlo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.png 424w, https://substackcdn.com/image/fetch/$s_!dDlo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.png 848w, https://substackcdn.com/image/fetch/$s_!dDlo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.png 1272w, https://substackcdn.com/image/fetch/$s_!dDlo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c944c55-538c-4e21-999b-8b6986e08934_600x400.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>It&#8217;s a ceramic rollerball, so it glides across the page. And at 0.5mm it&#8217;s the perfect thinness for my dainty preferences.</p><p><strong>Price: $16</strong></p><h2><strong>The Orbit Plus Turntable</strong></h2><p>It probably doesn&#8217;t surprise you that I&#8217;m a jazz guy (I even play drums occasionally). And the genre is best appreciated on vinyl for reasons that are set in the cosmos. Orbit makes affordable and high quality turntables that look great and are assembled in the USA. I&#8217;d recommend going for <a href="https://uturnaudio.com/products/orbit-plus-turntable">the Plus</a>, which for an extra $150 gets you a much better cartridge.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wfvh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wfvh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png 424w, https://substackcdn.com/image/fetch/$s_!wfvh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png 848w, https://substackcdn.com/image/fetch/$s_!wfvh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png 1272w, https://substackcdn.com/image/fetch/$s_!wfvh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wfvh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png" width="1322" height="1188" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1188,&quot;width&quot;:1322,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1895426,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://read.technically.dev/i/182164534?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.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_!wfvh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png 424w, https://substackcdn.com/image/fetch/$s_!wfvh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png 848w, https://substackcdn.com/image/fetch/$s_!wfvh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png 1272w, https://substackcdn.com/image/fetch/$s_!wfvh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F120b011c-d05f-4058-9b95-318242ea706c_1322x1188.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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"><em>Pictured: my setup at home</em></figcaption></figure></div><p>If you already have speakers, great. If you don&#8217;t I can highly recommend the <a href="https://www.kantoaudio.com/powered-speakers/yu4/">Kanto YU4</a> alongside <a href="https://www.kantoaudio.com/subwoofers/sub6v/">their SUB6 subwoofer</a>. They&#8217;re reasonably priced, sound great, and have a built in preamp plus bluetooth so you can stream from your devices if you so desire.</p><p><strong>Price: $399</strong></p><h2><strong>The Salomon XT-6</strong></h2><p>If you live in Brooklyn you already know that these were THE shoes of the early 2020s. And now that they are slightly less cool it&#8217;s the perfect time to wear them without judgement from your family. These things are literally the most comfortable supportive shoes I have ever owned, better than running shoes for sure.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QO95!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QO95!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png 424w, https://substackcdn.com/image/fetch/$s_!QO95!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png 848w, https://substackcdn.com/image/fetch/$s_!QO95!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png 1272w, https://substackcdn.com/image/fetch/$s_!QO95!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QO95!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png" width="1188" height="1475" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1475,&quot;width&quot;:1188,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QO95!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png 424w, https://substackcdn.com/image/fetch/$s_!QO95!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png 848w, https://substackcdn.com/image/fetch/$s_!QO95!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png 1272w, https://substackcdn.com/image/fetch/$s_!QO95!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0235726d-c6c3-4f3e-86a0-2b7bd30c045d_1188x1475.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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 already own 3 pairs and unfortunately for my roommate there are probably more in my future. You can purchase them <a href="https://www.salomon.com/en-us/product/xt-6-lg4239/L47444800">from Salomon</a> or any other reputable retailer.</p><p><strong>Price: $180</strong></p><h2><strong>A neo-vintage Rolex Explorer 16570</strong></h2><p>Modern Rolex is so overdone. What you really want is stuff from the 90&#8217;s and 2000&#8217;s, when the bracelet links were hollow and Rolex was still a working man&#8217;s watch. The 16570 is perhaps the best of this era, sporting the 3185/3186 caliber movement that&#8217;s pretty much still in use in their modern GMTs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NG6Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NG6Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png 424w, https://substackcdn.com/image/fetch/$s_!NG6Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png 848w, https://substackcdn.com/image/fetch/$s_!NG6Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png 1272w, https://substackcdn.com/image/fetch/$s_!NG6Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NG6Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png" width="1080" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NG6Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png 424w, https://substackcdn.com/image/fetch/$s_!NG6Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png 848w, https://substackcdn.com/image/fetch/$s_!NG6Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png 1272w, https://substackcdn.com/image/fetch/$s_!NG6Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506397f9-9739-426d-aa8e-6f71ae9c10af_1080x540.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>They say you buy a Rolex when you&#8217;ve made it. I say, you buy a Rolex to fake that you&#8217;ve made it. Shake the hand of a potential business associate and they will hear the rattle of that old world craftsmanship. They think, wow, this is a man of eminent taste and respectability. This is a woman I could do business with. Before you know it, you are running for president.</p><p>You&#8217;re welcome.</p><p><strong>Price: priceless (but actually around $8-9K)</strong></p><h2><strong>The Bradford Chef Knife in AEB-L Steel</strong></h2><p><a href="https://bradfordknives.com/culinary/499-30285-chef-knife-AEB-L-Steel.html#/2-fastener_type-tumbled/20-blade_finish-stonewash/70-material_type-aeb_l/74-handle_color-3d_microtextured_ghost_g_10">This</a> has become my workhorse in the kitchen, and I barely touch my fancy super thin Japanese Bunka anymore. It&#8217;s sturdy and thick, but can hold a great edge (at least for a week or two, it does need a lot of sharpening). I love the composite handle, because I don&#8217;t have to worry about water getting in there like with my wooden handle knives.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sty-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sty-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png 424w, https://substackcdn.com/image/fetch/$s_!sty-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png 848w, https://substackcdn.com/image/fetch/$s_!sty-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png 1272w, https://substackcdn.com/image/fetch/$s_!sty-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sty-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png" width="1208" height="1206" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1206,&quot;width&quot;:1208,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2566940,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://read.technically.dev/i/182164534?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.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_!sty-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png 424w, https://substackcdn.com/image/fetch/$s_!sty-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png 848w, https://substackcdn.com/image/fetch/$s_!sty-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png 1272w, https://substackcdn.com/image/fetch/$s_!sty-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21142644-38b0-4e42-8e7c-b31fbeee6bb4_1208x1206.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Bradfords are proudly hand finished in Washington since 2012. They have a lifetime warranty (including sharpening) and are insanely reasonably priced for what you&#8217;re getting.</p><p><strong>Price: $219</strong></p><p>--</p><p>Be it a record player, a knife, or even a simple pen, I hope your gifts are well received. Happy holidays everyone.</p>]]></content:encoded></item><item><title><![CDATA[2026 vibe coding tool comparison]]></title><description><![CDATA[Comparing Replit, v0, Lovable and Bolt, in a bakeoff to decide who will be Vandalay Industries go-to vibe coding tool.]]></description><link>https://read.technically.dev/p/2026-vibe-coding-tool-comparison</link><guid isPermaLink="false">https://read.technically.dev/p/2026-vibe-coding-tool-comparison</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Thu, 18 Dec 2025 16:17:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MwUf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s widely understood that the holidays is about family, but of what use are they if they&#8217;re constantly holding you back from your professional goals?  </p><p>Here at Technically, we believe that the holidays is about the grind &#8212; you&#8217;ve finally broken free from being the idea guy on the business side.  As Charlie Parker said, &#8220;now is the time&#8221; &#8212; get out the laptop, heat up a hot pocket, and prompt away.  </p><p>The holidays are for vibe coding.  Idea people thrive in the holidays. Let&#8217;s dive in.</p><p>&#8212;</p><p>It&#8217;s nearing 2026, and you (probably) don&#8217;t need a software engineer to build the app of your dreams. I tested 4 of the most popular vibe coding tools to see which was the best. TL;DR:</p><ul><li><p><strong>Replit</strong> was the most feature rich, well thought out, and powerful</p></li><li><p><strong>v0</strong> was the best if you&#8217;re already a developer and want a technical interface</p></li><li><p><strong>Lovable</strong> and <strong>Bolt</strong> were pretty much objectively worse than the other two</p></li></ul><p>Most importantly, I believe that the initial app building phase in vibe coding is largely commoditized across tools, and what makes any platform a better fit than another is largely pricing models and <a href="https://technically.dev/universe/integration">integrations</a>.</p><p>In this post I&#8217;ll walk through my experience with each of these tools, covering:</p><ul><li><p>How they work, and important differentiating features</p></li><li><p>Pricing, <a href="https://technically.dev/universe/token">tokens</a>, and how far you can get on a free plan (I paid for 2/4)</p></li><li><p>How good (or bad) they are at fixing bugs</p></li></ul><p>Throughout I&#8217;ll be using a very serious, very real set of prompts. As Art Vandelay, owner and CEO of Vandelay Industries, my team needs an internal dashboard to handle the importing and exporting of potato chips to the United States.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MwUf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MwUf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png 424w, https://substackcdn.com/image/fetch/$s_!MwUf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png 848w, https://substackcdn.com/image/fetch/$s_!MwUf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png 1272w, https://substackcdn.com/image/fetch/$s_!MwUf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MwUf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png" width="1456" height="1119" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1119,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MwUf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png 424w, https://substackcdn.com/image/fetch/$s_!MwUf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png 848w, https://substackcdn.com/image/fetch/$s_!MwUf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png 1272w, https://substackcdn.com/image/fetch/$s_!MwUf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9483a218-fe08-47c3-be69-d69c9d33d07a_1600x1230.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Here&#8217;s the prompt I started each tool out with:</p><blockquote><p><em>I am the CEO of Vandelay Industries, a global firm that handles the importing and exporting of potato chips to the United States. I need to build an app for managing the internal operations of my business. The app should have 3 main views:</em></p><p><em>1) An inventory manager / CRM of all of our shipments of potato chips. This should be a table view backed by a <a href="https://technically.dev/universe/database">database</a> with columns for things like each shipment&#8217;s potato chip brand, size, monetary value, and who and where it is being shipped to</em></p><p><em>2) <a href="https://technically.dev/universe/analytics">Analytics</a> and charts on our shipments: top shippers, top brands, volume for this month, things like that</em></p><p><em>3) A map of current shipments and where they are located</em></p></blockquote><p>From there I inspected each app and went through each bug one by one, prompting the model to fix it.</p><p><em>Thanks to our friends at <a href="http://vercel.com">Vercel</a>, who make v0, for sponsoring this post + giving me a good reason to sit down with all of these vibe coding tools.  </em></p><p><em>The below reviews are my own opinions, and as you&#8217;ll see I shoot you straight. </em></p><h2><strong>Replit</strong></h2><p>Replit was the most feature rich, felt the best thought out, and overall created the best and most polished finished app of all of the tools I tested. But it also took by far the longest, frequently set itself into doop loops, wasted tokens on nonsensical testing that didn&#8217;t work, and there&#8217;s no way to publish your app without paying.</p><h3><strong>Replit stat sheet</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vhlT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vhlT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png 424w, https://substackcdn.com/image/fetch/$s_!vhlT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png 848w, https://substackcdn.com/image/fetch/$s_!vhlT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png 1272w, https://substackcdn.com/image/fetch/$s_!vhlT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vhlT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png" width="1264" height="366" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:366,&quot;width&quot;:1264,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43717,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://read.technically.dev/i/181997819?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.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_!vhlT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png 424w, https://substackcdn.com/image/fetch/$s_!vhlT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png 848w, https://substackcdn.com/image/fetch/$s_!vhlT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png 1272w, https://substackcdn.com/image/fetch/$s_!vhlT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b50f2ff-29bd-48ac-a6e8-c46ccc6121c9_1264x366.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h3><strong>Initial prompting and planning</strong></h3><p>When you prompt Replit Agent it starts by generating a plan. In most vibe coding tools you can either toggle on planning mode, or the tool automatically defaults to 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_!BnaP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BnaP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png 424w, https://substackcdn.com/image/fetch/$s_!BnaP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png 848w, https://substackcdn.com/image/fetch/$s_!BnaP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png 1272w, https://substackcdn.com/image/fetch/$s_!BnaP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BnaP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png" width="1442" height="994" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:994,&quot;width&quot;:1442,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BnaP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png 424w, https://substackcdn.com/image/fetch/$s_!BnaP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png 848w, https://substackcdn.com/image/fetch/$s_!BnaP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png 1272w, https://substackcdn.com/image/fetch/$s_!BnaP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a81b3c5-9f88-4d3d-99bd-3eec3ab8ee54_1442x994.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Another unique feature among the vibe coding tools I evaluated was this choice Replit gave me before building anything:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hLXn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hLXn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png 424w, https://substackcdn.com/image/fetch/$s_!hLXn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png 848w, https://substackcdn.com/image/fetch/$s_!hLXn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png 1272w, https://substackcdn.com/image/fetch/$s_!hLXn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hLXn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png" width="1310" height="612" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:612,&quot;width&quot;:1310,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hLXn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png 424w, https://substackcdn.com/image/fetch/$s_!hLXn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png 848w, https://substackcdn.com/image/fetch/$s_!hLXn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png 1272w, https://substackcdn.com/image/fetch/$s_!hLXn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f915fc-19df-4c59-9c52-43cd32829bc9_1310x612.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>This brings me to my first main point, which is that despite building essentially an identical UI to the other vibe coding tools I tried, Replit took a really long time to build it: about 15 minutes or so. My sense is a lot of this time was wasted on the model getting confused, adding and then removing things, and unnecessary testing.</p><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s9eg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s9eg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png 424w, https://substackcdn.com/image/fetch/$s_!s9eg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png 848w, https://substackcdn.com/image/fetch/$s_!s9eg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png 1272w, https://substackcdn.com/image/fetch/$s_!s9eg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s9eg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png" width="906" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:906,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!s9eg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png 424w, https://substackcdn.com/image/fetch/$s_!s9eg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png 848w, https://substackcdn.com/image/fetch/$s_!s9eg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png 1272w, https://substackcdn.com/image/fetch/$s_!s9eg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62edb01e-e56f-46d1-8a12-d7a3db57600f_906x480.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>It&#8217;s extremely trippy watching a model create a codebase from scratch; it&#8217;s eerily similar to a human, trying stuff and getting errors, then fixing those errors and starting the whole thing over again.</p><h3><strong>Pricing structure</strong></h3><p>Towards the end of the app build, I got paywalled:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sefN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sefN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png 424w, https://substackcdn.com/image/fetch/$s_!sefN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png 848w, https://substackcdn.com/image/fetch/$s_!sefN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png 1272w, https://substackcdn.com/image/fetch/$s_!sefN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sefN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png" width="914" height="664" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:664,&quot;width&quot;:914,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sefN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png 424w, https://substackcdn.com/image/fetch/$s_!sefN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png 848w, https://substackcdn.com/image/fetch/$s_!sefN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png 1272w, https://substackcdn.com/image/fetch/$s_!sefN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0323c94c-6d2e-4371-ada9-3d9a8b4a8785_914x664.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Replit&#8217;s pricing isn&#8217;t credit based, and instead calculates a cost per prompt based on how long the prompt took to resolve. For every prompt you will get a breakdown of how long it took, how many actions were done, and then how much your agent usage cost.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-txx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2622a578-47e7-4d59-8272-02022c261c32_896x362.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-txx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2622a578-47e7-4d59-8272-02022c261c32_896x362.png 424w, https://substackcdn.com/image/fetch/$s_!-txx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2622a578-47e7-4d59-8272-02022c261c32_896x362.png 848w, https://substackcdn.com/image/fetch/$s_!-txx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2622a578-47e7-4d59-8272-02022c261c32_896x362.png 1272w, https://substackcdn.com/image/fetch/$s_!-txx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2622a578-47e7-4d59-8272-02022c261c32_896x362.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-txx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2622a578-47e7-4d59-8272-02022c261c32_896x362.png" width="896" height="362" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2622a578-47e7-4d59-8272-02022c261c32_896x362.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:362,&quot;width&quot;:896,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-txx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2622a578-47e7-4d59-8272-02022c261c32_896x362.png 424w, https://substackcdn.com/image/fetch/$s_!-txx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2622a578-47e7-4d59-8272-02022c261c32_896x362.png 848w, https://substackcdn.com/image/fetch/$s_!-txx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2622a578-47e7-4d59-8272-02022c261c32_896x362.png 1272w, https://substackcdn.com/image/fetch/$s_!-txx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2622a578-47e7-4d59-8272-02022c261c32_896x362.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Here you&#8217;ll notice that 75% of my costs were for something called &#8220;Automated UI Testing&#8221; &#8211; this is one of the worst features in Replit by a mile and is unfortunately enabled by default. It essentially tries to automatically test your app using some sort of emulated browser:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rKNP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rKNP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png 424w, https://substackcdn.com/image/fetch/$s_!rKNP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png 848w, https://substackcdn.com/image/fetch/$s_!rKNP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png 1272w, https://substackcdn.com/image/fetch/$s_!rKNP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rKNP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png" width="908" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:908,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rKNP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png 424w, https://substackcdn.com/image/fetch/$s_!rKNP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png 848w, https://substackcdn.com/image/fetch/$s_!rKNP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png 1272w, https://substackcdn.com/image/fetch/$s_!rKNP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b29f82-eaa2-4dff-90b0-4830f01abae7_908x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>The problem is that it doesn&#8217;t really work, takes orders of magnitude more time than your actual app building prompts, and ends up costing you extra money at phases where you didn&#8217;t even need testing. And it&#8217;s enabled by default, which it really shouldn&#8217;t be.</p><p>Overall the app cost about $6 for the initial build, and subsequent smaller bug fixes were usually $0.50 or less.</p><h3><strong>Final app</strong></h3><p>Anyway here&#8217;s what the final app looked like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ULG4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ULG4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png 424w, https://substackcdn.com/image/fetch/$s_!ULG4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png 848w, https://substackcdn.com/image/fetch/$s_!ULG4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png 1272w, https://substackcdn.com/image/fetch/$s_!ULG4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ULG4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png" width="1456" height="937" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:937,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ULG4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png 424w, https://substackcdn.com/image/fetch/$s_!ULG4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png 848w, https://substackcdn.com/image/fetch/$s_!ULG4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png 1272w, https://substackcdn.com/image/fetch/$s_!ULG4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08d90f7-e6e5-4b13-95aa-e51e4c150c63_1600x1030.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Despite the fact that I didn&#8217;t really specify a lot of functionality on this page, Replit was smart enough to add a lot of it for me: sortable columns, the ability to add a new shipment, the ability to edit and delete a shipment, etc.</p><p>The app started without any data, so I needed to prompt Replit to make a fake dataset and it did a good job:</p><blockquote><p>The app has no data. Can you generate a mock dataset of potato chip shipments that matches the <a href="https://technically.dev/universe/schema">schema</a> of the database?</p></blockquote><p>The initial app was pretty good but had some bugs that needed fixing. For example, the sorting on the &#8220;destination&#8221; column didn&#8217;t work, so I prompted the model to fix it and it did correctly the first time.</p><h3><strong>Integrations</strong></h3><p>Like I said above, I believe (and you will see that) the initial app building phase in vibe coding is largely commoditized across tools. What made the Replit experience good for me was all of the other stuff. For example, their UI for editing the data in the database:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-kO9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-kO9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png 424w, https://substackcdn.com/image/fetch/$s_!-kO9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png 848w, https://substackcdn.com/image/fetch/$s_!-kO9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!-kO9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-kO9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png" width="1456" height="988" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:988,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-kO9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png 424w, https://substackcdn.com/image/fetch/$s_!-kO9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png 848w, https://substackcdn.com/image/fetch/$s_!-kO9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!-kO9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F097e4e00-26f8-40d1-a00e-4e8dba499923_1600x1086.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>The Replit UI is built modularly via different <strong>tabs</strong>. The first tab has the preview of the app, and when you open a new one you can choose from all different sorts of &#8220;features&#8221; for lack of a better word:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4aYI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4aYI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png 424w, https://substackcdn.com/image/fetch/$s_!4aYI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png 848w, https://substackcdn.com/image/fetch/$s_!4aYI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!4aYI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4aYI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png" width="1419" height="1600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:1419,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4aYI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png 424w, https://substackcdn.com/image/fetch/$s_!4aYI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png 848w, https://substackcdn.com/image/fetch/$s_!4aYI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!4aYI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4878226-9588-4dba-90ae-29c8ac32d222_1419x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>To my knowledge this is far and away the most comprehensive suite of features for a vibe coding tool; but at the same time, probably overkill and too technical for the typical end user.</p><h3><strong>Publishing and deployment</strong></h3><p>Replit prices publishing like a <a href="https://technically.dev/universe/cloud">cloud</a> provider, and there is no free option for <a href="https://technically.dev/universe/deploy">deployment</a>. To publish you choose a machine configuration in the <a href="https://technically.dev/universe/cloud">cloud</a>, plus whether you want autoscaling and things like that. Again, to the typical non-developer, I&#8217;m not sure they&#8217;ll be able to accurately decide how many CPUs and GBs of RAM they&#8217;ll need.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZgxV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZgxV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png 424w, https://substackcdn.com/image/fetch/$s_!ZgxV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png 848w, https://substackcdn.com/image/fetch/$s_!ZgxV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png 1272w, https://substackcdn.com/image/fetch/$s_!ZgxV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZgxV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png" width="1176" height="654" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:654,&quot;width&quot;:1176,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZgxV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png 424w, https://substackcdn.com/image/fetch/$s_!ZgxV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png 848w, https://substackcdn.com/image/fetch/$s_!ZgxV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png 1272w, https://substackcdn.com/image/fetch/$s_!ZgxV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535663cb-e015-4d75-a544-f922fae11bd7_1176x654.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>If I had to personify the Replit Agent, it feels like that zany engineer friend of yours who chaotically works all night, zigging and zagging to build something, but somehow the final product is actually amazing.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://read.technically.dev/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">Technically exists to help you understand how software + AI works, so you can build stuff vs just wishing you could build stuff.  Subscribe to get new posts to your inbox.</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><h2><strong>v0</strong></h2><p>I think of v0 as the best vibe coding tool if you&#8217;re someone who can actually code. It tries to strike a very different balance between ease of use and customization, and leans heavily towards the latter. It also has the smoothest, fastest, and most accessible publishing / deployment flow of any of these tools. It&#8217;s from the team at <a href="https://technically.dev/posts/how-vercel-became-the-ai-cloud">Vercel</a> so this does not surprise me in the least.</p><h3><strong>v0 stat sheet</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H9mQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H9mQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png 424w, https://substackcdn.com/image/fetch/$s_!H9mQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png 848w, https://substackcdn.com/image/fetch/$s_!H9mQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png 1272w, https://substackcdn.com/image/fetch/$s_!H9mQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H9mQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png" width="1268" height="360" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:360,&quot;width&quot;:1268,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:48109,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://read.technically.dev/i/181997819?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.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_!H9mQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png 424w, https://substackcdn.com/image/fetch/$s_!H9mQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png 848w, https://substackcdn.com/image/fetch/$s_!H9mQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png 1272w, https://substackcdn.com/image/fetch/$s_!H9mQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8ae32c-ec1c-49c5-b0f7-da8c12c9e502_1268x360.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h3><strong>Initial prompting and planning</strong></h3><p>Like Lovable, v0 was off to the races after I gave it the signature Vandelay Industries prompt. The only thing it asked was if I wanted to integrate with Supabase, their default database provider (to which I answered, yes, of course my dear). I&#8217;ll talk more about this Supabase integration, and why you might prefer this to how Lovable and Replit do theirs, in a bit.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8UjG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8UjG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png 424w, https://substackcdn.com/image/fetch/$s_!8UjG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png 848w, https://substackcdn.com/image/fetch/$s_!8UjG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png 1272w, https://substackcdn.com/image/fetch/$s_!8UjG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8UjG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png" width="1444" height="842" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:842,&quot;width&quot;:1444,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8UjG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png 424w, https://substackcdn.com/image/fetch/$s_!8UjG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png 848w, https://substackcdn.com/image/fetch/$s_!8UjG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png 1272w, https://substackcdn.com/image/fetch/$s_!8UjG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6d240-840c-48f9-b3a4-52b0c44362bd_1444x842.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>The Supabase install ran into a brief hiccup and I needed to re-select my newly created database from the dropdown, instead of the model proceeding automatically once I completed the signup.</p><p>v0 built the whole app in about 4 minutes, and like Replit, it smartly intuited that it should build the ability to add, edit, and remove shipments. I ran into some overflow issues with the charts on the analytics page, and it took a couple of prompts before the model was able to fix it.</p><p>Though it didn&#8217;t automatically use it off the bat, v0 <em>does</em> have a <strong>planning mode</strong>, and you can also tell v0 to plan explicitly in your prompt. Otherwise the feature is hidden in one of the toggles in the prompt box:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0x1D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7247566-2360-4f39-b87f-237dd7e2398a_502x438.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0x1D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7247566-2360-4f39-b87f-237dd7e2398a_502x438.png 424w, https://substackcdn.com/image/fetch/$s_!0x1D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7247566-2360-4f39-b87f-237dd7e2398a_502x438.png 848w, https://substackcdn.com/image/fetch/$s_!0x1D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7247566-2360-4f39-b87f-237dd7e2398a_502x438.png 1272w, https://substackcdn.com/image/fetch/$s_!0x1D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7247566-2360-4f39-b87f-237dd7e2398a_502x438.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0x1D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7247566-2360-4f39-b87f-237dd7e2398a_502x438.png" width="502" height="438" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7247566-2360-4f39-b87f-237dd7e2398a_502x438.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:438,&quot;width&quot;:502,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0x1D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7247566-2360-4f39-b87f-237dd7e2398a_502x438.png 424w, https://substackcdn.com/image/fetch/$s_!0x1D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7247566-2360-4f39-b87f-237dd7e2398a_502x438.png 848w, https://substackcdn.com/image/fetch/$s_!0x1D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7247566-2360-4f39-b87f-237dd7e2398a_502x438.png 1272w, https://substackcdn.com/image/fetch/$s_!0x1D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7247566-2360-4f39-b87f-237dd7e2398a_502x438.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h3><strong>Pricing structure</strong></h3><p>v0&#8217;s <a href="https://v0.app/pricing">pricing</a> is pretty straightforward &#8211; there&#8217;s a free plan where you get $5 in credits every month, a $20/mo premium plan where you get $20 in credits a month, a $30/user/mo team plan where you get $30 in credits a month, and then above that, business and enterprise plans that have different credit schemes. You can also buy any amount of credits on top of what you get from your monthly plan.</p><p>Building my app and subsequent fixes took &lt;2 credits, so I was able to build the whole thing for free.</p><h3><strong>Final app</strong></h3><p>The final app looked a lot like the others, save for the navigation being on top instead of the side, and a curious use of emoji.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pm3t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pm3t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png 424w, https://substackcdn.com/image/fetch/$s_!pm3t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png 848w, https://substackcdn.com/image/fetch/$s_!pm3t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png 1272w, https://substackcdn.com/image/fetch/$s_!pm3t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pm3t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png" width="1456" height="1018" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1018,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pm3t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png 424w, https://substackcdn.com/image/fetch/$s_!pm3t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png 848w, https://substackcdn.com/image/fetch/$s_!pm3t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png 1272w, https://substackcdn.com/image/fetch/$s_!pm3t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffee3f4e6-8bbc-4f36-84e7-3cad2d803985_1600x1119.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>v0 also added sample data without me needing to prompt it.</p><h3><strong>Integrations</strong></h3><p>I mentioned earlier that v0 doesn&#8217;t have a built-in database, and instead defaults to a Supabase integration that requires you to create an external account there. It&#8217;s only a few extra clicks, but you do need to choose a configuration for your Supabase database (there are both free and paid options).</p><p>At surface level you might assume Replit&#8217;s and Lovable&#8217;s approach &#8211; building a database natively &#8211; is simply easier and better. But this is not entirely true. Like I said in the intro, v0 is engineer-leaning and prioritizes flexibility and customization over pure ease of use. The ability to <em>choose</em> which database you want to use &#8211; both in terms of the database itself, and in terms of the power, size, and configuration of that database &#8211; is important for a lot of people (like yours truly).</p><p>So if you want to use a different database &#8211; like let&#8217;s say Neon, or Redis, or even Vercel&#8217;s Blob storage, they have native integrations where you can do that in a few clicks. v0 also has few-click integrations for other things like Grok (and unrelated, Groq), fal, <a href="https://technically.dev/posts/what-does-stripe-do">Stripe</a>, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mVGd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mVGd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png 424w, https://substackcdn.com/image/fetch/$s_!mVGd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png 848w, https://substackcdn.com/image/fetch/$s_!mVGd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!mVGd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mVGd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png" width="849" height="1600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:849,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mVGd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png 424w, https://substackcdn.com/image/fetch/$s_!mVGd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png 848w, https://substackcdn.com/image/fetch/$s_!mVGd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!mVGd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477131ff-c3ba-4531-acdc-719bca89eae8_849x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h3><strong>Publishing and deployment</strong></h3><p>This is another area where v0 shines. Vercel made a name for themselves by making it as easy as humanly possible to deploy your app, and that&#8217;s exactly what you get with v0.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P_Qz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P_Qz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png 424w, https://substackcdn.com/image/fetch/$s_!P_Qz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png 848w, https://substackcdn.com/image/fetch/$s_!P_Qz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png 1272w, https://substackcdn.com/image/fetch/$s_!P_Qz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P_Qz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png" width="876" height="756" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:756,&quot;width&quot;:876,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!P_Qz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png 424w, https://substackcdn.com/image/fetch/$s_!P_Qz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png 848w, https://substackcdn.com/image/fetch/$s_!P_Qz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png 1272w, https://substackcdn.com/image/fetch/$s_!P_Qz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F640c0453-5391-415d-9d9e-bbf9aeaa0e92_876x756.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>When you click publish, your v0 app automatically becomes a full-fledged Vercel project; you get all of the advanced features you&#8217;d get if you had built your app manually like automatic deploys, detailed logging, analytics, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FEug!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FEug!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png 424w, https://substackcdn.com/image/fetch/$s_!FEug!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png 848w, https://substackcdn.com/image/fetch/$s_!FEug!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png 1272w, https://substackcdn.com/image/fetch/$s_!FEug!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FEug!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FEug!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png 424w, https://substackcdn.com/image/fetch/$s_!FEug!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png 848w, https://substackcdn.com/image/fetch/$s_!FEug!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png 1272w, https://substackcdn.com/image/fetch/$s_!FEug!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3a3a6f-b7f5-4a57-87fe-6a47e5bd209a_1600x899.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h2><strong>Lovable</strong></h2><p>Lovable was a lot smoother, faster on the initial build, and easier to use than Replit; I was also able to create and iterate on my entire app for free. But the final product was significantly less polished, there were glaring security issues (entirely Lovable&#8217;s fault), and the platform overall felt way less&#8230;mature?... than others I tested.</p><h3><strong>Lovable stat sheet</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q6Nu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q6Nu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png 424w, https://substackcdn.com/image/fetch/$s_!Q6Nu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png 848w, https://substackcdn.com/image/fetch/$s_!Q6Nu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png 1272w, https://substackcdn.com/image/fetch/$s_!Q6Nu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q6Nu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png" width="1270" height="362" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:362,&quot;width&quot;:1270,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45559,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://read.technically.dev/i/181997819?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.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_!Q6Nu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png 424w, https://substackcdn.com/image/fetch/$s_!Q6Nu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png 848w, https://substackcdn.com/image/fetch/$s_!Q6Nu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png 1272w, https://substackcdn.com/image/fetch/$s_!Q6Nu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee9e089d-7d94-4021-b651-d7ef82a5d792_1270x362.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h3><strong>Initial prompting and planning</strong></h3><p>Like Replit, I asked Lovable to build a dashboard for Vandelay Industries. Unlike Replit, it kind of just started doing it without asking me for any preferences or planning or anything. The only thing I was prompted back was whether I wanted to to use Lovable Cloud, which is their out of the box <a href="https://technically.dev/universe/backend">backend</a> (I said yes):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6vcA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6vcA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png 424w, https://substackcdn.com/image/fetch/$s_!6vcA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png 848w, https://substackcdn.com/image/fetch/$s_!6vcA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png 1272w, https://substackcdn.com/image/fetch/$s_!6vcA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6vcA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png" width="1028" height="1074" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1074,&quot;width&quot;:1028,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6vcA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png 424w, https://substackcdn.com/image/fetch/$s_!6vcA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png 848w, https://substackcdn.com/image/fetch/$s_!6vcA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png 1272w, https://substackcdn.com/image/fetch/$s_!6vcA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ad7bd92-e112-464f-a0a6-af9a92682841_1028x1074.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Lovable frames all of their backend services &#8211; database, <a href="https://technically.dev/universe/authentication">authentication</a>, and models &#8211; as a single &#8220;Cloud&#8221; product, whereas for Replit, each one of these is an individual add-on and treated as a separate product.</p><p>Within a few minutes I had my app, but the V1 was a lot less polished than Replit. One glaring example: Lovable used the wrong font color for the sidebar, so there was no way to see how to navigate between the shipments panel, the analytics panel, and the map panel.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BLNR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BLNR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!BLNR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!BLNR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!BLNR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BLNR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png" width="500" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BLNR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!BLNR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!BLNR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!BLNR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F680cc642-3ec1-4bf7-9fd6-cb7f849d2dc5_500x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><em>Perhaps the analytics will show that nobody is clicking on any of the other tabs</em></p><p>I asked Lovable to fix it, and it took two prompts: the first time it thought it had fixed it, but it hadn&#8217;t. During the second prompt it got stuck in some sort of doom loop that required me to reload the page and start the prompt over. Also, the &#8220;map&#8221; that Lovable generated is, by most definitions I can gather, not a map:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aA5X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aA5X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png 424w, https://substackcdn.com/image/fetch/$s_!aA5X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png 848w, https://substackcdn.com/image/fetch/$s_!aA5X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png 1272w, https://substackcdn.com/image/fetch/$s_!aA5X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aA5X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png" width="1456" height="1304" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1304,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aA5X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png 424w, https://substackcdn.com/image/fetch/$s_!aA5X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png 848w, https://substackcdn.com/image/fetch/$s_!aA5X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png 1272w, https://substackcdn.com/image/fetch/$s_!aA5X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d2a930-8228-4591-b6d8-5ccfa2c3a0a6_1600x1433.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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 think of Lovable as vibe coding with guardrails. It&#8217;s a significantly <em>simpler</em> platform with more things taken care of for you, less detail given to you, and an overall more <em>plushy</em>, <em>daycare-like</em> feel. That&#8217;s nice if you&#8217;re building something simple, but less nice if you&#8217;re more technical or have more complex needs.</p><h3><strong>Pricing structure</strong></h3><p>I was able to build this whole app for free, which is nice&#8230;but looking into Lovable&#8217;s actual pricing left me with more questions than answers. Consider the Pro Plan, their cheapest:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Crw0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff883174c-72c1-4acc-af11-04155ae4e006_598x1520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Crw0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff883174c-72c1-4acc-af11-04155ae4e006_598x1520.png 424w, https://substackcdn.com/image/fetch/$s_!Crw0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff883174c-72c1-4acc-af11-04155ae4e006_598x1520.png 848w, https://substackcdn.com/image/fetch/$s_!Crw0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff883174c-72c1-4acc-af11-04155ae4e006_598x1520.png 1272w, https://substackcdn.com/image/fetch/$s_!Crw0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff883174c-72c1-4acc-af11-04155ae4e006_598x1520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Crw0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff883174c-72c1-4acc-af11-04155ae4e006_598x1520.png" width="598" height="1520" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f883174c-72c1-4acc-af11-04155ae4e006_598x1520.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1520,&quot;width&quot;:598,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Crw0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff883174c-72c1-4acc-af11-04155ae4e006_598x1520.png 424w, https://substackcdn.com/image/fetch/$s_!Crw0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff883174c-72c1-4acc-af11-04155ae4e006_598x1520.png 848w, https://substackcdn.com/image/fetch/$s_!Crw0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff883174c-72c1-4acc-af11-04155ae4e006_598x1520.png 1272w, https://substackcdn.com/image/fetch/$s_!Crw0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff883174c-72c1-4acc-af11-04155ae4e006_598x1520.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>So you start with 100 credits every month. But then you also get 5 credits every day, which can accumulate to up to 150/month; but is that including the 100 every month? Then there&#8217;s a completely different billing system for Cloud, their backend package, where you get up to $25 in &#8220;usage&#8221; (not credits?) every month. <em>But</em>, this usage deal only lasts until the end of 2025, then it&#8217;s going to be&#8230;something else. Credits can also roll over, but only on the cadence of your plan, so if you&#8217;re monthly, they only roll over for 1 month.</p><p>And what <em>is</em> a credit exactly? Well that completely depends. Lovable&#8217;s pricing page says there are two modes &#8211; <strong>default</strong>, and <strong>chat</strong> &#8211; and each burn credits differently. But wait, as of July 2025, <strong>agent</strong> is now the default mode, which replaces <strong>legacy </strong>mode. We are now up to 4 different modes, are you keeping track?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ulHF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ulHF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png 424w, https://substackcdn.com/image/fetch/$s_!ulHF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png 848w, https://substackcdn.com/image/fetch/$s_!ulHF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png 1272w, https://substackcdn.com/image/fetch/$s_!ulHF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ulHF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png" width="1456" height="979" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:979,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ulHF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png 424w, https://substackcdn.com/image/fetch/$s_!ulHF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png 848w, https://substackcdn.com/image/fetch/$s_!ulHF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png 1272w, https://substackcdn.com/image/fetch/$s_!ulHF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b68891c-2fe7-4474-96c7-7cde5cb7505f_1600x1076.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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 want whatever this pricing team is smoking.</p><h3><strong>Final app</strong></h3><p>The final app ended up looking pretty similar to all of the other vibe coding tools. Almost like they&#8217;re using the same models under the hood&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZQZ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZQZ1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png 424w, https://substackcdn.com/image/fetch/$s_!ZQZ1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png 848w, https://substackcdn.com/image/fetch/$s_!ZQZ1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png 1272w, https://substackcdn.com/image/fetch/$s_!ZQZ1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZQZ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png" width="1456" height="1028" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1028,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZQZ1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png 424w, https://substackcdn.com/image/fetch/$s_!ZQZ1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png 848w, https://substackcdn.com/image/fetch/$s_!ZQZ1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png 1272w, https://substackcdn.com/image/fetch/$s_!ZQZ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd310b203-0f3d-4990-a2a1-771145d2ebd6_1600x1130.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Unlike Replit, Lovable <em>did not</em> intuit any features on top of what I explicitly asked for. So on this shipments page, there&#8217;s no way to edit, add, or remove data.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6k8Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6k8Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png 424w, https://substackcdn.com/image/fetch/$s_!6k8Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png 848w, https://substackcdn.com/image/fetch/$s_!6k8Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png 1272w, https://substackcdn.com/image/fetch/$s_!6k8Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6k8Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png" width="1456" height="1032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1032,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6k8Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png 424w, https://substackcdn.com/image/fetch/$s_!6k8Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png 848w, https://substackcdn.com/image/fetch/$s_!6k8Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png 1272w, https://substackcdn.com/image/fetch/$s_!6k8Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac576154-78d0-45aa-a65f-929830f3deb4_1600x1134.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>The analytics aren&#8217;t exactly useful, but then again, all of this data is fake&#8230;speaking of which, Lovable was the first vibe coding tool I used that <em>automatically</em> generated a fake dataset to populate the app with. I thought this was pretty clutch and it was nice to avoid having to prompt the model to do that.</p><h3><strong>Integrations</strong></h3><p>Like I mentioned earlier, Lovable bundles all of the usual backend pieces you&#8217;d need into one product they call Cloud. Cloud has its own pricing and usage mechanism, distinct from the credits system used for the actual vibe coding. There&#8217;s also a &#8220;<a href="https://docs.lovable.dev/integrations/supabase">native Supabase integration</a>&#8221; but it&#8217;s unclear what relationship this has with Lovable&#8217;s own Lovable Cloud. And perhaps to only my own disappointment, there&#8217;s no smooth UI for editing the data in the database like Replit had.</p><p>Then there are a lot of other integrations: they&#8217;ve got <a href="https://docs.lovable.dev/integrations/stripe">Stripe</a>, <a href="https://docs.lovable.dev/integrations/github">GitHub</a>, etc.. &#8220;Integration&#8221; means different things for different vibe coding tools. Which brings me to Lovable&#8217;s <strong>security advisor</strong>. This thing &#8211; a valiant effort, for sure &#8211; attempts to scan your app and tell you if it has any vulnerabilities. And it actually works pretty well. For example, it scanned my app and noted that my database &#8211; yes, the one that I trusted Lovable to set up for me &#8211; had no security measures whatsoever and any hacker could log in and mess with my data:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sk3A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sk3A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png 424w, https://substackcdn.com/image/fetch/$s_!sk3A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png 848w, https://substackcdn.com/image/fetch/$s_!sk3A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png 1272w, https://substackcdn.com/image/fetch/$s_!sk3A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sk3A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png" width="1456" height="895" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:895,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sk3A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png 424w, https://substackcdn.com/image/fetch/$s_!sk3A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png 848w, https://substackcdn.com/image/fetch/$s_!sk3A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png 1272w, https://substackcdn.com/image/fetch/$s_!sk3A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6302231b-8a6e-4c6f-8e87-286ddf1cf61b_1600x983.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>On the one hand this is great, because most non-technical people vibe coding would have no clue that this is a problem. On the other hand it&#8217;s not great, because LOVABLE IS THE ONE WHO BUILT THIS APP IN THE FIRST PLACE<strong>. </strong>If the model knows that it&#8217;s bad for a database to have no protections, why didn&#8217;t it build the app correctly the first time around????</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Zq4r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zq4r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png 424w, https://substackcdn.com/image/fetch/$s_!Zq4r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png 848w, https://substackcdn.com/image/fetch/$s_!Zq4r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Zq4r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zq4r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png" width="750" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:750,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Zq4r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png 424w, https://substackcdn.com/image/fetch/$s_!Zq4r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png 848w, https://substackcdn.com/image/fetch/$s_!Zq4r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Zq4r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e7f055e-7654-4fe6-9173-bb2752a91da2_750x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h3><strong>Publishing and deployment</strong></h3><p>Publishing your Lovable app doesn&#8217;t consume any credits in of itself, so if you were able to build your whole app for free like me, you can also publish it to the world.</p><h2><strong>Bolt</strong></h2><p>Bolt occupies a medium somewhere in between Replit and Lovable. It follows the &#8220;plan first, build second&#8221; philosophy (like Replit), but wasn&#8217;t very good at following its own plans. Pricing is token based and very opaque and confusing. Overall, it felt like their model was decent at doing what you asked, but would then create some sort of side effect that you didn&#8217;t want.</p><h3><strong>Bolt stat sheet</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tybi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tybi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png 424w, https://substackcdn.com/image/fetch/$s_!Tybi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png 848w, https://substackcdn.com/image/fetch/$s_!Tybi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png 1272w, https://substackcdn.com/image/fetch/$s_!Tybi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tybi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png" width="1266" height="362" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:362,&quot;width&quot;:1266,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:44712,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://read.technically.dev/i/181997819?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.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_!Tybi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png 424w, https://substackcdn.com/image/fetch/$s_!Tybi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png 848w, https://substackcdn.com/image/fetch/$s_!Tybi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png 1272w, https://substackcdn.com/image/fetch/$s_!Tybi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c8ea944-a36c-471e-a890-4eab122b9d73_1266x362.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h3><strong>Initial prompting and planning</strong></h3><p>The Bolt prompt box on the site has a &#8220;plan&#8221; toggle that lets you have the model plan your app first, and you then review that plan, instead of going straight to implementation. For larger builds I would highly recommend always utilizing some sort of planning, for whatever reason models perform a lot better with a two step process like this.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0HL_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0HL_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png 424w, https://substackcdn.com/image/fetch/$s_!0HL_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png 848w, https://substackcdn.com/image/fetch/$s_!0HL_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png 1272w, https://substackcdn.com/image/fetch/$s_!0HL_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0HL_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png" width="1412" height="642" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:642,&quot;width&quot;:1412,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0HL_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png 424w, https://substackcdn.com/image/fetch/$s_!0HL_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png 848w, https://substackcdn.com/image/fetch/$s_!0HL_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png 1272w, https://substackcdn.com/image/fetch/$s_!0HL_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1656ffa-3500-4e89-8524-7345ad15f66d_1412x642.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>This is what a generated plan looks like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gwye!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gwye!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png 424w, https://substackcdn.com/image/fetch/$s_!Gwye!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png 848w, https://substackcdn.com/image/fetch/$s_!Gwye!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png 1272w, https://substackcdn.com/image/fetch/$s_!Gwye!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gwye!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png" width="848" height="1240" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1240,&quot;width&quot;:848,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gwye!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png 424w, https://substackcdn.com/image/fetch/$s_!Gwye!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png 848w, https://substackcdn.com/image/fetch/$s_!Gwye!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png 1272w, https://substackcdn.com/image/fetch/$s_!Gwye!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534f7a0f-76c9-4911-9ee1-2b3c9801b14e_848x1240.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>The model attempts to add detail to my pretty vague prompt, sketching out an initial requirements document. And from there you can tell it which functionality matters to you and which doesn&#8217;t (for example, I don&#8217;t have access to shipment location data).</p><p>There&#8217;s also a dropdown for choosing different models &#8211; which at first was exciting &#8211; but then I realized that you&#8230;don&#8217;t really have a choice.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FAYz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94562a16-f805-43e3-b16f-12315179c677_430x358.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FAYz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94562a16-f805-43e3-b16f-12315179c677_430x358.png 424w, https://substackcdn.com/image/fetch/$s_!FAYz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94562a16-f805-43e3-b16f-12315179c677_430x358.png 848w, https://substackcdn.com/image/fetch/$s_!FAYz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94562a16-f805-43e3-b16f-12315179c677_430x358.png 1272w, https://substackcdn.com/image/fetch/$s_!FAYz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94562a16-f805-43e3-b16f-12315179c677_430x358.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FAYz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94562a16-f805-43e3-b16f-12315179c677_430x358.png" width="430" height="358" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94562a16-f805-43e3-b16f-12315179c677_430x358.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:358,&quot;width&quot;:430,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FAYz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94562a16-f805-43e3-b16f-12315179c677_430x358.png 424w, https://substackcdn.com/image/fetch/$s_!FAYz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94562a16-f805-43e3-b16f-12315179c677_430x358.png 848w, https://substackcdn.com/image/fetch/$s_!FAYz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94562a16-f805-43e3-b16f-12315179c677_430x358.png 1272w, https://substackcdn.com/image/fetch/$s_!FAYz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94562a16-f805-43e3-b16f-12315179c677_430x358.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Once you&#8217;re satisfied with the plan the model generated, you can click the &#8220;implement for me&#8221; button &#8211; although that button never showed up for me and I needed to manually prompt the model to implement the plan (fine). There&#8217;s a nice dedicated UI for showing the model&#8217;s progress through the plan:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5tP3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5tP3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png 424w, https://substackcdn.com/image/fetch/$s_!5tP3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png 848w, https://substackcdn.com/image/fetch/$s_!5tP3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png 1272w, https://substackcdn.com/image/fetch/$s_!5tP3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5tP3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png" width="836" height="918" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:918,&quot;width&quot;:836,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5tP3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png 424w, https://substackcdn.com/image/fetch/$s_!5tP3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png 848w, https://substackcdn.com/image/fetch/$s_!5tP3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png 1272w, https://substackcdn.com/image/fetch/$s_!5tP3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a0da319-4dcb-492c-8e0d-20509c683bfd_836x918.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>All of this sounds really nice, and it would have been, except that Bolt didn&#8217;t actually follow its own plan. For example, in the plan the model put together, it specified:</p><blockquote><p><em>3. Inventory Manager and CRM Table View</em></p></blockquote><ul><li><p><em>Build interactive data table with sortable columns for all shipment fields</em></p></li><li><p><em>Implement search and filter functionality across multiple columns</em></p></li><li><p><em>Add pagination for handling large datasets efficiently</em></p></li><li><p><em>Create modal forms for adding new shipments with validation</em></p></li><li><p><em>Enable inline editing for updating existing shipment records</em></p></li><li><p><em>Add bulk actions for managing multiple shipments at once</em></p></li><li><p><em>Include export functionality to download shipment data as CSV</em></p></li></ul><p>Hm yes, sortable columns, a modal for adding new shipments, inline editing, very nice, very nice. It didn&#8217;t build any of that, it just gave me a read-only table:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IYGe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IYGe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png 424w, https://substackcdn.com/image/fetch/$s_!IYGe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png 848w, https://substackcdn.com/image/fetch/$s_!IYGe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!IYGe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IYGe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png" width="1456" height="939" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:939,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IYGe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png 424w, https://substackcdn.com/image/fetch/$s_!IYGe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png 848w, https://substackcdn.com/image/fetch/$s_!IYGe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!IYGe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42239289-63c0-44db-8b69-7ce6a59f87d0_1600x1032.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>It took another cycle of prompting, planning, and implementing to add those features. Which is fine, but like, if you&#8217;re going to make a plan, stick to the plan the first time.</p><p>Then there was the analytics dashboard, which essentially made no sense:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3VGl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3VGl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png 424w, https://substackcdn.com/image/fetch/$s_!3VGl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png 848w, https://substackcdn.com/image/fetch/$s_!3VGl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png 1272w, https://substackcdn.com/image/fetch/$s_!3VGl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3VGl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png" width="1456" height="948" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:948,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3VGl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png 424w, https://substackcdn.com/image/fetch/$s_!3VGl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png 848w, https://substackcdn.com/image/fetch/$s_!3VGl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png 1272w, https://substackcdn.com/image/fetch/$s_!3VGl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0882c3d7-480e-45a7-a6bb-00fa16115955_1600x1042.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>For each of these nonsense charts, I needed to prompt the model to fix them. And then there&#8217;s the map. The map was no fun.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D2GB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D2GB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png 424w, https://substackcdn.com/image/fetch/$s_!D2GB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png 848w, https://substackcdn.com/image/fetch/$s_!D2GB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png 1272w, https://substackcdn.com/image/fetch/$s_!D2GB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D2GB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png" width="1456" height="992" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:992,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!D2GB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png 424w, https://substackcdn.com/image/fetch/$s_!D2GB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png 848w, https://substackcdn.com/image/fetch/$s_!D2GB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png 1272w, https://substackcdn.com/image/fetch/$s_!D2GB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26aa5567-e9d0-41d8-9185-b760d74cf928_1600x1090.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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 shit you not, it took 5 cycles of prompting back and forth to try to fix this thing, and eventually I gave up because it seemed like it wasn&#8217;t in the cards.</p><h3><strong>Pricing structure</strong></h3><p>Bolt&#8217;s <a href="https://bolt.new/pricing">pricing</a> is not straightforward. They are the only vibe coding tool in this post that charges by tokens instead of credits or some generic dollar value. For $25/mo you get 10 Million tokens every month, and unused tokens roll over to the next month (but not further than that). So what is a token exactly?</p><p>Great question. Bolt&#8217;s answer is essentially that we can&#8217;t really know for sure.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TaKF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TaKF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png 424w, https://substackcdn.com/image/fetch/$s_!TaKF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png 848w, https://substackcdn.com/image/fetch/$s_!TaKF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png 1272w, https://substackcdn.com/image/fetch/$s_!TaKF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TaKF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png" width="1456" height="355" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:355,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TaKF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png 424w, https://substackcdn.com/image/fetch/$s_!TaKF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png 848w, https://substackcdn.com/image/fetch/$s_!TaKF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png 1272w, https://substackcdn.com/image/fetch/$s_!TaKF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0db0b04b-f683-46ec-9c44-1cdc29bf3c67_1600x390.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>(Lucky for you, we&#8217;ve already written about what tokens are and how they work)</p><p>OK, so tokens are hard to explain, fine. But at least it&#8217;s easy to see how many tokens your work in the Bolt app is costing, right? Also no. Unlike all of the other vibe coding tools in this post, there is no way to know how much your prompts and responses in Bolt cost, even in terms of tokens. The expectation is that you prompt away and periodically check your account&#8217;s token balance, I guess?</p><h3><strong>Final app</strong></h3><p>The final app, after the planning fiasco and subsequent work required to compress the many columns into a layout that fits on one screen, looks pretty good:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wet7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wet7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png 424w, https://substackcdn.com/image/fetch/$s_!wet7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png 848w, https://substackcdn.com/image/fetch/$s_!wet7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png 1272w, https://substackcdn.com/image/fetch/$s_!wet7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wet7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png" width="1456" height="948" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:948,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wet7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png 424w, https://substackcdn.com/image/fetch/$s_!wet7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png 848w, https://substackcdn.com/image/fetch/$s_!wet7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png 1272w, https://substackcdn.com/image/fetch/$s_!wet7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c78ade-d40c-4a8b-8ff6-ac87202e1cf7_1600x1042.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jWkd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jWkd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png 424w, https://substackcdn.com/image/fetch/$s_!jWkd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png 848w, https://substackcdn.com/image/fetch/$s_!jWkd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png 1272w, https://substackcdn.com/image/fetch/$s_!jWkd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jWkd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png" width="1456" height="945" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:945,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jWkd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png 424w, https://substackcdn.com/image/fetch/$s_!jWkd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png 848w, https://substackcdn.com/image/fetch/$s_!jWkd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png 1272w, https://substackcdn.com/image/fetch/$s_!jWkd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe813b2f6-24a0-4df0-ada1-c4fbfa1b6450_1600x1039.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h3><strong>Integrations</strong></h3><p>Bolt, like Replit and Lovable, has a native database. There&#8217;s a nice, if a bit primitive, UI for viewing and editing the data in your database:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1Gb3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1Gb3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png 424w, https://substackcdn.com/image/fetch/$s_!1Gb3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png 848w, https://substackcdn.com/image/fetch/$s_!1Gb3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png 1272w, https://substackcdn.com/image/fetch/$s_!1Gb3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1Gb3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png" width="1456" height="679" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:679,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1Gb3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png 424w, https://substackcdn.com/image/fetch/$s_!1Gb3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png 848w, https://substackcdn.com/image/fetch/$s_!1Gb3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png 1272w, https://substackcdn.com/image/fetch/$s_!1Gb3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa3e35b9-d469-4435-b8f2-b03adb5aedf2_1600x746.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Like Lovable, use of the database is priced separately from use of the model. And adding to the pricing confusion, the database is priced in relation to compute use, so you get a specific size of VM and hours of compute based on the plan you&#8217;re on.</p><p>Outside of their native database (and authentication) Bolt&#8217;s integrations ecosystem is less developed than others in this post &#8211; there is essentially just <a href="https://support.bolt.new/integrations/overview">Stripe</a> as far as your actual app is concerned (the rest deal with hosting).</p><h3><strong>Publishing and deployment</strong></h3><p>You can <a href="https://support.bolt.new/cloud/hosting">publish</a> your Bolt app for free and they will support up to 333k web requests; if you upgrade to the $25/mo plan you get 1M web requests. Is this number actually enforced? I&#8217;m not sure.</p><h2><strong>Which vibe coding tool shall rule them all</strong></h2><p>To summarize, of the vibe coding tools I tried:</p><ul><li><p><strong>Replit</strong> was the most feature rich, well thought out, and powerful</p></li><li><p><strong>v0</strong> was the best if you&#8217;re already a developer and want a technical interface</p></li><li><p><strong>Lovable</strong> and <strong>Bolt</strong> were pretty much objectively worse than the other two</p></li></ul><p>If I were starting a new project from scratch I&#8217;d use Replit or v0, and spend more time paying attention to how to plan well instead of just having the model go off and do what it thinks is best.</p><p>Pricing models vary wildly across tools, as well as how far you can get without paying and what it costs (if it costs) to deploy your finished app. Overall, for an app of low/medium complexity like mine, expect to pay ~$10-$15 to get a decent finished product that you&#8217;ve had some time to iterate on.</p><p>Have you used any of these tools? Have opinions on which is the best? Let me know in the comments.</p><h2></h2>]]></content:encoded></item><item><title><![CDATA[AI will replace you at your job if you let it]]></title><description><![CDATA[A look at the thin line between using AI smartly and writing your own pink slip.]]></description><link>https://read.technically.dev/p/ai-will-replace-you-at-your-job-if</link><guid isPermaLink="false">https://read.technically.dev/p/ai-will-replace-you-at-your-job-if</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Tue, 16 Dec 2025 16:31:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5e1d5ff1-4537-4591-99de-8c30fa5a2f2f_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Like you, I&#8217;m extremely tired of the recurring headlines about &#8220;AI replacing the workforce,&#8221; written almost exclusively by people who both know nothing about AI and have never been part of said workforce. Ironic.</p><p>Let me start by saying that I do <em>not</em> think AI is going to put massive swaths of people out of work. But that&#8217;s only going to be true as long as we are smart, adaptive, and embrace these new tools to make us all more productive and more creative. The problem is that there are tons of lazy people out there who are using AI completely carelessly, with such minimal oversight such that they are essentially writing their own pinkslips.</p><p><strong>If you carelessly offload the core and soul of your job to AI, you cannot be surprised when someone decides AI can do it instead of you.</strong></p><p>If you are a software engineer for whom Cursor now writes all of your code with minimal oversight or creative input from you, this is bad. If you are a marketer who is generating entire blog posts and page sites with vanilla Claude prompts, this is bad. If you are an SDR who has <a href="https://technically.dev/universe/chatgpt">ChatGPT</a> write all of your outbound emails with no customization whatsoever, this is bad.</p><p>At some point, your boss is going to realize that the AI is doing your job, not you.</p><h2><strong>The brain drain from junior talent and financial modeling</strong></h2><p>I see this pattern with more junior people the most. They are at a point in their careers where they have minimal experience and maybe more importantly minimal taste. The risk of overusing AI is huge here, because without going through the motions and developing that earned intuition for the mechanics of your work, you will never develop that taste. IMO at the highest levels, you are paid for exactly this.</p><p>I was talking to my friend CJ of the wonderful <a href="https://www.mostlymetrics.com/">Mostly Metrics newsletter</a> about how this manifests itself in finance. A lot of what finance teams at startups do is build financial models, which as any investment bankers in the audience can tell you, is something with a lot of manual, repetitive work; in theory a great candidate for some help from AI. Yes, <em>some</em> help. But CJ told me that he&#8217;s seeing more junior talent is offloading the <em>entire financial model building process</em> to AI and not building any parts of it from scratch anymore.</p><p><em>(I&#8217;ll admit, the use of the word &#8220;model&#8221; here is a bit confusing.)</em></p><p>This is not good. To intimately know how something works and develop an intuition for it, you <em>need to do the work yourself</em>. In this case, to build the model from scratch, to develop an understanding of what the sensitive variables are, and maybe most importantly, to be able to explain it to someone.</p><blockquote><p><em>&#8220;Maybe I&#8217;m like an old man yelling at windmills just because I spent at least 10 years in the trenches doing that from scratch. But they&#8217;re skipping steps one, two, and three and jumping straight to four.&#8221;</em></p></blockquote><p>Prompting an AI model to build your entire forecast for you will get you a quick answer, sure. But you didn&#8217;t build it, so you don&#8217;t understand it. What happens when the assumptions baked into the model change?</p><p>This is true across <em>so many different disciplines</em>. Just think about the explosion in vibe coding. It&#8217;s amazing that a single prompt in <a href="https://replit.com/">Replit</a> can get you a working app. But if you don&#8217;t understand <a href="https://technically.dev/posts/vibe-coders-guide-to-software-engineering">what&#8217;s going on in the app</a> at all, don&#8217;t try to refine and improve it&#8230;what have you really created? And what&#8217;s stopping someone else from doing it better than you?</p><p><em>Something something Icarus flying too close to the overheating GPUs.</em></p><h2><strong>Use AI to augment your work, not replace it: the facked vs. cracked framework</strong></h2><p>When it comes to using AI, the best work products are the ones that <strong>combine your unique insight and creativity with the automation firepower from models</strong>. If the work product you&#8217;re creating is not in some way authentically you, or clearly borne of your handiwork, then you are giving up too much to AI and this does not bode well for your long term career prospects.</p><p>Across conversations with teams who are trying to use AI at work, plus some of my own experience, here are a few examples of facked vs. cracked uses of AI. In other words, finding the sweet spot where AI is helping you but not doing your entire job for you.</p><h3><strong>Finance</strong></h3><ul><li><p><strong>Facked</strong>: prompt the AI model to build your entire financial model for you.</p></li><li><p><strong>Cracked</strong>: build the bones of the financial model yourself, use AI to automate repetitive spreadsheets copying and pasting and/or test new scenarios.</p></li></ul><h3><strong>Marketing</strong></h3><p>Good marketers are using AI to help them generate better content faster, not entirely offload content creation&#8230;after all, who the fuck wants to read that.</p><ul><li><p><strong>Facked</strong>: use vanilla prompts to generate an entire finished blog post of slop.</p></li><li><p><strong>Cracked</strong>: add style guide to context, use AI to generate a starting template, write and edit from there.</p></li></ul><h3><strong>Software engineering</strong></h3><p>Before you say &#8220;OK, but this is a straw man,&#8221; no. People are absolutely doing this.</p><ul><li><p><strong>Facked</strong>: offload massive features and parts of your codebase to AI without supervision.</p></li><li><p><strong>Cracked</strong>: tabbed auto-complete, heavily customized agents with clear guardrails, testing, and code review.</p></li></ul><h3><strong>Sales (well, debatably)</strong></h3><p>SDRs are perhaps the most guilty party here. If there&#8217;s one really clutch thing to use ChatGPT for, it&#8217;s hyper-personalization at scale&#8230;and yet who is doing this.</p><ul><li><p><strong>Facked</strong>: use vanilla prompts to generate a bare minimum amount of personalization, like &#8220;I noticed you just finished up an impressive 3 years at Meta.&#8221;</p></li><li><p><strong>Cracked</strong>: use models to do standardized deep research on prospects, store the data in Clay, use a second highly customized prompt to personalize based on research.</p></li></ul><p>Use models, do not let them use you!</p><p>A great place to begin is <strong><a href="https://technically.dev/posts/start-small-with-ai">starting small</a></strong>: pick a recurring, manual process to automate instead of trying to tackle an entire function or workflow. AI models work better when you give them a narrow scope, clear context, and a tight feedback loop. Find one specific, annoying thing you do every week, like summarizing meeting notes or categorizing customer feedback, and try to automate that.</p>]]></content:encoded></item><item><title><![CDATA[The AI user's guide to evals]]></title><description><![CDATA[How to actually make your AI workflows, er, work.]]></description><link>https://read.technically.dev/p/the-ai-users-guide-to-evals</link><guid isPermaLink="false">https://read.technically.dev/p/the-ai-users-guide-to-evals</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Thu, 11 Dec 2025 12:12:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!90cN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc902448b-220b-4cd1-94d4-bcbe575e13a8_1000x598.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Has this ever happened to you? You spent a weekend feeling like a genius because you chained together a few <a href="https://technically.dev/universe/llm">LLM</a> prompts in <a href="https://technically.dev/posts/what-does-zapier-do">Zapier</a>, or maybe you built a &#8220;content generator&#8221; in your company&#8217;s internal tool like Glean. It worked perfectly for the first three tries. You showed your boss and they immediately promoted you. For the first time in your life, your father told you he was proud.</p><p>Then, on Tuesday, everything went awry: your system hallucinated a policy that doesn&#8217;t exist, and a customer got a free Labubu. On Wednesday, it responded to a user in German (you are based in Ohio). By Thursday, you&#8217;re back to doing it manually because you can&#8217;t trust the &#8220;magic&#8221; bot you built.</p><p>You are not entirely surprised to discover that your tool has some rough edges that need sorting out and your prompts are not entirely bulletproof. And thus, your journey into evals begins.</p><h2><strong>The TL;DR</strong></h2><ul><li><p>Evals are just &#8220;software testing&#8221; adapted for the fuzzy, probabilistic world of AI. They <strong>measure</strong> (and help you <strong>fix</strong>) when your system screws up.</p></li><li><p>The most important part of evals is <strong>data analysis</strong> &#8211; you cannot measure and fix what you cannot identify. Look at your data!</p></li><li><p>Complex &#8220;LLM as a Judge&#8221; setups seem sexy but will probably ruin your life; avoid them until you have exhausted <strong>simple keyword checks</strong> (assertions).</p></li><li><p>If you don&#8217;t measure your AI&#8217;s performance systematically, you aren&#8217;t building a tool; you&#8217;re building a slot machine that occasionally pays out productivity.</p></li></ul><h2><strong>A conceptual grounding for evals</strong></h2><p>To understand evals, we first have to take a brief detour into how normal software works.</p><p>In traditional engineering, code is deterministic, which is (another) fancy word that means it&#8217;s perfectly predictable. If you write a function that adds 2 + 2, the answer is 4. It is 4 today, it is 4 tomorrow, and it is 4 during a Black Friday sale. Testing this is easy: you write a &#8220;Unit Test&#8221; that asserts that the answer = 4. If the computer returns 5, the test fails, and you fix whatever embarrassing error was in the code.</p><p>AI models are different. They are <strong>stochastic</strong>. They are probabilistic engines that guess the next word in a sentence. If you ask an LLM to &#8220;summarize notes from this call&#8221; the output might be different every single time you run it.</p><p>So, how do you &#8220;test&#8221; a summary? There is no single &#8220;correct&#8221; string of text to compare it to, and there are conceivably <em>multiple</em> different kinds of responses that would make you happy. Perhaps you would prefer the LLM summarize the call as &#8220;a complete waste of time.&#8221;</p><p>This is where <strong>evals</strong> come in. An Eval is a system that takes the fuzzy output of AI and grades it against a standard of quality. It&#8217;s the difference between saying &#8220;I think the bot is getting better&#8221; (vibes) and &#8220;The bot&#8217;s <a href="https://technically.dev/universe/hallucination">hallucination</a> rate dropped from 15% to 3% this week&#8221; (science). Well, it&#8217;s still not entirely science but it&#8217;s closer.</p><p>There&#8217;s a lot written about how engineering teams building AI into their products should do evals&#8230;but quite a bit less written about how <em>you</em> can use them in your day to day using AI tools at work.</p><p>One of <em>the</em> experts on the subject is <a href="https://hamel.dev/">Hamel Husain</a> &#8211; he helps teams build successful AI products and teaches the <a href="https://maven.com/parlance-labs/evals">AI Evals For Engineers &amp; PMs</a> course on Maven. I talked to him about what non-engineers can do to bring evals into the work they&#8217;re doing with AI to make their systems more foolproof. Then I wrote down what we talked about. So here is that.</p><p>The flow goes something like this:</p><ol><li><p><strong>Analyze</strong> your system and figure out where things go wrong (look at the data)</p></li><li><p><strong>Create</strong> <strong>evals</strong> (simple or complex) to fix those things</p></li><li><p><strong>Rinse and repeat</strong> (or at least repeat)</p></li></ol>
      <p>
          <a href="https://read.technically.dev/p/the-ai-users-guide-to-evals">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Technically Monthly (December 2025)]]></title><description><![CDATA[RLHF, why AI Labs are investing in electricity, and practical tips for AI at work.]]></description><link>https://read.technically.dev/p/technically-monthly-december-2025</link><guid isPermaLink="false">https://read.technically.dev/p/technically-monthly-december-2025</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Mon, 08 Dec 2025 13:12:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hgMj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello distinguished Technically readers,</p><p>In 2017 I was traveling with Winston Churchill across the scantly-visited regions of southern Tibet when we came across a peculiar guru. I spent months learning at his hip, observing his peculiarities, and gathering bits and pieces of his doctrine. All of this I would eventually publish in my <a href="https://arxiv.org/abs/1706.03762">acclaimed 2017 paper</a>, &#8220;Attention is all you need.&#8221; Continuing on my research, you won&#8217;t be surprised to hear that we published a lot about AI this month: all about RLHF, why Microsoft is reviving an old nuclear power plant to build data centers, and why starting with small, manual tasks is the best way to get yourself started with AI at work.</p><p>We&#8217;ve also been building something bigger behind the scenes to make all of this easier to learn. More on that later!</p><p>Here&#8217;s what&#8217;s new:</p><h2>New on Technically</h2><h3><a href="https://technically.dev/posts/all-about-rlhf">What&#8217;s RLHF?</a></h3><p><em>Available as a <a href="https://read.technically.dev/p/what-is-rlhf?r=44h0yc&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=false">paid preview on Substack</a>, and now in its permanent home in the <a href="https://technically.dev/knowledge-bases/working-with-ai">AI, it&#8217;s not that complicated</a> knowledge base.</em></p><p>Though much of the effort and compute for training AI models goes into pre-training, you might be surprised to hear that pre-trained models are kind of dumb. They&#8217;re like a precocious toddler: ask them a simple question and you&#8217;ll get a long winded, disorganized, and poorly vetted response.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hgMj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hgMj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png 424w, https://substackcdn.com/image/fetch/$s_!hgMj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png 848w, https://substackcdn.com/image/fetch/$s_!hgMj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png 1272w, https://substackcdn.com/image/fetch/$s_!hgMj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hgMj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;: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_!hgMj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png 424w, https://substackcdn.com/image/fetch/$s_!hgMj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png 848w, https://substackcdn.com/image/fetch/$s_!hgMj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.png 1272w, https://substackcdn.com/image/fetch/$s_!hgMj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf4f7bdb-4530-40dc-9f4d-0e5449510392_1456x819.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>This post explains the three-step process that fixed this, and enabled today&#8217;s models like Claude:</p><ul><li><p>Supervised fine-tuning teaches models the <em>format</em> of helpful answers</p></li><li><p>How building a reward model trains an AI to judge responses like a human would (because paying humans to score millions of examples is impossibly expensive)</p></li><li><p>Reinforcement learning lets models generate millions of responses and learn which ones score highest</p></li></ul><p>RLHF is basically a finishing school for AI &#8211; teaching it manners, helping it read the room, and turning raw intelligence into something you&#8217;d actually want to work with.</p><h3><a href="https://technically.dev/posts/ai-power-situation">A practical breakdown of the AI power situation</a></h3><p><em>Available as a <a href="https://read.technically.dev/p/a-practical-breakdown-of-the-ai-power?r=44h0yc&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=false">free post on Substack</a> and has found its home in the <a href="https://technically.dev/knowledge-bases/working-with-ai">AI, it&#8217;s not that complicated</a> knowledge base.</em></p><p>What in the world is going on with all of these data center deals getting announced by OpenAI? And what&#8217;s a gigawatt? As AI Labs scale up compute, they&#8217;re starting to invest in the thing compute needs to run, but we can&#8217;t currently give it: electricity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qAeO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qAeO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png 424w, https://substackcdn.com/image/fetch/$s_!qAeO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png 848w, https://substackcdn.com/image/fetch/$s_!qAeO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png 1272w, https://substackcdn.com/image/fetch/$s_!qAeO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qAeO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png" width="1456" height="647" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:647,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qAeO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png 424w, https://substackcdn.com/image/fetch/$s_!qAeO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png 848w, https://substackcdn.com/image/fetch/$s_!qAeO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png 1272w, https://substackcdn.com/image/fetch/$s_!qAeO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F461851f8-da9d-436b-b4c5-ceee9e65d2e5_1456x647.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>This post covers:</p><ul><li><p><a href="https://technically.dev/posts/about-the-scaling-law">The Scaling Law</a> and why AI labs believe more compute (GPUs) = better models</p></li><li><p>How our grid is woefully underpowered for data center compute, and demand for power has been roughly flat over the past 20 years</p></li><li><p>The nuclear option (not really) reveals why tech giants are literally reviving nuclear power plants</p></li><li><p>The three-way handshake breaks down how deals between AI labs, cloud providers, and energy companies actually work</p></li></ul><p><a href="https://openai.com/index/openai-nvidia-systems-partnership/">Sam Altman</a> said it himself: &#8220;Everything starts with compute.&#8221; OpenAI is planning for 25+ gigawatts of capacity. For context, a large cloud data center maxes out at 1GW. This is an unprecedented buildout, and energy (not code, not even chips) is a real issue.</p><h3><a href="https://technically.dev/posts/start-small-with-ai">For AI at work, start with something small</a></h3><p><em>Available as a <a href="https://read.technically.dev/p/for-ai-at-work-start-with-something?r=44h0yc">paid preview on Substack</a> and now seated in the <a href="https://technically.dev/knowledge-bases/working-with-ai">AI, it&#8217;s not that complicated knowledge base</a>.</em></p><p>If you&#8217;re looking to get the most out of AI tools today, your best bet is to start small: pick a recurring, manual process to automate instead of trying to tackle an entire function.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6V9H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6V9H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png 424w, https://substackcdn.com/image/fetch/$s_!6V9H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png 848w, https://substackcdn.com/image/fetch/$s_!6V9H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png 1272w, https://substackcdn.com/image/fetch/$s_!6V9H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6V9H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6V9H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png 424w, https://substackcdn.com/image/fetch/$s_!6V9H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png 848w, https://substackcdn.com/image/fetch/$s_!6V9H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png 1272w, https://substackcdn.com/image/fetch/$s_!6V9H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d8af477-3da7-4c4e-a3fe-32131edf9242_1456x819.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>This post walks through:</p><ul><li><p>Why the &#8220;messy middle&#8221; is AI&#8217;s sweet spot, with tasks that take 30-90 minutes, happen regularly, and are mind-numbingly manual</p></li><li><p>Technical reasons to start small, since it&#8217;s way easier to give models the context they need for small tasks, and you can iterate faster with tighter feedback loops</p></li><li><p>Real examples from writing, finance, and other fields</p></li></ul><p>AI isn&#8217;t going to do your entire job for you, at least not yet. Think of it as a tool to handle the annoying, repetitive parts while you focus on the stuff that requires actual judgment and creativity.</p><h2>Introducing the Technically AI Reference (!)</h2><p>Now with all that being said, it became pretty clear we needed a single place to send people who want to actually understand this stuff (or die trying).</p><p>After five years of breaking down APIs, databases, and assorted software sorcery for 75K readers, we finally pulled the AI fundamentals into one home.</p><p>The <a href="https://technically.dev/ai-reference">Technically AI Reference</a> is our new library of plain-English explainers that walk through what&#8217;s happening inside modern models. You&#8217;ll find guides on <a href="https://technically.dev/ai-reference/context-window">context windows</a>, <a href="https://technically.dev/ai-reference/rag">RAG</a>, <a href="https://technically.dev/ai-reference/rlhf">RLHF</a>, <a href="https://technically.dev/ai-reference/fine-tuning">fine-tuning</a>, <a href="https://technically.dev/ai-reference/hallucination">hallucinations</a>, sampling, and many other core concepts. Each piece is written to help you build real intuition about how these systems behave and how to use them well.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lwk3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lwk3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png 424w, https://substackcdn.com/image/fetch/$s_!lwk3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png 848w, https://substackcdn.com/image/fetch/$s_!lwk3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png 1272w, https://substackcdn.com/image/fetch/$s_!lwk3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lwk3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png" width="1456" height="864" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:864,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lwk3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png 424w, https://substackcdn.com/image/fetch/$s_!lwk3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png 848w, https://substackcdn.com/image/fetch/$s_!lwk3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png 1272w, https://substackcdn.com/image/fetch/$s_!lwk3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5ddf488-be03-48e4-976e-d7ba9f4b89e8_1456x864.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>It&#8217;s fast, it&#8217;s simple, and it&#8217;s completely free. Explore it now &#8212; and tell us which concepts you want us to cover next!</p><h2>From the <s>Universe</s> AI Reference: Hallucination</h2><p>This month, we&#8217;re pulling a concept straight from the new <a href="https://technically.dev/ai-reference">AI Reference</a>. (Don&#8217;t worry, the <a href="https://technically.dev/universe">Technically Universe</a> terms are still there whenever you need software fundamentals.)</p><h3>What is Hallucination?</h3><p><a href="https://technically.dev/ai-reference/hallucination">Hallucination</a> happens when an AI model generates information that isn&#8217;t accurate. The model doesn&#8217;t really verify facts or check its claims, it just produces text by extending patterns learned during training, and those patterns don&#8217;t always match reality.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I-Op!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I-Op!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!I-Op!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!I-Op!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!I-Op!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I-Op!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I-Op!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!I-Op!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!I-Op!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!I-Op!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ed8fdf4-a0e8-4dd4-a8d1-80bd096720d5_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Why this matters:</p><ul><li><p>Models can sound confident even when the details are wrong</p></li><li><p>Hallucinations show up as fake citations, invented facts, or plausible-sounding errors</p></li><li><p>They can create issues in tasks that rely on accuracy</p></li><li><p>Knowing how hallucinations happen helps you prompt more effectively and verify outputs before relying on them</p></li></ul><h2>Coming up this month</h2><p>We&#8217;ve got two posts on deck for this month:</p><ul><li><p><strong>AI will replace you at your job if you let it: </strong>A straight shot of truth about how careless use of AI isn&#8217;t good for job security, why junior talent is at the highest risk, and how to use models in a way that actually builds skill instead of erasing it.</p></li><li><p><strong>Which vibe coding tool should you use?</strong> We review Replit, v0, Lovable and Bolt, to see who will be Vandelay Industries&#8217; preferred vibe coding tool.</p></li></ul><h2>Are you using AI at work?</h2><p>We want to keep hearing about how you&#8217;re actually using these tools in the wild. Made something cool? Found a workflow that saves you hours? Discovered a use case we haven&#8217;t thought of? Respond to this email and share your story!</p>]]></content:encoded></item><item><title><![CDATA[Understand AI or die trying]]></title><description><![CDATA[Knowing how AI works might just stop it from replacing you.]]></description><link>https://read.technically.dev/p/understand-ai-or-die-trying</link><guid isPermaLink="false">https://read.technically.dev/p/understand-ai-or-die-trying</guid><dc:creator><![CDATA[Justin]]></dc:creator><pubDate>Thu, 04 Dec 2025 16:31:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DWLp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>TL;DR</strong>: we&#8217;re announcing the <a href="https://technically.dev/ai-reference">AI Reference</a>, the best, fastest, and free-est way to get smart on the fundamentals behind AI models like RAG, RLHF, context, and pre-training. It&#8217;s totally free and you can <a href="https://technically.dev/ai-reference">dive in here</a>.</p><p>90s kids will without a doubt remember these:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DWLp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DWLp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png 424w, https://substackcdn.com/image/fetch/$s_!DWLp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png 848w, https://substackcdn.com/image/fetch/$s_!DWLp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png 1272w, https://substackcdn.com/image/fetch/$s_!DWLp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DWLp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png" width="900" height="602" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:602,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hands holding a Magic 8 Ball showing the answer &#8220;Without a doubt.&#8221;&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="Hands holding a Magic 8 Ball showing the answer &#8220;Without a doubt.&#8221;" title="Hands holding a Magic 8 Ball showing the answer &#8220;Without a doubt.&#8221;" srcset="https://substackcdn.com/image/fetch/$s_!DWLp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png 424w, https://substackcdn.com/image/fetch/$s_!DWLp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png 848w, https://substackcdn.com/image/fetch/$s_!DWLp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.png 1272w, https://substackcdn.com/image/fetch/$s_!DWLp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca06cfa7-af49-4ad2-9888-fd1de7cc32ba_900x602.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>Behold, the Magic Eight Ball&#8482;.</p><p>The eight ball was an answer machine. You&#8217;d ask a question, turn over the eight ball, and get a random response. <em>Don&#8217;t count on it</em>. <em>My sources say no</em>. <em>It is decidedly so. Signs point to yes!</em></p><p>Trying to decide if you should call her? Ask the eight ball. Wondering if you&#8217;ll ever get that job interview? Eight ball. Unsure about which college you should go to? You should probably ask your advi&#8230;nope, eight ball. This plastic orb of whimsical wonder was the oracle of an entire generation &#8211; my generation &#8211; injecting a little random levity into what was an uncertain time in life for many of us.</p><p>The idea and technology behind the eight ball were <a href="https://www.britannica.com/story/where-did-the-idea-for-the-magic-8-ball-come-from">originally created</a> by Albert C. Carter in the mid 1940s. Inspired by his clairvoyant mother, Carter <a href="https://patents.google.com/patent/US3119621">patented</a> (yes) a series of crystal ball like fortune telling devices, all of which went nowhere. That was until 1950, when Chicago&#8217;s Brunswick Billiards Company was looking for a promotional toy of sorts&#8230;and the rest was history.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l795!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l795!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png 424w, https://substackcdn.com/image/fetch/$s_!l795!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png 848w, https://substackcdn.com/image/fetch/$s_!l795!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png 1272w, https://substackcdn.com/image/fetch/$s_!l795!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l795!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png" width="1072" height="1408" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1408,&quot;width&quot;:1072,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Vintage patent diagram of the internal design of a Magic 8 Ball.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Vintage patent diagram of the internal design of a Magic 8 Ball." title="Vintage patent diagram of the internal design of a Magic 8 Ball." srcset="https://substackcdn.com/image/fetch/$s_!l795!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png 424w, https://substackcdn.com/image/fetch/$s_!l795!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png 848w, https://substackcdn.com/image/fetch/$s_!l795!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png 1272w, https://substackcdn.com/image/fetch/$s_!l795!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcdf61ff-b8fe-4489-87f2-efae618503b6_1072x1408.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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"><em>(Abe Bookman was Carter&#8217;s brother-in-law, who helped him file more patents and manufacture the thing)</em></figcaption></figure></div><p><a href="https://www.youtube.com/watch?v=ZyNoc2BDteE">The way it works</a> is simple. Inside the eight ball lies a canister full of dark blue liquid, in which is suspended a plastic multi-faceted die (usually 20 sides). When you turn over<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> the eight ball, the die floats up and lands on one side, showing you a decidedly random message. The visage became so popular that it even made its way into high fashion, if you can call it that.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AJn-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AJn-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png 424w, https://substackcdn.com/image/fetch/$s_!AJn-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png 848w, https://substackcdn.com/image/fetch/$s_!AJn-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png 1272w, https://substackcdn.com/image/fetch/$s_!AJn-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AJn-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png" width="879" height="659" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:659,&quot;width&quot;:879,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Man wearing a colorful jacket with a large number 8 on the back.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Man wearing a colorful jacket with a large number 8 on the back." title="Man wearing a colorful jacket with a large number 8 on the back." srcset="https://substackcdn.com/image/fetch/$s_!AJn-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png 424w, https://substackcdn.com/image/fetch/$s_!AJn-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png 848w, https://substackcdn.com/image/fetch/$s_!AJn-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png 1272w, https://substackcdn.com/image/fetch/$s_!AJn-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0642ee34-a869-4f74-b83e-dbc68bc18b74_879x659.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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"><em>All signs point to yes!</em></figcaption></figure></div><p>The thing about the eight ball is that it&#8217;s <em>fun</em>. Like opening a fortune cookie and peeking inside at the little white flag, you couldn&#8217;t help but chuckle at how right or how wrong it really was. The eight ball is a <em>gimmick</em>. It&#8217;s a good bit.</p><p>On the flip side, there were people who actually did take the eight ball&#8217;s response to heart. And it was <em>precisely the randomness</em> inherent in the eight ball that they respected. If you needed a new direction, if the sum of your life choices had led you to somewhere uncertain, or even if you just couldn&#8217;t decide between the 10 or 20 piece McNuggets&#8230;well, maybe you wanted to just leave it up to the universe this time.</p><p>A fundamental philosophy was shared between the eight ball ignorers and the eight ball listeners. You know how the eight ball worked, and that&#8217;s exactly why you used it. <strong>Our understanding of the device&#8217;s mechanism directly informs our perception of the output</strong>. We <em>cannot</em> understand, or make use of, a mechanized response without knowing how the response was formed.</p><h2><strong>AI will only take your job if you let it</strong></h2><p>We have magic eight balls today, and they&#8217;re called <a href="https://technically.dev/universe/llm">LLM</a>s. They are completely transforming every white collar (hello) worker&#8217;s lives and will continue to do so as they get better and better. The quality of <a href="https://technically.dev/universe/llm">LLM</a> responses is not just impressive, it&#8217;s not just useful, but it&#8217;s getting a lot better incredibly quickly. Ergo, the question on everyone&#8217;s mind seems to be: <strong>will these take my job?</strong></p><p>In my mind the answer is: <strong>AI will only take your job if you let it</strong>. If you assume the position of luddite and shun these models, trusting your own (manual) work above the AI, you will likely at some point get automated. If you offload <em>too much</em> to the model, carelessly prompting and pasting while letting the AI do all of the work, you will likely at some point get automated. <strong>But</strong>, if you treat the model as a powerful tool, to be wielded as a reflection of your own taste and soul, you will not only not get automated, you will be able to accomplish orders of magnitude more than you ever dreamed possible.</p><p>But this is where the problem lies: too many people are <strong>incredibly lazy AI users</strong>. They write vanilla prompts, they fail to scope the problem properly, they don&#8217;t understand how to use context, and they take the first response without iteration. If you treated our last generation of tools like this &#8211; whether it&#8217;s Hubspot as a marketer or VSCode as a developer &#8211; you&#8217;d get <em>nowhere</em>. And if your usage of AI is this overly simplistic, it&#8217;s only a matter of time before someone more senior than you at work realizes they can run the same basic prompts as you can.</p><p>If clever, personalized usage of AI tools is so important to our success, why do so many people not do it?  Well to start, <strong>nobody has any fucking clue how these models work.</strong> They think that pre-training is when you teach your child to use the toilet. RLHF, RAG, these are acronyms of mystery. To most, <a href="https://technically.dev/universe/machine-learning">Machine Learning</a> might as well be organic chemistry.</p><p>You obviously don&#8217;t need to be a computer scientist to use an AI model. But without <em>any</em> fundamental understanding of what they even are, you will not be able to use them productively. If you want to use these models well &#8211; and avoid being used <em>by</em> them &#8211; you need to understand the basics of how they work:</p><ul><li><p>If you want to <strong>prompt well with good context</strong>, you need to understand what context is, how models interpret text, and what a context window limit allows you.</p></li><li><p>If you want to <strong>apply AI with good taste</strong> to the right problems, you need to understand how the word-guessing LLM architecture works and what it&#8217;s good or bad at.</p></li><li><p>If you want to <strong>vibe code an app</strong> that actually lasts, you need to understand chains of thought, why models work better with plans, and how to use the system prompt to your advantage.</p></li></ul><p>Another reason this is important is that <strong>models get things wrong</strong>, all the time. It&#8217;s called <a href="https://technically.dev/posts/why-ai-models-hallucinate">hallucinating</a> and much of it goes completely undetected because of how confidently models respond to prompts (Oren Etzioni phrased it as &#8220;a very impressive-sounding answer that&#8217;s just dead wrong&#8221;). And nowhere is this more visible than in the courtroom, where there are already <a href="https://www.damiencharlotin.com/hallucinations/">hundreds of cases</a> of legal decisions where GenAI produced hallucinated content.</p><p>Unfortunately, it&#8217;s really quite hard to get smart on AI. This stuff is highly technical, it&#8217;s complicated, and the people building it aren&#8217;t really prioritizing education of the non-elites. There are 100 newsletters out there covering the latest developments in AI&#8230;but how many stop to tell you how a neural network works? Hell, I majored in <em>Data Science</em> and I still find myself needing fairly extensive research to write intelligently about whatever the latest in Claude is.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PEa9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PEa9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png 424w, https://substackcdn.com/image/fetch/$s_!PEa9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png 848w, https://substackcdn.com/image/fetch/$s_!PEa9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!PEa9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PEa9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png" width="1456" height="1571" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1571,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Research paper page showing the Universal Planning Networks abstract and diagrams.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Research paper page showing the Universal Planning Networks abstract and diagrams." title="Research paper page showing the Universal Planning Networks abstract and diagrams." srcset="https://substackcdn.com/image/fetch/$s_!PEa9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png 424w, https://substackcdn.com/image/fetch/$s_!PEa9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png 848w, https://substackcdn.com/image/fetch/$s_!PEa9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!PEa9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe4b69c1-7ce4-4ce3-a325-c0b7b3d5c9b2_1483x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Meanwhile, models are getting more and more complex. Unlike most of the rest of software, AI is a research discipline. And the speed at which said research makes it into product is unprecedented. To know what makes GPT-5 different from GPT-4 is not as simple as reading a few lines from a release blog post. Today&#8217;s AI model is actually an amalgamation of several different models that would each have been groundbreaking just a few years ago. And I&#8217;m sure in a few years today&#8217;s state of the art will be primitive.</p><p>Sometimes it can just feel like this technology is simply beyond the average person&#8217;s ability to understand. And yet, it has never been more important to understand it. Which way, western technology user?</p><h2><strong>Announcing the Technically AI Reference</strong></h2><p>I&#8217;ve spent the last 5 years writing Technically, trying to make software and AI easier to understand. Over half a decade, 100+ articles, and 75K+ subscribers later, I believe I&#8217;ve done good work towards making it easier for the average joe to understand what&#8217;s going on. You can read Technically to understand what an <a href="https://technically.dev/universe/api">API</a> is, how to swim in a <a href="https://technically.dev/posts/whats-a-data-lake">data lake</a>, or what <a href="https://technically.dev/posts/what-does-stripe-do">Stripe</a> actually does.</p><p>The same desperately needs to be done for AI, and soon. I promise you I&#8217;m writing as fast as I can. And this is all why I&#8217;m excited to announce our newest release, <a href="https://technically.dev/ai-reference">the AI Reference</a>. It is without a doubt the fastest, easiest, and free-est way to get smart on AI.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dkxm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dkxm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png 424w, https://substackcdn.com/image/fetch/$s_!Dkxm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png 848w, https://substackcdn.com/image/fetch/$s_!Dkxm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png 1272w, https://substackcdn.com/image/fetch/$s_!Dkxm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dkxm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png" width="1456" height="864" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:864,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AI Reference webpage displaying illustrated cards for Context Window and Token.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Reference webpage displaying illustrated cards for Context Window and Token." title="AI Reference webpage displaying illustrated cards for Context Window and Token." srcset="https://substackcdn.com/image/fetch/$s_!Dkxm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png 424w, https://substackcdn.com/image/fetch/$s_!Dkxm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png 848w, https://substackcdn.com/image/fetch/$s_!Dkxm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png 1272w, https://substackcdn.com/image/fetch/$s_!Dkxm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bd48427-d2bb-44fd-b5f2-654c3a600917_1600x949.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>You can read about:</p><ul><li><p><a href="https://technically.dev/ai-reference/context-window">Context windows</a></p></li><li><p><a href="https://technically.dev/ai-reference/fine-tuning">Fine tuning</a></p></li><li><p><a href="https://technically.dev/ai-reference/hallucination">Hallucinations</a></p></li><li><p><a href="https://technically.dev/ai-reference/prompt-engineering">Prompt engineering</a></p></li><li><p>&#8230;and dozens more</p></li></ul><p>Each concept has a basic explainer, common questions answered, and some really nice graphics that accompany you on your learning journey.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3i7x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3i7x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png 424w, https://substackcdn.com/image/fetch/$s_!3i7x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png 848w, https://substackcdn.com/image/fetch/$s_!3i7x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png 1272w, https://substackcdn.com/image/fetch/$s_!3i7x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3i7x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png" width="1456" height="743" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:743,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagram explaining how RAG works with handwritten-style boxes and labels.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram explaining how RAG works with handwritten-style boxes and labels." title="Diagram explaining how RAG works with handwritten-style boxes and labels." srcset="https://substackcdn.com/image/fetch/$s_!3i7x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png 424w, https://substackcdn.com/image/fetch/$s_!3i7x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png 848w, https://substackcdn.com/image/fetch/$s_!3i7x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png 1272w, https://substackcdn.com/image/fetch/$s_!3i7x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3558a7d9-0a55-41c5-af3a-96cf2909e189_1600x816.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>Like I said this thing is completely free, you can just peruse at your own leisure &#8211; although if you&#8217;d like to send me money that is fine too. We&#8217;ll be constantly updating and adding to it &#8211; <strong>respond to this email if you have any topic suggestions</strong>.</p><p>And remember the ancient wisdom of Curtis James Jackson III: <strong>&#8220;Understand AI or die trying.&#8221;</strong></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Apparently you aren&#8217;t supposed to shake it, because that sometimes creates undesired bubbling.</p><p></p></div></div>]]></content:encoded></item></channel></rss>