<?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>Wed, 13 May 2026 17:15:31 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[AI, tractors, and the productivity paradox]]></title><description><![CDATA[Where are AI's productivity gains hiding? What kitted out Model Ts can teach us.]]></description><link>https://read.technically.dev/p/the-ai-productivity-paradox</link><guid isPermaLink="false">https://read.technically.dev/p/the-ai-productivity-paradox</guid><dc:creator><![CDATA[Sachin]]></dc:creator><pubDate>Thu, 30 Apr 2026 13:31:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xxIb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The question everyone seems to be asking these days with respect to AI is: if it&#8217;s so impactful as claimed, why is it not showing up in any economic stats?</p><p>It is not the first time that such a paradox has shown up in the deployment of a new technology. In 1987, <a href="https://en.wikipedia.org/wiki/Productivity_paradox">Robert Solow remarked</a> that you can see the computer age everywhere except in the productivity statistics. Erik Brynjolfsson later coined the term &#8220;productivity paradox&#8221; in 1993 to describe this very phenomenon. The massive investment in information technology through the 1970s and 1980s produced no measurable uptick in productivity growth. It took nearly a decade of organizational restructuring before the gains showed up in the late 1990s. We may be in a similar lag period with AI.</p><p>One answer to why this delay happens may lie in how early technology develops through the under-studied activity of kit-making.</p><p>A kit is a set of components that are meant to be tinkered with and have no single &#8220;correct&#8221; method of usage. Steam engines were famously kits. In 1763, <a href="https://www.science.org/doi/10.1126/science.1060460">James Watt was asked to repair a scale-model Newcomen steam engine at Glasgow University.</a> The job led him to see how wastefully the Newcomen design used steam, and a year and a half later he hit on the idea of a separate condenser &#8212; building his first prototype using a brass surgical syringe as the cylinder. When he partnered with Matthew Boulton to commercialize the design, they didn&#8217;t produce finished steam engines. Instead, they sold engineering kits with extensive instructions that required on-site assembly. Boulton &amp; Watt made a killing and transformed their age. Someone even named <a href="https://boultonwatt.com/">a startup incubator</a> after them.</p><p>This rough template has foreshadowed technological revolution ever since. Whether in radio, automobiles, aircraft, electronics, or personal computers, communities of talented kit-building amateurs have disproportionately influenced early innovation. Michael Schrage, a research fellow at MIT&#8217;s Sloan School, <a href="https://makezine.com/article/technology/kits-and-revolutions/">puts this well:</a> kitonomic innovation doesn&#8217;t follow the money, the money follows the kits. The proliferation of cheap kits signals a market sector ripe for revolution more reliably than the presence of expensive cutting-edge products. On the influence of kit-making on the information age, he writes:</p><blockquote><p>So while there may be no &#8220;Steve Jobs of Kits&#8221; yet, there is surely no Steve Jobs without kits. There&#8217;s no Bill Gates or Akio Morita without kits either. Their market-transforming entrepreneurial leaps all emerged from kit-enabled cottage industries. The two Steves &#8212; Jobs and Wozniak &#8212; literally built Apple from kits. Gates and Paul Allen started Microsoft as a software systems supplier for DIY computer kit builders. Morita and Masaru Ibuka launched Sony with kits to turn AM radios into shortwave receivers. From the prewar &#8220;cat&#8217;s-whisker&#8221; playfulness of crystal radio kits to postwar floods of surplus electronics, kits became a medium, mechanism, and marketplace for next-generation invention.</p></blockquote><p>Even within kits there is an important difference between amateurs tinkering to make money <em>directly</em> from the technology itself, and users repurposing kits to <em>interpret</em> a technology in a way that fits their own context. The first kind of kit-builder is someone like Wozniak at Homebrew, building computers because <em>the computer itself</em> is the product. The second kind is a farmer in 1915 Iowa jacking up the rear wheel of his Model T to run a corn sheller. He doesn&#8217;t care about the car as a product. He cares about shelling corn.</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 weekly publication that helps you make practical sense of software, AI, and sometimes farm machinery.</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><h3><strong>Users Interpret New Technology</strong></h3><p>There is an excellent paper by Ronald Kline and Trevor Pinch arguing that this second kind of creativity, what they call the &#8220;interpretative flexibility&#8221; of rural users, is what eventually led to the <a href="https://technically.dev/universe/production">production</a> of tractors and specialized trucks. Their <a href="https://technically.dev/universe/framework">framework</a> comes from the Social Construction of Technology (SCOT) tradition, which holds that different social groups assign different meanings to the same artifact. What counts as a &#8220;working&#8221; technology is not settled by engineering alone. It is settled by what communities of users actually do with it.</p><p>The paper documents how the period from roughly 1903 to 1950 was dominated by rural users employing automobiles in ways that manufacturers never intended and sometimes actively discouraged. Farm men saw the car not merely as transport but as a general source of power. As early as 1903, a Kansas farmer advised readers of the Rural New Yorker to block up the hind axle and run a belt from the wheel to a corn sheller, grinder, saw, pump, or any other machine the engine was capable of running. Cars powered washing machines, cream separators, water pumps, hay balers, wood saws, cider presses, and corn grinders. From the paper:</p><p><em>&#8220;A rancher even used a Cadillac to shear his sheep. A Maine farm man put a car to so many uses in 1915 that tax assessors did not know whether to classify it as a pleasure vehicle or a piece of agricultural machinery. Farm men also used their cars as snowmobiles, tractors, and agricultural transport vehicles.&#8221;</em></p><p>Then kit manufacturers took advantage of this. Although firms brought out kits to convert the car into a stationary power source as early as 1912, advertisements for these kits did not appear in large numbers until 1917, during wartime shortages of farm labor and horses. Some companies simply sold a pulley to be attached to a jacked-up wheel.</p><p>Eventually, most kit manufacturers realized that jacking up one wheel put undue strain on the differential gear, since one wheel would spin while the other sat stationary on the ground. Most kits were therefore designed to overcome the differential problem, taking power from the crankshaft or rear axle instead. The Lawrence Auto Power Company in St. Paul sold a $35 kit consisting of a tie-rod, two pulleys, and a metal stand that could operate a feed grinder, corn sheller, silo filler, wood saw, and cream separator.</p><p>More elaborate kits allowed the car to act as an agricultural tractor. Food shortages during the war led the federal government to encourage farmers to &#8220;plow to the fences,&#8221; which gave added incentive to buy tractors or conversion kits. Kline and Pinch found three prewar instances where farm men yoked the automobile to the plow. The conversion kits that came out in a flurry in 1917 typically consisted of tractor-like drive wheels, a heavy axle, reduction gears, a larger radiator, and forced-feed lubrication, selling for $97.50 to $350. They counted twenty-two companies manufacturing these kits.</p><p>Then came what Kline and Pinch call &#8220;closure.&#8221; By the late 1910s and 1920s, manufacturers like Ford had observed these &#8220;creative&#8221; uses by people of the farm and ergo started producing dedicated tractors and trucks as specialized products. Ford told its dealers in 1916 that it did not want them converting Ford cars into trucks and other makeshifts not sanctioned by the company. Ford released its first one tonne truck in 1916, hoping to put an end to truck conversion kits. The American Tractor Association, a powerful trade group, even requested that the War Industries Board prohibit entirely the manufacture of kits that converted automobiles into tractors. Even though commercial tractors were available in 1918, widespread use of kits continued well into the great depression, until the New Deal when families had an influx of capital to invest in specialized farm equipment.</p><p>Post-closure, the social interpretation of the car as a vehicle for transporting people stabilized. The interpretative flexibility that Kline and Pinch described completely disappeared by the early 1950s. Farm people had stopped using their autos for grinding grain, plowing fields, or carrying produce to town. Instead, they bought tractors and pickup trucks in large numbers. These new artifacts were ones that manufacturers had developed partly in response to the new interpretations of the car that rural users had pioneered decades earlier. As Kline and Pinch put it, &#8220;The users, so easily overlooked in writing the story of technology, had made their mark.&#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_!xxIb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xxIb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png 424w, https://substackcdn.com/image/fetch/$s_!xxIb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png 848w, https://substackcdn.com/image/fetch/$s_!xxIb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png 1272w, https://substackcdn.com/image/fetch/$s_!xxIb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xxIb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png" width="1456" height="891" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:891,&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_!xxIb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png 424w, https://substackcdn.com/image/fetch/$s_!xxIb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png 848w, https://substackcdn.com/image/fetch/$s_!xxIb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.png 1272w, https://substackcdn.com/image/fetch/$s_!xxIb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1e39d89-ec15-40df-9792-33f85a95e9b3_1526x934.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 interesting bit about this for our argument is that this general-purpose use of cars, where they were modified and repurposed as farm equipment, is not something that shows up in economic statistics from the time. Kline and Pinch note that most of the kit companies seem to have led a relatively short life. The Pullford Company of Quincy, Illinois, was an exception, bringing out a $135 kit in 1917 and advertising it continuously until at least 1940. But most of these businesses were ephemeral. The products they made were local solutions to local problems, sold in small quantities to a dispersed population of tinkerers. Government surveys of the era counted how many farms had automobiles, tractors, trucks, and stationary gasoline engines, but they did not count how many farms were using a jacked-up Ford to run a cream separator.</p><h3><strong>Living in Experiential Kit Time</strong></h3><p>The kit stage in the development of a technology is characterized by rapid experiments from amateurs and tinkerers. Most of these experiments turn out to be just interesting experiments or remain relevant for a short enough time that nobody bothers to record them. Healthy innovation cultures need the human capital that this tinkering produces. But that human capital is invisible to economic stats.</p><p>Just like how people throw away or don&#8217;t look at vibe coded projects, they don&#8217;t attempt to remember or productize the general-purpose uses they engineer during the kit era. The focus is on the act itself, on developing tacit skills through doing. There is a local development of skills in a small group, but it is rarely documented because there is no time to waste on documentation. And besides, chances are that the project is not worth documenting to begin with.</p><p>The subjective experience of kit making is similar to a religious procession or participation in Burning Man, where you have to be there and do the thing to understand what the hype is about. The memory it generates lives in the public and embodied layers, in islands of early adopters and makers willing to put up with the jankiness of this stage of a technology&#8217;s development.</p><h3><strong>Kits and the Firm</strong></h3><p>In his 1937 paper &#8220;The Nature of the Firm,&#8221; Ronald Coase asked a simple question: why do firms exist at all? If markets are efficient, why don&#8217;t individuals just contract with each other for every task?</p><p>His answer was that firms exist to reduce transaction costs. The costs of discovering prices, negotiating contracts, and coordinating production are often so high that it becomes cheaper to organize activity within a single entity. The boundaries of the firm are drawn where the cost of organizing one more transaction internally equals the cost of doing it through the open market. In simpler terms, if you had to bid on an hourly paid engineer every time you have some work to do, your organization will not get much done.</p><p>But Coase&#8217;s framing leaves out the other half of the ledger. Paul Lawrence and Jay Lorsch, in their 1967 book <em>Organization and Environment</em>, showed something that will sound intuitive to anyone reading this with a desk job: that coordinating activity <em>inside</em> a firm isn&#8217;t free either. As organizations take on more diverse work, their teams become <em>differentiated </em>&#8212; they develop their own time horizons, their own goals, their own ways of thinking about problems. The engineering team working on production ready software will move at a different speed and have a slightly different culture than the R&amp;D team working on a new AI product.</p><p>Holding those worlds together requires <a href="https://technically.dev/universe/integration">integration</a>: liaison roles, cross-functional teams, and formal integrator positions whose entire job is translating between teams that no longer share a common frame. The more differentiated you become, the harder and more expensive <a href="https://technically.dev/universe/integration">integration</a> gets. Integration is expensive, but the ability to integrate different functions and teams is also a defensible moat for a company. You may know from your own working experience that not all companies are successful at <a href="https://technically.dev/universe/integration">integration</a>. Successful companies solve for <a href="https://technically.dev/universe/integration">integration</a> over and over again at different scales.</p><p>One way firms have historically reduced both kinds of cost (external transaction cost and internal integration cost) is by creating an accumulated memory layer of the experiments and skills from the kit phase. From the Kline and Pinch paper, you could think of the tractor as a product of the skills and knowledge that accumulated through the general-purpose use of cars by farmers in the 1910s and 1920s, combined with the evolution of the underlying engine technology. Ford didn&#8217;t invent the idea of using an automobile engine to pull a plow. Farmers did. Ford&#8217;s contribution was to take that scattered, tacit knowledge and embed it in an organization capable of producing a dedicated gasoline run machine at scale.</p><p>This integration of information and skill was possible because the environment had become less uncertain - prior to the Second World War, most families preferred to use automobiles over tractors so as to avoid additional expenditure. Then the New Deal provided families with capital to invest in farm specific equipment, which created a larger, more stable market for tractors.</p><p>Similarly, the first Apple computer was an accumulation of kit-stage experiments at Homebrew computing clubs, combined with the R&amp;D capabilities of Xerox labs. Firms turn accumulated memory of the kit stage of a technology into flows of capital through products. That process is itself an integration feat &#8212; pulling differentiated knowledge from workshops, labs, and factory floors into a single coherent artifact. This is undoubtedly a capability that only exists for the organization and not the individual.</p><p>To summarize, a modern firm accumulates memory in the form of organizational design, documentation, and specialization, then turns that into flows of capital and productivity through products. The really good firms keep doing this over and over again. Each product cycle is a chance to absorb what was learned in the previous kit phase and formalize it into the integration machinery &#8212; the roles, routines, and shared vocabularies that let differentiated subunits cooperate on the next product.</p><h3>The Firm and LLMs</h3><p>The firm&#8217;s traditional advantage was twofold: it could internalize transaction costs the open market couldn&#8217;t handle cheaply, and it could build integration machinery to hold differentiated expertise together under one roof. <a href="https://technically.dev/universe/llm">LLMs</a> erode both advantages, but not symmetrically.</p><p>On the market side, LLMs are rapidly making it cheaper for an individual to find specialists, evaluate contractors, synthesize scattered knowledge, and write enforceable specifications &#8212; these classic transaction costs are collapsing fast.</p><p>On the internal side, the picture is stranger. LLMs can automate some integration work, <a href="https://hbr.org/2026/02/ai-doesnt-reduce-work-it-intensifies-it">but they also accelerate the pace and volume of output inside each subunit, deepening the differentiation that integration has to span.</a> The interpretive burden of reconciling AI-assisted outputs across teams lands on individuals rather than disappearing. At least for now, internal integration costs in most firms are going <em>up</em>, not down. Several surveys of AI use in the workplace have shown that people are producing more work than previously <em>and dealing</em> with task expansion, scope creep, and<a href="https://fortune.com/2026/03/10/ai-brain-fry-workplace-productivity-bcg-study/"> &#8216;AI brain fry&#8217;</a>.</p><p>This brings us back to the question we started with. If AI is so impactful, why isn&#8217;t it showing up in the productivity stats? The Solow paradox answer is that firms haven&#8217;t reorganized yet. The computer took nearly a decade to show up in productivity numbers because the organizational work &#8212; flattening hierarchies, redrawing workflows, retraining workers, rebuilding integration machinery around the new technology &#8212; took nearly a decade to do. We are in the same lag now but with a different shape. Inside firms, integration costs are rising because differentiation between individuals and teams is accelerating faster than integration mechanisms can adapt.</p><p>The intensification of work that people feel with AI use points to this increasing integration cost. Outside firms, transaction costs are falling faster than people have habits for exploiting them &#8212; workers are not yet used to reaching past the org chart and engaging with markets constantly, and firms are not yet structured to let them. Caught in the middle, the output of AI is real but illegible to the statistics.</p><p>What comes out the other side of this lag is probably a bifurcation. Firms that can afford the integration machinery to harness AI across many differentiated teams and individuals will get very large, because the returns to scale on that machinery are enormous once it&#8217;s built &#8212; the hyperscalers are already showing what this looks like. Anthropic for example is not just a research lab, it&#8217;s also involved in <a href="https://newsroom.accenture.com/news/2025/accenture-and-anthropic-launch-multi-year-partnership-to-drive-enterprise-ai-innovation-and-value-across-industries">consulting</a>, <a href="https://www.anthropic.com/economic-index">economics</a> and media.</p><p>Firms that cannot afford that machinery will get very small, because the falling transaction costs in the market make the solo operator with an LLM stack a viable competitor to the mid-sized integrated firm. A single person with the right tools is, in a real sense, running a differentiated organization of one, paying none of the integration costs that would have made that organization impossible a decade ago. The mid-market &#8212; big enough to need serious integration but not big enough to amortize AI-era integration <a href="https://technically.dev/universe/infrastructure">infrastructure</a> &#8212; gets squeezed from both sides.</p><p>The productivity gains from this transition will without a doubt <em>eventually</em> show up in the statistics. But they will show up as the rise of a few enormous firms and a long tail of very small ones, with the integrated middle hollowing out. By the time the numbers confirm it, we will already have moved on to arguing that quantum computing, or whatever comes next, is failing to show up in the stats &#8212; forgetting that the kit stage is always invisible, and the reorganization always takes longer than anyone expects.</p>]]></content:encoded></item><item><title><![CDATA[When not to vibe code]]></title><description><![CDATA[Should I ship something myself, or call in engineering help?]]></description><link>https://read.technically.dev/p/when-not-to-vibe-code</link><guid isPermaLink="false">https://read.technically.dev/p/when-not-to-vibe-code</guid><dc:creator><![CDATA[Sarah Krasnik Bedell]]></dc:creator><pubDate>Thu, 23 Apr 2026 14:31:35 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/214233db-a1a0-4dd8-8d35-c9b53b484fbc_1500x1000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Running growth experiments at Railway, I ship changes to our web properties and content all the time.</p><p>As a technical person, but by no means a <a href="https://technically.dev/universe/frontend">frontend</a> engineer, I like to vibe code as much as I can - from growth experiments, to POCs, internal tooling, new designs, the list goes on.</p><p>It&#8217;s a balance, and I&#8217;m always trying to figure out what I should try to build myself, vs looping in the engineering team. We have a culture of being as independent as possible, without creating burden on other teams.</p><p>The most common use case I encounter is shipping a new landing page. I can open Claude Code (or any coding agent), describe the goal of the page, and voila, I have an MVP. However, the vibe coded result is just that: an MVP.</p><p>The dilemma then arises: should I ship it myself, or should I loop in engineering?</p><p>I&#8217;ve found that answering that requires considering two factors: <strong>consequences</strong> and <strong>ownership</strong>.</p><h2>You build it, you own it</h2><p>Even if a coding agent wrote every line of code, I still own the resulting product. I own both the successes and the failures.</p><p>So I need to consider:</p><p><strong>What happens when what I shipped breaks? </strong>A formatting bug on an internal dashboard is annoying, but a 404 on a live page serving millions of users is an incident.</p><p>You could call this the blast radius. Is an issue just a nuisance to me + my direct team, or does it extend to our users + customers?</p><p>Who owns making the fix? Whoever is paged at 2am needs to have all the context to fix the underlying issue. For most <a href="https://technically.dev/universe/production">production</a> web <a href="https://technically.dev/universe/infrastructure">infrastructure</a>, this person is likely not me, the marketer.</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">Consider subscribing to Technically for more first-person accounts of non-engineers using AI at work. </p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Ship internal tooling yourself</h2><p>Some of the most useful tools I&#8217;ve built with coding agents don&#8217;t need an engineer, because they never touch production infrastructure. Internal tools for data analysis or customer research don&#8217;t need an immediate fix if they break.</p><p>For example, each of the tools below took less than 4 hours to create on my own, and could even be public on the web by being deployed to Railway. They save me + our customer engineers tons of manual research time.</p><p>While not perfect, internal tools help me both understand behavior and solve problems in a much more automated way than I would otherwise.</p><p>This type of tooling is internal, not a core part of the product, used weekly by a few people, and if it breaks, the blast radius is mostly just my own time.</p><p>A few examples of internal tools I&#8217;ve vibe coded:</p><h3>Template verification tool</h3><p>Before admitting a company into Railway&#8217;s <a href="https://railway.com/partners">partner program</a>, we ensure they have a template that meets our best practices guidelines. Verifying this used to involve a support engineer launching the template and QAing it.</p><p>Now, I have an <a href="https://template-best-practices-production.up.railway.app/">app</a> to verify whether templates meet the standards by just entering the URL. This enables me to be self-sufficient and makes verification fairly instant.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fszq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fszq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.png 424w, https://substackcdn.com/image/fetch/$s_!Fszq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.png 848w, https://substackcdn.com/image/fetch/$s_!Fszq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!Fszq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fszq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.png" width="920" height="2048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2048,&quot;width&quot;:920,&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_!Fszq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.png 424w, https://substackcdn.com/image/fetch/$s_!Fszq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.png 848w, https://substackcdn.com/image/fetch/$s_!Fszq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!Fszq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf7f5c-50a1-4a95-95e1-17e91676e0da_920x2048.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>An example output from validating template structure</em></figcaption></figure></div><h3>Awareness campaign metrics dashboard</h3><p>In 2026, Railway is prioritizing broad-market awareness. This means sponsorships + brand campaigns. These are notoriously hard to track, particularly because they depend on metrics that we can&#8217;t directly collect, like YouTube views. I built a dashboard where I can enter links of YouTube videos and OSS tools we sponsor, and with the Youtube <a href="https://technically.dev/universe/api">API</a> and public `npm` data, map their engagement metrics and release dates over our growth metrics to view correlation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1iXb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11fe9c3-ce73-453e-8573-088c259514db_2048x1243.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1iXb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11fe9c3-ce73-453e-8573-088c259514db_2048x1243.png 424w, https://substackcdn.com/image/fetch/$s_!1iXb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11fe9c3-ce73-453e-8573-088c259514db_2048x1243.png 848w, https://substackcdn.com/image/fetch/$s_!1iXb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11fe9c3-ce73-453e-8573-088c259514db_2048x1243.png 1272w, https://substackcdn.com/image/fetch/$s_!1iXb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11fe9c3-ce73-453e-8573-088c259514db_2048x1243.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1iXb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11fe9c3-ce73-453e-8573-088c259514db_2048x1243.png" width="1456" height="884" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a11fe9c3-ce73-453e-8573-088c259514db_2048x1243.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:884,&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_!1iXb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11fe9c3-ce73-453e-8573-088c259514db_2048x1243.png 424w, https://substackcdn.com/image/fetch/$s_!1iXb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11fe9c3-ce73-453e-8573-088c259514db_2048x1243.png 848w, https://substackcdn.com/image/fetch/$s_!1iXb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11fe9c3-ce73-453e-8573-088c259514db_2048x1243.png 1272w, https://substackcdn.com/image/fetch/$s_!1iXb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11fe9c3-ce73-453e-8573-088c259514db_2048x1243.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">Mapping Railway&#8217;s growth over the growth of <a href="https://technically.dev/universe/open-source">open source</a> projects we sponsor</figcaption></figure></div><h3>Content quality checker app</h3><p>Community is everything to us - which is why we&#8217;ve invested in our <a href="https://railway.com/affiliate-program">affiliate program</a> to reward users who share about Railway.</p><p>As an exploration, I looked into what it would be like to automate monetary rewards (we call them bounties) for user-generated content.</p><p>This app takes a link or plain text and audits the content against a set of criteria to check for authenticity and accuracy. <em>Note: this isn&#8217;t live, and purely a POC.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xJMU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xJMU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.png 424w, https://substackcdn.com/image/fetch/$s_!xJMU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.png 848w, https://substackcdn.com/image/fetch/$s_!xJMU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.png 1272w, https://substackcdn.com/image/fetch/$s_!xJMU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xJMU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.png" width="1456" height="1281" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1281,&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_!xJMU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.png 424w, https://substackcdn.com/image/fetch/$s_!xJMU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.png 848w, https://substackcdn.com/image/fetch/$s_!xJMU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.png 1272w, https://substackcdn.com/image/fetch/$s_!xJMU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ab86ce4-3fc6-49df-a4eb-d47f1b7ad6eb_1616x1422.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>Auditing user-generated content programmatically</em></figcaption></figure></div><p>Claude Code has completely changed my workstream - by investing just a few hours into vibe coding a tool that&#8217;ll help me do my core work, I&#8217;m able to make more informed decisions while burdening adjacent teams less with new ideas.</p><h3>When you need engineering</h3><p>Going back to vibe coding that landing page.</p><p>What if it&#8217;s not just a landing page, but a completely new section of the site, at a new subdomain, with new structure. That makes it a bit more complex.</p><p>I&#8217;d need to consider:</p><p><strong>Traffic and scale. </strong>What happens to the site if it reaches 1M daily users? At Railway, our website infrastructure is maintained by our engineering team - so we have load handling, caching, CDN configuration, and graceful degradation already in place. These aren&#8217;t things as a marketer I&#8217;d want to setup or own.</p><p><strong>Security. </strong>If the page collects user data or touches payments, this is particularly important. Even simple landing pages can be subject to attacks. There&#8217;s no way I would vibe code anything related to our <a href="https://technically.dev/posts/what-does-stripe-do">Stripe</a> <a href="https://technically.dev/universe/integration">integration</a>, for instance.</p><p><strong>Defensive thinking. </strong>I  caught a gnarly bug once where all the buttons on one marketing page broke, because we switched from capital case to sentence case, but button paths were hardcoded to capital case. An engineer might&#8217;ve caught this with defensive programming, but the coding agent did not.</p><p><strong>Monitoring. </strong>Anything user-facing should have tests and checks in place so if there&#8217;s an issue, I know about it before our users do.</p><p>All of these combine to form  the underlying <strong>engineering system</strong>.</p><p>Wherever possible, I much prefer to ship within existing systems that my engineering team has already set up, vs adding new systems myself. This allows me to iterate quickly, while leaving ownership to the engineers.</p><p>A few examples where I could implement improvements myself on top of existing engineering systems:</p><ul><li><p>Implementing a new <a href="https://railway.com/partners">landing page for partners</a> when launching our partner program in September 2025. It used existing design components, existing form integrations, and existing web infrastructure. The only truly new piece was the URL and copy.</p></li><li><p>Testing a new banner within the product experience that promotes Railway&#8217;s referral program. The banner design existed, and the <a href="https://technically.dev/universe/graphql">GraphQL</a> <a href="https://technically.dev/universe/query">query</a> for new users was already exposed to the frontend to show it to only a subset of users.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3bsz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3bsz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.png 424w, https://substackcdn.com/image/fetch/$s_!3bsz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.png 848w, https://substackcdn.com/image/fetch/$s_!3bsz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!3bsz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3bsz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.png" width="1456" height="1152" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1152,&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_!3bsz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.png 424w, https://substackcdn.com/image/fetch/$s_!3bsz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.png 848w, https://substackcdn.com/image/fetch/$s_!3bsz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.png 1272w, https://substackcdn.com/image/fetch/$s_!3bsz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb14ba80c-32e8-4502-96ca-ecb4fe4c561d_2048x1620.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>Railway&#8217;s partners page, mostly vibe-coded by me</em></p><p>The key insight here: while I am no frontend or design engineer by any means, I could self-serve growth experiments both on the website and within the product that are visual and copy-based, without introducing new infrastructure complexity.</p><h2>How I choose when to vibe code</h2><p>There&#8217;s a time and a place for non-engineers making code changes (in my case to web properties) with agents. For many of us, the time is now, so let&#8217;s pick the place.</p><p><strong>Start with tasks you own end to end</strong>. If you own the outcome and have all the context for any fixes required, coding agents enable us to ship things we don&#8217;t have the skillset or time to do by hand. Research, internal tools, and analysis all fall into this bucket.</p><p><strong>For frontend (web) work, separate ownership</strong>. Engineering maintains the systems, non-engineers build on top of those systems, with review. The key question is not &#8220;can I build this page&#8221;, it&#8217;s &#8220;does the system this page would live on already exist&#8221;.</p><p><strong>Engineering-heavy work</strong>, like actual product implementation, should be owned by engineers. Non-engineers might implement MVPs to illustrate strategy and vision, but ultimately the user-facing stakes require engineering rigor in a production system.</p><p>The biggest shift coding agents have facilitated is where the handoff happens.</p><p>Non-engineers (in marketing, growth, dev rel, product, etc) have far more leverage today than we did a year ago. But for our use of coding agents to be sustainable, we have to work within the right boundaries, so we don&#8217;t get our friends in engineering paged at 2am.</p>]]></content:encoded></item><item><title><![CDATA[What's an inference provider?]]></title><description><![CDATA[How the rise of open source AI models is fueling the growth of a new infrastructure category.]]></description><link>https://read.technically.dev/p/whats-an-inference-provider</link><guid isPermaLink="false">https://read.technically.dev/p/whats-an-inference-provider</guid><dc:creator><![CDATA[Will Raphaelson]]></dc:creator><pubDate>Thu, 16 Apr 2026 14:30:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!raHe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p>Hey friends, quick note for you:</p><p>There are a few sure things in life. Death, taxes, and website rebrands. We cannot help you with the first two, but&#8230;</p><p>ICYMI, we recently redesigned the <a href="https://technically.dev">technically.dev</a> site. It should be a lot easier to read and look through now. We also brought back a crowd favorite: <a href="https://technically.dev/learning-tracks">learning tracks</a>. We&#8217;ve added new tracks like <a href="https://technically.dev/learning-tracks/how-ai-models-actually-work">How AI Models Actually Work</a> + <a href="https://technically.dev/learning-tracks/from-spreadsheets-to-databases">From Spreadsheets to Databases</a>. </p><p>And to celebrate, we&#8217;ve created a new <a href="https://technically.dev/subscribe">All-access subscription</a><strong> </strong>there that gets you access to all learning tracks (and the entire Technically archives).  </p><p>If you&#8217;re a paid Substack subscriber, you will get <strong>automatic access</strong> to this All-access subscription &#8212;&nbsp;just make sure to <a href="https://technically.dev/signup">sign up</a> on technically.dev with the same email as your Substack account.</p><p>If you&#8217;re curious to test the waters, you can start by <a href="https://technically.dev/signup">creating a free account</a> that lets you unlock a couple free posts a month. Enjoy!</p></div><p>Amidst the frenzy of AI, a new category of <a href="https://technically.dev/universe/infrastructure">infrastructure</a> vendor has emerged: The <a href="https://technically.dev/universe/inference">inference</a> provider. This white-hot newish(ish) vertical is producing some pretty big headlines for a category that, as we&#8217;ll see, is often overshadowed by big AI labs like <a href="https://technically.dev/posts/what-does-openai-do">OpenAI</a> and Anthropic. TogetherAI is in talks to raise at $7.5B, Fireworks raised at $4B last year, and Modal is in talks to raise at $2.5B &#8211; all of these are doubling and doubling every few months it would seem. NVIDIA splashed $20 billion for Groq&#8217;s inference chip technology in December, its largest acquisition to date.</p><p>So yes, inference is white hot. But what do these companies actually do? And why are they worth so much money?</p><p>Let&#8217;s dig in, shall we?</p><h2>What&#8217;s inference?</h2><p>AI didn&#8217;t take long to become totally ubiquitous. It answers your questions, summarizes your meeting notes, codes up your apps, and, if you&#8217;re a bad friend, writes your birthday cards. All of it, every AI product you touch, boils down to two things: <strong>training and inference</strong>.</p><p><strong><a href="https://technically.dev/universe/training">Training</a></strong> is how a <a href="http://technically.dev/posts/what-is-machine-learning">model learns</a>. You take a massive amount of text and use it to produce a mathematical equation that captures patterns in language: what words tend to follow what, how ideas relate to each other, what a reasonable response to a question looks like. Models like GPT and Claude were trained on enormous amounts of text from the internet, and what emerged are systems that can produce generally fluent, useful language.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J0fw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J0fw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg 424w, https://substackcdn.com/image/fetch/$s_!J0fw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg 848w, https://substackcdn.com/image/fetch/$s_!J0fw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!J0fw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J0fw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg" width="1456" height="949" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg&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_!J0fw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg 424w, https://substackcdn.com/image/fetch/$s_!J0fw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg 848w, https://substackcdn.com/image/fetch/$s_!J0fw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!J0fw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c87a77e-7ffe-456e-b280-b2661dfca3ca_2048x1335.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Inference</strong> is when the model actually does its job. Every time you send a message to <a href="https://technically.dev/universe/chatgpt">ChatGPT</a> and it responds, that&#8217;s inference. Every time Claude summarizes a document or an AI coding assistant autocompletes a function, that&#8217;s inference too. It&#8217;s the model taking what it learned during training and applying it to your input, in real time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!raHe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!raHe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!raHe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!raHe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!raHe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!raHe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png" width="1200" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97678,&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/193091470?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.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_!raHe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!raHe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!raHe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!raHe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc73501a9-7323-4543-ab52-42da77fd32ae_1200x800.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>Training models has historically been the sexy part of AI, done by people in glasses, wearing turtlenecks, and holding PhDs. They are paid many dollars. Serving models, on the other hand is plumbing, but as it turns out, as every company races to add AI to their app, the plumbers are doing pretty well for themselves. Dedicated inference providers have emerged as a major force in the AI application stack, offering a convenient managed inference service for developers building AI-powered features.</p><p>In its purest and most managed form, the OpenAI and Anthropic (we&#8217;ll call them frontier labs) <a href="https://technically.dev/universe/api">API</a>s are AI inference providers. They have both trained the models and set them up for you to use easily. You make an API call: (&#8220;write my wedding vows&#8221;) and get back an inference: (&#8220;Webster&#8217;s dictionary defines love as&#8230;&#8221;). So what are we talking about here? Why would you use something special?</p><h2>Why use an inference provider?</h2><p>As someone using AI or building into your app, you have two major choices. You can use a <strong>closed-source</strong> model like ChatGPT or Claude. These are proprietary models &#8211; nobody knows how they were trained &#8211; and the only way to use them is through the people who trained them, OpenAI and Anthropic. These labs (as well as other closed-source providers like Runway, Midjourney, and Google) are very good at training models, and generally their models will be the best on the planet, but also cost the most.</p><p>Then there are <a href="https://technically.dev/universe/open-source">open source</a> models. These are built by companies or the community, and released for all to use. The weights of these models (the key to the fancy prediction equation) and sometimes even the training code are open to the public. You can download and run them yourself or even tweak them if you&#8217;d like. The most popular ones are Llama from Meta, Qwen from Alibaba, and DeepSeek.</p><p>With open-source models, you have a choice in how you actually use them. You can self-host by spinning up your own infrastructure, loading the model weights, and managing everything yourself. Or you can instead use an inference provider: a company that hosts open-source models <em>for you</em> and lets you access them through an API, just like you would with a closed-source lab.</p><p>There are a few reasons a developer might use an inference provider over just calling the inference <a href="https://technically.dev/universe/endpoint">endpoints</a> of the frontier labs directly, or running OSS models themselves.</p><p><strong>Cost.</strong> The newest Frontier models are expensive. If your use case doesn&#8217;t actually need a state of the art model like GPT-5.4 or Claude Opus, you can run an open-weights model like LLaMA on an inference provider for a fraction of the price. For high-volume, straightforward tasks like summarization, classification, or extraction, you probably don&#8217;t need the best model on the market, and the savings add up fast.</p><p><strong>Speed.</strong> The big frontier labs generally optimize for model capability over latency. If you&#8217;re building something where response time matters (autocomplete, real-time agents), inference providers running on optimized hardware can get you significantly faster performance.</p><p><strong>Resilience at scale.</strong> If you&#8217;re <a href="https://lovable.dev/blog/routing-billions-of-tokens-per-minute">big enough</a> that OpenAI having an outage means your product has an outage, you have a problem. Inference providers let you route across multiple models and backends through a single API, so you&#8217;re not in hell it every time one provider has a bad day.</p><p>Native <a href="https://technically.dev/universe/integration">integration</a> with your <a href="https://technically.dev/universe/cloud">cloud</a>. The public cloud inference provider offerings like <a href="https://technically.dev/posts/aws-for-the-rest-of-us">AWS</a> Bedrock or Google VertexAI have an advantage in the enterprise because their models and endpoints are colocated with your other infrastructure, which can matter to security and data-residency-conscious buyers. They also tend to offer the most straightforward paths to fine-tuning and customization, which is when you take a base model and train it further on your own data so it performs better for your specific use case.</p><p>All this, at least for me, actually reverses the question - why would you call the frontier labs&#8217; APIs when the inference providers are cheaper and faster? There are at least a few reasons:</p><ul><li><p>You need the latest and greatest models (remember, the inference providers are often hosting the open weights models, which are older)</p></li><li><p>Cost and/or latency are not a concern for you (congrats, happy for you)</p></li><li><p>You&#8217;re a noob and didn&#8217;t know about inference providers (me, until recently)</p></li></ul><h2>The inference provider spectrum</h2><p>Like many software categories, there is a spectrum from:</p><ul><li><p>Easy to use with fewer customizations and control for a lot of money...</p></li><li><p>&#8230;to pure infra providers that you configure to do what you want, with full control (and responsibility over) the infrastructure for less money.</p></li></ul><p>Let&#8217;s take a look at that spectrum.</p><h3>Most Managed: First-Party Model APIs</h3><p>I already touched on this, but the AI labs themselves provide inference endpoints and, as such, are technically inference providers. You call their API, and you get a response without managing infra. It&#8217;s the simplest way to add AI to a product, and where most teams start. You get access to the newest and best models, but you also pay per call (among other things), so it&#8217;s usually the most expensive.</p><ul><li><p><strong>OpenAI</strong>: The company that started the current wave; their API format has become the de facto standard that most other providers copy.</p></li><li><p><strong>Anthropic</strong>: Makes Claude; strong enterprise adoption, and known for handling very long documents.</p></li><li><p><strong>Google (Gemini)</strong>: Lots of models; deeply integrated into Google Cloud and Workspace suites.</p></li></ul><p>Technically, the platform of the model provider isn&#8217;t the <em>only</em> way to access them.</p><h3>Cloud Hyperscalers: Enterprise AI Platforms</h3>
      <p>
          <a href="https://read.technically.dev/p/whats-an-inference-provider">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><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 &#8230;</p>
      <p>
          <a href="https://read.technically.dev/p/whats-a-prediction-market">
              Read more
          </a>
      </p>
   ]]></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 de&#8230;</a></p>
      <p>
          <a href="https://read.technically.dev/p/on-change">
              Read more
          </a>
      </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 first, a bit of a unique event to share with you:<br><br>Rippling, where seemingly all of my friends work, is hosting a <a href="https://priorityexperiences.com/pages/rippling-dual-mixology?utm_source=event&amp;utm_medium=email&amp;utm_program=experimental-engagement&amp;utm_campaign=Virtual-Event-Bearded-IT-Dad-Techincally-Dev&amp;utm_product=it">Cocktails &amp; Career Advice</a> event with <a href="https://thebeardeditdad.com/">The Bearded IT Dad</a> (yea, that&#8217;s his name). They&#8217;ll be having a ton of fun with a professional mixologist walking you through a mini cocktail-making class, live on Zoom.<br><br>And of course on the business side, there will be discussion about how IT pros can advance their careers and continue to grow while dealing with all of the challenges they deal with in our line of work. Isolation, burnout, feeling stuck, and technology that&#8217;s changing all the time.<br><br>The event is on March 10th, 6p ET / 3p PT. The first 350 registrants will get a free cocktail kit sent straight to their home so they can follow along with the class, and they will also be raffling off an Xbox Series S for one lucky attendee.<br><br>You can <strong><a href="https://priorityexperiences.com/pages/rippling-dual-mixology?utm_source=event&amp;utm_medium=email&amp;utm_program=experimental-engagement&amp;utm_campaign=Virtual-Event-Bearded-IT-Dad-Techincally-Dev&amp;utm_product=it">RSVP here</a></strong> before cocktail kits run out.</p></blockquote><h2><strong>Act I, formation</strong></h2><p>Writing has been a pretty central part of my adult life for as long as I can remember. This is ironic because I wrote the worst college essay you&#8217;ve probably ever read, a generic high-school-slopfest about Eric LeGrand and perseverance, something which I know nothing about. In all fairness, I was a child.</p><p>A few years later there was some promise though. I visited the camps in Poland in 2013 as part of my two religious years abroad, and wrote a note about my experience that I shared with my family. My grandmother still talks about this to me every few weeks&#8230;so I must have done something right.</p><p>But it was really at my first post-college job &#8211; toiling away at a one-and-out VC fund that was going nowhere fast &#8211; when writing clicked. After internalizing some righteous indignation at Jeremy Levine on a conference panel, I somehow got <a href="https://venturebeat.com/ai/why-the-heck-are-entrepreneurs-wasting-their-time-in-new-york">my first piece</a> published in VentureBeat, which was not entirely defunct back then.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="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" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GnnE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ae498f-87b2-496c-b7b6-1d2ebcc10453_1600x907.png 424w, https://substackcdn.com/image/fetch/$s_!GnnE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ae498f-87b2-496c-b7b6-1d2ebcc10453_1600x907.png 848w, https://substackcdn.com/image/fetch/$s_!GnnE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ae498f-87b2-496c-b7b6-1d2ebcc10453_1600x907.png 1272w, https://substackcdn.com/image/fetch/$s_!GnnE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53ae498f-87b2-496c-b7b6-1d2ebcc10453_1600x907.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GnnE!,w_1456,c_limit,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" width="1456" height="825" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/53ae498f-87b2-496c-b7b6-1d2ebcc10453_1600x907.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:825,&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_!GnnE!,w_424,c_limit,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 424w, https://substackcdn.com/image/fetch/$s_!GnnE!,w_848,c_limit,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 848w, https://substackcdn.com/image/fetch/$s_!GnnE!,w_1272,c_limit,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 1272w, https://substackcdn.com/image/fetch/$s_!GnnE!,w_1456,c_limit,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 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>You can tell I was young because I was still afraid to curse on the internet.</p><p>After this I was off to the races. I ended up publishing several more pieces in VB, a few in CrunchbaseNews, and some private help for a few companies I had met (strangely, 2 out of 3 of them got acquired by Nike??). In fact, writing is what landed me my first startup job at Algorithmia. <a href="https://readtechnically.medium.com/machine-learning-abstraction-and-the-age-of-ai-ease-f3274bb9e0c1">This post</a>, which I wrote for and with their team (for free of course), was what got me in the door.</p><p>And then eventually writing <em>became</em> my career. At Algorithmia I just sat down and wrote blog posts for a year. Then after a brief detour at DigitalOcean to live out my fantasy of being a data scientist, I sat down at Retool and wrote blog posts for 2 years. Somewhere in the middle I started Technically, where I&#8217;ve been writing blog posts for like 6 years. Along the way were a few wins: tens of thousands of subscribers, reigns on the front page of Hacker News, and the occasional viral tweet.</p><p>I owe my entire career to writing, no two ways about it. It&#8217;s one of the core parts of my identity, and the thing I think I&#8217;m best at (though you&#8217;re free to disagree). And though I&#8217;ve got a VP title and more responsibility now, I&#8217;ll always be a writer at heart.</p><h2><strong>Act II, skepticism</strong></h2><p>I regale you with this narcissistic drivel to put you in my shoes and understand how I might have felt when the first version of ChatGPT came out. Everything was all wrong.</p><p>First, the <strong>vibes</strong> were just way off because the writing sucked. The only thing worse than no writing is bad writing. And I was used to dealing with bad writing, particularly from the agencies I had worked with at Retool that offshored technical tutorials to slop factories that charged a few cents a word and gave you exactly what you paid for. When you see profoundly bad writing you feel anger; knowledge that the person that created this didn&#8217;t care about it pretty much at all. The models invoked this emotion, even if it wasn&#8217;t their fault.</p><p>Early technologists face a perennial dilemma: release too early and cement permanent skepticism, or release too late and watch someone else beat you to it. Early ChatGPT was firmly in the first bucket. I believe the early wave alienated so many writers because of how crude the initial product was, passable to the typical tech worker but so obviously trash to anyone who wrote for a living.</p><p>Second were obvious <strong>ethical concerns</strong>. I don&#8217;t mean this in an objective sense (many of you know I have a tattoo of Sisyphus on my leg) but in a personal one; my own code of what felt right was clearly offended by these models. Are you really going to outsource your creative process to a model, goading it to produce the same bullshit it&#8217;s producing for everyone else, and completely deserting your soul in the process?</p><p>Then there&#8217;s the obvious problem, that these models were trained on the writing of me and everyone else who writes. Only sheer hubris would allow me to contend that my words in particular carried weight in the weights. But the fact remains that OpenAI trained these models on my and my fellow writers&#8217; work, without our consent, and have paid us $0 in return (alas, I don&#8217;t work at the NYT). Whether you believe this is evil or not, the ethic-vibes of using it as a writer felt way off.</p><p>For these reasons and others, I didn&#8217;t use AI models at all for the first few years they were around&#8230;despite spending my whole career at technical companies. Didn&#8217;t want anything to do with them. Even to this day, I probably use AI tools less than you&#8217;d expect.</p><h2><strong>Act III, introspection</strong></h2><p>Over time, a few things changed.</p><p>First, the models got better. You could get output that wasn&#8217;t actively offensive and started to resemble something that might be useful to you at work. Getting rid of the knee-jerk anger reaction I&#8217;d developed to bad writing &#8211; like I mentioned, honed over work with many shitty agencies &#8211; played a big role in opening me up. These ChatGPT words weren&#8217;t <em>good</em>, but they weren&#8217;t <em>so bad</em> as to make you <em>angry</em>.</p><p>Second, through talks with friends, myself, my therapist, and whatever happens in my unconscious mind when the sandman comes, I was able to get more in touch with what exactly writing <em>meant</em> and what in particular was the creative process for me specifically.</p><p><strong>When I write, what is the creative act?</strong></p><p>Is the creative act the thinking about the <em>format</em> of the post, and how it&#8217;s organized? Is it the content itself? Is it the <em>writing </em>of the content, or the typing on the keyboard? Is it the editing? The sharing and publishing?</p><p>The answer is yes, these are all part of the creative act. There are all of these important <em>scaffolds</em> around the words themselves; <strong>the creative act is definitively not just the writing of words</strong>. Look no further than <a href="https://www.sonyclassics.com/film/turneverypage/">Robert Gottleib&#8217;s relationship with Robert Caro</a> if you want to understand editing, for example, as the creative act. Writing is best viewed as a living ecosystem of process, some directed and some cyclic, all connected and imbuing the final product with a different piece of its eventual soul.</p><p>When I <em>really</em> introspect about why Technically had a modicum of success or why my technical writing was in demand, if I&#8217;m being <em>really </em>honest, it&#8217;s not really my words in the traditional sense. I don&#8217;t make the best jokes, my prose isn&#8217;t the most beautiful, I&#8217;m not the most witty, and I&#8217;m certainly not the best researched. When I read writers like Matt Levine, Father Karine, I think: <em>these</em> are good words. That&#8217;s not really my thing.</p><p>I think I just pick the right things to write about. My instinct for the right level of detail, the context a reader needs and doesn&#8217;t need, and when the story should start and end, is very good. Technically worked because I was more technical than most and less technical than most; I found a sweet spot that really worked for really smart, ambitious people who just weren&#8217;t technical but wanted to be.</p><p>This, by the way, is why I pretty much never edit my writing materially. Passing over particular word choice and flow is just not going to do much, that&#8217;s never been my strong point. The real work is in choosing what to write about, laying out the sections and their order, and deciding what the reader needs to know to know what you want them to know. I pretty much never agonize over words.</p><h2><strong>Act IV, acceptance</strong></h2><p>I regale you with this self-effeating tale because it explains why there <em>are</em> ways to use models that <strong>reinforce</strong> your creative process instead of outsourcing it. For me the words are not really the point, the structure and thought is; this is a great use case for AI models.</p><p>This is pretty much how I use AI for writing today, for the limited amount I use it. The hard part of writing (again, for me) is the upfront scaffolding work: what do I want to say, what order should it be in, what details do I need. How I actually articulate that is a fine task to give a model a shot at. In practice (part 2 of this post, forthcoming) this manifests itself in very detailed prompting and the use of personalized style guides.</p><p>I have had some decent success with this, but mostly in ghostwriting for other people. For my own writing, despite models getting better and better, I&#8217;m increasingly finding that I&#8217;d rather just do it myself. This post you&#8217;re reading now is a perfect example:</p><ul><li><p>I dictated what I wanted to say in ~25 mins to my phone while I was in the car</p></li><li><p>I took the transcript, combined it with my style guide, and gave it to Claude</p></li><li><p>The output was completely unusable and made me sad</p></li><li><p>I ended up writing the entire post from scratch</p></li></ul><p>I have said that <a href="https://read.technically.dev/p/ai-will-replace-you-at-your-job-if">AI will replace you at your job if you let it</a> and I still believe this. If you use vanilla prompts, treat models as oracles instead of tools, and completely outsource your creative process to them, your bosses will eventually do so too, rendering you useless. For most people, it&#8217;s clear that there&#8217;s significant alpha in using models to help with writing.</p><p>For me though, for using my voice under my name saying something I want to say, I still like to do it the old fashioned way.</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 more of (some of) the best technical writing on the internet.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[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 the rest of the year.</p><p>Some highlights:</p><h2>New on Technically</h2><h3><a href="https://technically.dev/posts/ai-and-neuroscience">AI and neuroscience</a></h3><p><em>Available as a <a href="https://read.technically.dev/p/ai-and-neuroscience?r=44h0yc">paid post 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>The way we train and use GenAI models today strongly resembles how the pathways in the human brain actually work. In fact, many neuroscientists and AI researchers believe the key to unlocking real superintelligence will lie in our ability to better understand and exploit that connection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O9Zi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f430d2-15fa-4e37-aca5-412e7aaa3c67_1456x949.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O9Zi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f430d2-15fa-4e37-aca5-412e7aaa3c67_1456x949.png 424w, https://substackcdn.com/image/fetch/$s_!O9Zi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f430d2-15fa-4e37-aca5-412e7aaa3c67_1456x949.png 848w, https://substackcdn.com/image/fetch/$s_!O9Zi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f430d2-15fa-4e37-aca5-412e7aaa3c67_1456x949.png 1272w, https://substackcdn.com/image/fetch/$s_!O9Zi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f430d2-15fa-4e37-aca5-412e7aaa3c67_1456x949.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O9Zi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f430d2-15fa-4e37-aca5-412e7aaa3c67_1456x949.png" width="1456" height="949" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/28f430d2-15fa-4e37-aca5-412e7aaa3c67_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;:&quot;Simple diagram showing machine learning turning data into predictions.&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 machine learning turning data into predictions." title="Simple diagram showing machine learning turning data into predictions." srcset="https://substackcdn.com/image/fetch/$s_!O9Zi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f430d2-15fa-4e37-aca5-412e7aaa3c67_1456x949.png 424w, https://substackcdn.com/image/fetch/$s_!O9Zi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f430d2-15fa-4e37-aca5-412e7aaa3c67_1456x949.png 848w, https://substackcdn.com/image/fetch/$s_!O9Zi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f430d2-15fa-4e37-aca5-412e7aaa3c67_1456x949.png 1272w, https://substackcdn.com/image/fetch/$s_!O9Zi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f430d2-15fa-4e37-aca5-412e7aaa3c67_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>This post explores a few ways in which this is true and explains some of these rather complicated ideas in more simple language.</p><h3><a href="https://technically.dev/posts/how-are-companies-using-ai">How are companies actually using AI?</a></h3><p><em>A guest post by <a href="https://www.linkedin.com/in/kenny-ning/">Kenny Ning from Modal</a> &#8212; available as a <a href="https://read.technically.dev/p/how-are-companies-using-ai?r=44h0yc">free post 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>Everyone talks about AI use cases, but who&#8217;s actually spending money on what? Kenny analyzed real cloud spend data from Modal&#8217;s top 100 customers to find out which AI applications are growing fastest.</p><p>The three biggest growth areas: coding agents (apparently properly rated), LLM inference for low-latency use cases, and computational biology. Meanwhile, AI art and video generation is flattening &#8212; a possible sign the market is maturing from consumer novelties into serious B2B applications.</p><p>If you aren&#8217;t familiar with <a href="https://www.kennyning.com/">Kenny&#8217;s</a> work, he&#8217;s someone you should follow. He started his career in data science at Spotify and then Better Mortgage before following his former fearless leader Erik to Erik&#8217;s new company, <a href="https://modal.com/">Modal</a>. Modal is absolutely ripping and Kenny has his fingerprints on much of the interesting things they&#8217;ve published. He also low key shreds on piano with me sometimes.</p><h3><a href="https://technically.dev/posts/ai-and-em-dashes">AI and the em dash</a></h3><p><em>Available as a <a href="https://read.technically.dev/p/ai-and-the-em-dash?r=44h0yc">paid post 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>Anyone who uses AI models knows they have this very strange obsession with em dashes. BUT WHY??? The culprit might be a mix of training data from older books (when em dash usage peaked in the 1860s), Medium&#8217;s auto-conversion of double hyphens, and the simple fact that an em dash is just one token while alternatives like &#8220;, and&#8221; take three.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sO3O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sO3O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.png 424w, https://substackcdn.com/image/fetch/$s_!sO3O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.png 848w, https://substackcdn.com/image/fetch/$s_!sO3O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.png 1272w, https://substackcdn.com/image/fetch/$s_!sO3O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sO3O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.png" width="1162" height="1458" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1458,&quot;width&quot;:1162,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot showing ChatGPT still using an em dash after being told not to.&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="Screenshot showing ChatGPT still using an em dash after being told not to." title="Screenshot showing ChatGPT still using an em dash after being told not to." srcset="https://substackcdn.com/image/fetch/$s_!sO3O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.png 424w, https://substackcdn.com/image/fetch/$s_!sO3O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.png 848w, https://substackcdn.com/image/fetch/$s_!sO3O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.png 1272w, https://substackcdn.com/image/fetch/$s_!sO3O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10160e34-5724-41a4-9e7c-a9d0971421af_1162x1458.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 wonderful new post comes courtesy of another new Technically contributor, <a href="https://www.linkedin.com/in/christy-bieber/">Christy Bieber</a> (no relation). She has been freelance writing for almost 20 years on topics ranging from personal finance to real estate to AI and em dashes, proving the old adage that &#8220;you can do anything with a JD other than be a lawyer.&#8221;</p><div><hr></div><p>We&#8217;ve got a few more authors we&#8217;re going to introduce next month, and are still looking for more. <strong>If you&#8217;re an expert on anything remotely related to software and AI and want to write about it, let us know!</strong> We will pay you!</p><h2>From the AI Reference: Training Dataset</h2><p>Following on the em dash saga, you might be wondering: what exactly was in the data that made AI fall in love with this punctuation mark in the first place?</p><p>Let&#8217;s talk a little bit about the very thing responsible for that: datasets.</p><h3><a href="https://technically.dev/ai-reference/training-dataset">Training Dataset</a></h3><p>Training datasets are the collections of examples you show an AI model so it can learn to recognize patterns and make predictions. Think of them as the textbooks and practice problems that teach AI models how to do their jobs.</p><p>The dataset is your way of saying to the AI: &#8220;Here are 50,000 examples of the task I want you to do. Figure out the patterns, and then apply what you&#8217;ve learned to new situations you&#8217;ve never seen before.&#8221;</p><p>Here&#8217;s what makes a good dataset:</p><ul><li><p>Representative examples that cover all real-world scenarios the model will encounter</p></li><li><p>Accurate labels &#8212; mislabeled examples confuse the model (if 10% of your &#8220;cat&#8221; photos actually show dogs, your model will learn that some dogs are cats)</p></li><li><p>Sufficient volume &#8212; more data usually means better performance, but with diminishing returns</p></li><li><p>Clean data &#8212; blurry images, corrupted files, and duplicate examples hurt performance</p></li></ul><p>The famous saying in AI: &#8220;garbage in, garbage out.&#8221; Your model is only as good as your data. Which explains a lot about why AI loves em dashes so much &#8212; if the training data was full of them (older books, Medium articles), the model learned that&#8217;s what good writing looks like.</p><h2>Are you using AI at work?</h2><p>We&#8217;re still collecting real examples of how people are putting AI to use in their day-to-day jobs. Automated something annoying? Built a workflow that stuck? Got your team on board? Reply to this email and tell us what you&#8217;re doing.</p><p>We want to hear what&#8217;s actually working.</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 hallm&#8230;</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></channel></rss>