<?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[Emma's AI Radar]]></title><description><![CDATA[Daily AI news and honest tool reviews — signal over hype.]]></description><link>https://emmawilsonai.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!5YT4!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f560c09-64e7-47a6-949e-5568ca43d404_400x400.png</url><title>Emma&apos;s AI Radar</title><link>https://emmawilsonai.substack.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 24 Aug 2026 11:04:36 GMT</lastBuildDate><atom:link href="https://emmawilsonai.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Emma Wilson]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[emmawilsonai@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[emmawilsonai@substack.com]]></itunes:email><itunes:name><![CDATA[Emma Wilson]]></itunes:name></itunes:owner><itunes:author><![CDATA[Emma Wilson]]></itunes:author><googleplay:owner><![CDATA[emmawilsonai@substack.com]]></googleplay:owner><googleplay:email><![CDATA[emmawilsonai@substack.com]]></googleplay:email><googleplay:author><![CDATA[Emma Wilson]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[the $35 million hint that your ai product needs a smaller front door]]></title><description><![CDATA[anthropic&#8217;s latest security release points to a better product shape for small teams: sell the reviewed result, not a wide-open model session]]></description><link>https://emmawilsonai.substack.com/p/the-35-million-hint-that-your-ai-c18</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-35-million-hint-that-your-ai-c18</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Sun, 23 Aug 2026 14:53:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JCUM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>anthropic put $35 million of credits behind open-source security this week. that is a large number, but the more interesting detail sat elsewhere in the announcement.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JCUM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JCUM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!JCUM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!JCUM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!JCUM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JCUM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:648693,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212416412?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.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_!JCUM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!JCUM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!JCUM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!JCUM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e193575-d441-49a3-a23e-336d34ef79ac_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>claude mythos 5 is being placed inside security products that return a patch, an alert, or a finding. the person using the product does not get a general-purpose session with the model. anthropic says the &#8220;riskiest behavior&#8221; happens when someone has direct access and can steer the model toward harmful work. its alternative is almost disarmingly practical: constrain the job, run the capable model in the background, and hand back the useful artefact.</p><p>source: </p><p>my blunt read is that the generic chat box is the laziest interface for a powerful model. it is great for exploration. it is a poor default product shape when someone is paying you to get one job done reliably.</p><p>the model should sit behind the task, not at the center of the screen.</p><h2>the front door changes the business</h2><p>the announcement has three parts worth separating. mythos 5 now powers claude security scans for enterprise customers. anthropic says those scans produce findings, severity and confidence ratings, and proposed fixes for human review. it is also working with security partners so the model can run inside their existing tools. then there is the $35 million defender advantage fund, aimed at people patching and securing open-source software.</p><p>that last number is easy to file under corporate philanthropy. i would not. it is a signal about where the company expects the useful work to happen: in workflows with a defined asset, a permitted action, a visible result, and somebody accountable for accepting it.</p><p>the resulting product is much easier to understand than &#8220;an extremely capable assistant.&#8221; a maintainer has a repository. the scan has a bounded purpose. a suggested patch can be reviewed before it changes anything. the operator can count false positives, rejected fixes, and time saved. none of this makes security magically simple. it does make a product testable.</p><p>that is a much better starting point for a small maker too.</p><h2>a chat box quietly makes promises you may not be ready to keep</h2><p>putting a chat field on a page looks cheap. it is seldom cheap for long.</p><p>the moment a customer can ask anything, they expect the product to know what data it may see, what it is allowed to do, when it should stop, and how an odd answer can be corrected. a generic interface also makes the bad sessions harder to classify. was the result wrong because the prompt was vague, because a source was stale, because the model improvised, or because the product let it reach too far?</p><p>small teams feel this as support work before they call it product architecture. a customer pastes an invoice, asks a friendly follow-up, and suddenly the feature needs document permissions, retention rules, an audit trail, and a way to undo an action. the original demo still looks delightful. the invisible backlog does not.</p><p>yesterday i was sketching a tiny workflow for turning a pile of client notes into a draft follow-up. the first version had the familiar open text area, because of course it did. ten minutes later it was asking for context it did not need and producing a draft that could not be traced back to a single note. i closed the tab and rewrote the flow around one input folder, one approved template, and a final draft with links to its source notes. less magical on a landing page. far more sellable.</p><p>the awkward part is that a narrow feature often feels less impressive in a demo. it gives the user fewer things to try. that is precisely why it can earn trust.</p><h2>build a narrow throat, then make it useful</h2><p>the useful pattern here is a narrow throat between a capable model and the customer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KV_t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KV_t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!KV_t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!KV_t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!KV_t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KV_t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:169283,&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://emmawilsonai.substack.com/i/212416412?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KV_t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!KV_t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!KV_t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!KV_t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b70c48c-0b4a-46a8-9040-d33705f947bf_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>on one side, the model can reason over the material you explicitly provide. on the other, the customer receives a result with a shape they recognise: a cleaned spreadsheet row, a proposed reply, a flagged contract clause, a patch, a short list of records that need attention. the interface should say what it used and what still needs a human decision.</p><p>a narrow interface is not a safety feature by itself. it is a way to make the product legible enough to test, price, and improve.</p><p>there are practical consequences.</p><p>first, the evaluation set gets smaller and better. instead of trying to judge whether your assistant is broadly helpful, collect fifty real examples of the job and mark what a good output contains. the rejected cases are particularly valuable. they tell you where the feature crossed its boundary.</p><p>second, the cost model becomes less theatrical. a fixed task lets you cap context, cache stable instructions, select a cheaper model for routine work, and reserve the expensive call for the handful of cases that need it. &#8220;unlimited ai&#8221; is a risky promise when the product does not know where a conversation ends.</p><p>third, the review step becomes part of the product rather than a legal disclaimer below it. anthropic&#8217;s security scans still require a human to review and approve every patch. that is not a weakness of the feature. in high-consequence work, the review screen is where the buyer sees that the tool understands its job.</p><p>there is a useful little detour here. the software industry spent years teaching us that more settings meant more power. with frontier models, a settings panel can become a drawer full of unattended decisions. a product with one clean handoff can feel more capable because nobody has to guess which knob will make it safe.</p><h2>what to change in a prototype this week</h2><p>the next useful move is not a new model comparison. pick the one moment in your prototype where the customer has to decide whether to trust an output.</p><p>write down the exact artefact they need at that moment. not &#8220;help with sales&#8221; or &#8220;analyse my documents.&#8221; use a noun: a follow-up email based on three call notes, a list of duplicate suppliers with the matching fields shown, a draft patch for one dependency update. then remove every input that does not serve that artefact. keep a source link or a compact evidence panel next to the answer. if the model can trigger an action, put the approval after the result, not in a buried terms screen.</p><p>this changes the question from &#8220;how smart is our ai?&#8221; to &#8220;can a customer safely accept this particular thing?&#8221; i prefer the second question because it has an answer.</p><p>anthropic&#8217;s $35 million fund will not decide how an indie product should work. the rollout of mythos 5 does offer a clear clue. the companies that get real value from more capable models will increasingly package them behind specific tasks, evidence, and review points. raw access will remain useful for builders and researchers. for customers, the winning interface may look almost ordinary: one job, one result, and enough proof to sign off on it.</p><p>that is not a smaller ambition. it is where an ai feature starts behaving like a product.</p>]]></content:encoded></item><item><title><![CDATA[the $35 million hint that your ai product needs a smaller front door]]></title><description><![CDATA[anthropic&#8217;s latest security release points to a better product shape for small teams: sell the reviewed result, not a wide-open model session]]></description><link>https://emmawilsonai.substack.com/p/the-35-million-hint-that-your-ai</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-35-million-hint-that-your-ai</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Sun, 23 Aug 2026 14:48:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4Kt1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>anthropic put $35 million of credits behind open-source security this week. that is a large number, but the more interesting detail sat elsewhere in the announcement.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4Kt1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4Kt1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!4Kt1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!4Kt1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!4Kt1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4Kt1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123606,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212415766?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.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_!4Kt1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!4Kt1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!4Kt1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!4Kt1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0b58a1d-c2aa-4353-a216-1dc321f788e1_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>claude mythos 5 is being placed inside security products that return a patch, an alert, or a finding. the person using the product does not get a general-purpose session with the model. anthropic says the &#8220;riskiest behavior&#8221; happens when someone has direct access and can steer the model toward harmful work. its alternative is almost disarmingly practical: constrain the job, run the capable model in the background, and hand back the useful artefact.</p><p>source: </p><p>my blunt read is that the generic chat box is the laziest interface for a powerful model. it is great for exploration. it is a poor default product shape when someone is paying you to get one job done reliably.</p><p>the model should sit behind the task, not at the center of the screen.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ei7W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ei7W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ei7W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ei7W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ei7W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ei7W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:197973,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212415766?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.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_!ei7W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ei7W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ei7W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ei7W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1a40cc9-da2a-4d95-97bd-3c8370b6d2a4_1638x1024.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>the front door changes the business</h2><p>the announcement has three parts worth separating. mythos 5 now powers claude security scans for enterprise customers. anthropic says those scans produce findings, severity and confidence ratings, and proposed fixes for human review. it is also working with security partners so the model can run inside their existing tools. then there is the $35 million defender advantage fund, aimed at people patching and securing open-source software.</p><p>that last number is easy to file under corporate philanthropy. i would not. it is a signal about where the company expects the useful work to happen: in workflows with a defined asset, a permitted action, a visible result, and somebody accountable for accepting it.</p><p>the resulting product is much easier to understand than &#8220;an extremely capable assistant.&#8221; a maintainer has a repository. the scan has a bounded purpose. a suggested patch can be reviewed before it changes anything. the operator can count false positives, rejected fixes, and time saved. none of this makes security magically simple. it does make a product testable.</p><p>that is a much better starting point for a small maker too.</p><h2>a chat box quietly makes promises you may not be ready to keep</h2><p>putting a chat field on a page looks cheap. it is seldom cheap for long.</p><p>the moment a customer can ask anything, they expect the product to know what data it may see, what it is allowed to do, when it should stop, and how an odd answer can be corrected. a generic interface also makes the bad sessions harder to classify. was the result wrong because the prompt was vague, because a source was stale, because the model improvised, or because the product let it reach too far?</p><p>small teams feel this as support work before they call it product architecture. a customer pastes an invoice, asks a friendly follow-up, and suddenly the feature needs document permissions, retention rules, an audit trail, and a way to undo an action. the original demo still looks delightful. the invisible backlog does not.</p><p>yesterday i was sketching a tiny workflow for turning a pile of client notes into a draft follow-up. the first version had the familiar open text area, because of course it did. ten minutes later it was asking for context it did not need and producing a draft that could not be traced back to a single note. i closed the tab and rewrote the flow around one input folder, one approved template, and a final draft with links to its source notes. less magical on a landing page. far more sellable.</p><p>the awkward part is that a narrow feature often feels less impressive in a demo. it gives the user fewer things to try. that is precisely why it can earn trust.</p><h2>build a narrow throat, then make it useful</h2><p>the useful pattern here is a narrow throat between a capable model and the customer.</p><p>on one side, the model can reason over the material you explicitly provide. on the other, the customer receives a result with a shape they recognise: a cleaned spreadsheet row, a proposed reply, a flagged contract clause, a patch, a short list of records that need attention. the interface should say what it used and what still needs a human decision.</p><p>a narrow interface is not a safety feature by itself. it is a way to make the product legible enough to test, price, and improve.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lQGA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lQGA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.png 424w, https://substackcdn.com/image/fetch/$s_!lQGA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.png 848w, https://substackcdn.com/image/fetch/$s_!lQGA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.png 1272w, https://substackcdn.com/image/fetch/$s_!lQGA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lQGA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3135db15-6f48-4318-baa7-22fd292db682_1836x1148.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66132,&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://emmawilsonai.substack.com/i/212415766?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.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_!lQGA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.png 424w, https://substackcdn.com/image/fetch/$s_!lQGA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.png 848w, https://substackcdn.com/image/fetch/$s_!lQGA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.png 1272w, https://substackcdn.com/image/fetch/$s_!lQGA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3135db15-6f48-4318-baa7-22fd292db682_1836x1148.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>there are practical consequences.</p><p>first, the evaluation set gets smaller and better. instead of trying to judge whether your assistant is broadly helpful, collect fifty real examples of the job and mark what a good output contains. the rejected cases are particularly valuable. they tell you where the feature crossed its boundary.</p><p>second, the cost model becomes less theatrical. a fixed task lets you cap context, cache stable instructions, select a cheaper model for routine work, and reserve the expensive call for the handful of cases that need it. &#8220;unlimited ai&#8221; is a risky promise when the product does not know where a conversation ends.</p><p>third, the review step becomes part of the product rather than a legal disclaimer below it. anthropic&#8217;s security scans still require a human to review and approve every patch. that is not a weakness of the feature. in high-consequence work, the review screen is where the buyer sees that the tool understands its job.</p><p>there is a useful little detour here. the software industry spent years teaching us that more settings meant more power. with frontier models, a settings panel can become a drawer full of unattended decisions. a product with one clean handoff can feel more capable because nobody has to guess which knob will make it safe.</p><h2>what to change in a prototype this week</h2><p>the next useful move is not a new model comparison. pick the one moment in your prototype where the customer has to decide whether to trust an output.</p><p>write down the exact artefact they need at that moment. not &#8220;help with sales&#8221; or &#8220;analyse my documents.&#8221; use a noun: a follow-up email based on three call notes, a list of duplicate suppliers with the matching fields shown, a draft patch for one dependency update. then remove every input that does not serve that artefact. keep a source link or a compact evidence panel next to the answer. if the model can trigger an action, put the approval after the result, not in a buried terms screen.</p><p>this changes the question from &#8220;how smart is our ai?&#8221; to &#8220;can a customer safely accept this particular thing?&#8221; i prefer the second question because it has an answer.</p><p>anthropic&#8217;s $35 million fund will not decide how an indie product should work. the rollout of mythos 5 does offer a clear clue. the companies that get real value from more capable models will increasingly package them behind specific tasks, evidence, and review points. raw access will remain useful for builders and researchers. for customers, the winning interface may look almost ordinary: one job, one result, and enough proof to sign off on it.</p><p>that is not a smaller ambition. it is where an ai feature starts behaving like a product.</p>]]></content:encoded></item><item><title><![CDATA[the 14x token shift makes cache design a product decision]]></title><description><![CDATA[agent traffic has passed human traffic on openrouter. the cheap part of an agent can also be where waste disappears from view.]]></description><link>https://emmawilsonai.substack.com/p/the-14x-token-shift-makes-cache-design-b42</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-14x-token-shift-makes-cache-design-b42</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Sun, 23 Aug 2026 14:18:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WwQ_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>the first suspicious thing in an agent billing export is often the reassuring number.</p><p>i had one open beside a half-finished support reply this week. the cache line was tiny. the total was still manageable. it looked like proof that the workflow was behaving itself.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WwQ_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WwQ_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!WwQ_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!WwQ_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!WwQ_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WwQ_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:841193,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212412006?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.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_!WwQ_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!WwQ_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!WwQ_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!WwQ_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f9497dd-92c1-4404-98df-629399b0ef6e_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>it was not proof of much.</p><p>openrouter says agentic systems have consumed more tokens than people on its platform since 6 february 2025. agent token use grew 14x over that period, against 2.8x for human use. nearly 70% of agent consumption is cached, which is cheap enough to make a busy agent look economical even when it is repeatedly doing work nobody asked for.</p><p>source: </p><p>my read is blunt: cache design has become a product decision. it decides which parts of an agent feel inexpensive, which mistakes remain invisible, and how painful a pricing change becomes later.</p><h2>a cheap token can still represent an expensive habit</h2><p>there is a comforting story about agent costs. put the long system prompt, policy, tool descriptions, and project context at the front of every request. let the provider cache that stable prefix. pay less for each subsequent turn.</p><p>that story is true as far as the invoice goes. it is also incomplete.</p><p>an agent can keep a 20,000-token prefix warm while it opens the same help-centre article three times, calls a search tool after it already has the answer, or asks a model to rephrase an internal plan that never becomes an action. the cached portion makes those loops look almost free. the actual product cost is the model output, the tool calls, the latency, and the person who eventually has to notice that nothing moved.</p><p>this is why total tokens is becoming a weak health metric. a smaller bill can mean a better design. it can also mean that a bad loop found a discount.</p><p>the useful question is more awkward: how many completed user-visible actions came from each expensive turn? for a support agent, that may be a resolved case with no handoff. for a coding agent, it may be a merged change that passes the checks you already trust. for an indie product, it could be a booking completed, a clean record created, or a customer receiving an answer that did not need a second correction.</p><p>that measure forces the right argument. a cached prompt is an asset only when it helps produce a result.</p><h2>the 14x figure changes where the optimisation work sits</h2><p>the openrouter numbers matter because they show a change in who is using the model. a person usually notices when a chat is rambling. an agent has no such instinct. it can run overnight, call tools at 3am, and turn a small product decision into thousands of quiet requests.</p><p>the old optimisation habit was model selection. try a cheaper model, shorten the prompt, set a lower output cap. those are still sensible levers. they sit too late in the chain when an agent has permission to keep trying.</p><p>the more valuable work happens earlier:</p><ul><li><p>keep stable instructions and reference material in the cached prefix</p></li><li><p>put volatile user state after the cache boundary</p></li><li><p>require an external condition before another tool call, such as a changed record, a missing field, or a failed check</p></li><li><p>record a reason for every retry that reaches the model</p></li><li><p>stop a task when it has no remaining action that could change the outside world</p></li></ul><p>the last rule sounds severe. it is usually kinder to the customer. an agent that cannot make progress has a habit of filling the gap with words.</p><p>there is an unglamorous implementation detail here. cache keys reward sameness. if a product stuffs a live timestamp, a random trace id, or a reordered tool list into the opening prompt, it can break cache reuse without anyone noticing. the inverse problem is nastier: a very stable prefix can hide that the agent is carrying too much irrelevant policy into every task. both failures come from treating the prompt as prose instead of a runtime surface.</p><h2>the supply side will eventually enter the product roadmap</h2><p>the second piece is less cheerful. bloomberg reporting, summarised by the decoder, says dram shortages could push nvidia ai server prices up by about 15% for vera rubin and grace blackwell systems. samsung, sk hynix, and micron are named as the constrained suppliers.</p><p>source: </p><p>that does not mean an api price card rises by 15%. cloud providers have their own contracts, inventory, margins, and reasons to compete. it does mean the low price of cached agent traffic should not be treated as a law of nature. the underlying system has more moving parts than a model rate sheet shows.</p><p>for a small team, the practical response is not to forecast memory markets. it is to avoid making a fragile discount the only reason a workflow works. if an agent is useful only while its context is heavily cached, it needs a fallback plan before its usage becomes a customer promise.</p><p>i would separate the work into three budgets:</p><ol><li><p>the stable context budget: instructions, reference data, and tools that deserve to stay warm</p></li><li><p>2. the action budget: model turns and tool calls that can create a real change</p></li><li><p>3. the uncertainty budget: retries, clarification loops, and human review when the first two fail</p></li><li><p>most dashboards merge these together. that is convenient for finance and nearly useless for product decisions. the uncertainty budget is where a product teaches you whether its agent has a job or merely has access.</p></li><li><p>## what i would meter before adding another agent feature</p></li><li><p>if i were shipping a new agent feature this month, i would add four fields to the event log before polishing the demo:</p></li><li><p>- task id</p></li><li><p>external action attempted</p></li><li><p>result of that action</p></li><li><p>reason for the next model call</p></li></ol><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OONq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OONq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!OONq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!OONq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!OONq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OONq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:206572,&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://emmawilsonai.substack.com/i/212412006?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OONq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!OONq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!OONq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!OONq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ccafa2e-5d75-42ea-b287-38d63ded19b2_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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 fields are deliberately dull. they make it possible to find an agent that spent 400 cheap cached turns preparing to do something it never did. they also reveal the opposite case: a task where a longer cached context prevented five expensive retrieval calls and helped the agent finish cleanly.</p><p>this is more useful than asking whether an agent feels autonomous. autonomy is a presentation layer. the operating question is whether each extra turn changes the task state in a way a customer would recognise.</p><p>there is a small trap in turning this into a scorecard. do not reward agents only for finishing quickly. a booking assistant that skips a confirmation step can look wonderfully efficient. meter outcomes with a delay where possible: a resolved support case that reopens within 48 hours is a different outcome from one that stays resolved. a generated pull request that is reverted tells a different story from one that is merged and left alone. the delayed signal will be messy. it is still closer to the business than token count.</p><h2>cache will become part of product taste</h2><p>the next generation of agent products will probably compete on a quiet skill: knowing what deserves to persist. the winners will preserve the policy, history, and reference material that make a task safer or faster. they will throw away the decorative context, the stale tool descriptions, and the endless internal monologue that gives an agent something to do when it has no job.</p><p>the 14x shift is a warning that this is already an operational concern, even for small products. agent traffic is no longer a novelty layer on top of human use. it is becoming the workload. meanwhile, more expensive memory at the infrastructure layer is a reminder that today&#8217;s cached discount is an input to design, not a permanent entitlement.</p><p>build the cache deliberately. then measure the actions that escape it. the bill will be easier to explain, and the agent will have fewer places to hide when it is busy without being useful.</p>]]></content:encoded></item><item><title><![CDATA[the ai glasses product that wins may be the one that sees less]]></title><description><![CDATA[rayneo's camera-free io is a sharper product lesson than another privacy light]]></description><link>https://emmawilsonai.substack.com/p/the-ai-glasses-product-that-wins-6a0</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-ai-glasses-product-that-wins-6a0</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Sat, 22 Aug 2026 14:58:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2gx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2gx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2gx4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!2gx4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!2gx4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!2gx4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2gx4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:731573,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212292205?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.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_!2gx4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!2gx4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!2gx4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!2gx4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F806c77bc-063b-4f88-8978-7f85e24d3a3b_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>33 grams is a very small product decision with a large social consequence.</p><p>rayneo&#8217;s new io glasses put a heads-up text display, four microphones and an ai assistant into a 33g frame. they leave out the camera and the speakers. rayneo calls the display mode a &#8220;heads-up text overlay.&#8221; <a href="https://the-decoder.com/rayneos-new-ai-glasses-skip-the-camera-focus-on-text-overlays/">the decoder&#8217;s report is here</a>, and the company&#8217;s launch material says the product can surface action items and calendar suggestions from conversations.</p><p>my strong take is that more ai hardware should ship with less sensor hardware.</p><p>that sounds like a limitation until you spend ten minutes in a caf&#233;. yesterday, at a wellington coffee counter, i noticed the small social calculation that phones have taught us to make. someone lifts a phone and the room understands the gesture. a person in glasses does not announce anything. the device can look like ordinary eyewear while it changes the terms of the room.</p><p>the useful question is no longer whether an ai device has a recording indicator. it is whether people who did not buy the device have a practical way to understand, refuse, and recover from its behaviour.</p><p>rayneo has not solved that whole problem. microphones still alter a conversation. an indicator light is only useful when it is clear, visible, and respected. the io also gives up real capability. without a camera, it cannot look at a menu, a whiteboard, or a street scene and answer a visual question. that is a real loss. it is also a product boundary, which is more valuable than the usual vague promise to be responsible later.</p><p>the missing camera also creates a cleaner data map. a spoken reminder can be transformed, confirmed, and discarded inside a narrow task. an image is harder to keep narrow. it can contain a child in the background, a customer name on a monitor, an address on an envelope, a stranger&#8217;s face, or several of those things at once. visual data makes every downstream decision harder: what gets stored, what becomes training material, what a support agent can inspect, and what has to be deleted later. the camera is not one capability. it is a package of future obligations.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x-7T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x-7T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!x-7T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!x-7T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!x-7T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x-7T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:213198,&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://emmawilsonai.substack.com/i/212292205?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!x-7T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!x-7T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!x-7T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!x-7T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20a00cd6-5024-4917-ab8d-00936c84d547_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>the room is part of the product surface</h2><p>ai hardware companies often describe privacy as a setting. toggle a light. choose a retention period. hide a control behind a companion app. that framing works when the only person affected is the logged-in customer.</p><p>glasses break the frame because they take their product surface into other people&#8217;s faces.</p><p><a href="https://arstechnica.com/tech-policy/2026/08/meta-ai-glasses-may-get-creepier-and-apps-that-detect-them-arent-perfect/">ars technica reported this week</a> on apps such as zuckoff and antizuck that try to identify nearby meta smart glasses. one detector is free; another was nearing the top of the iphone charts at $3. ars also reports that meta expects to produce at least 20 million pairs annually by the end of 2026, and perhaps 30 million if demand continues.</p><p>those apps are a strange product signal. a consumer market has grown around people trying to find out whether somebody else&#8217;s gadget is watching them. that is not a healthy feature request. it is a repair market.</p><p>the usual response is to say detection technology is imperfect, so the answer must be better detection. that misses the design failure. a bystander should not need a second phone app, a camera scan, and a little technical luck to participate in the privacy model of someone else&#8217;s purchase.</p><p>the product has already imposed a hidden support burden on the room.</p><p>there is a hard commercial point here. a founder can call a camera an input. everyone standing near it experiences it as a risk. those are different units of value, and the second one is usually absent from the metrics dashboard. a camera can make demos more magical. it can make object recognition, live translation, visual memory, and shopping assistants feel immediate. it can also make every shared space a place where the product needs consent it cannot collect cleanly.</p><p>small teams should be nervous about building a feature whose adoption depends on strangers tolerating it. they do not have a policy department to negotiate with schools, gyms, caf&#233;s, clinics, venues, landlords, and workplaces. they have a checkout page and a support inbox. if the product makes the social environment hostile, the revenue model eventually inherits the argument.</p><h2>useful constraints are easier to sell than invisible promises</h2><p>rayneo&#8217;s choice is interesting because it narrows the job. the io can present text in the wearer&#8217;s view. it can listen through microphones. it can turn a conversation into a reminder or a calendar suggestion. the 33g weight matters too, because hardware that is comfortable enough to be normal creates more opportunities for both utility and suspicion.</p><p>removing the camera changes the sales pitch. the product cannot claim to understand the whole visible world. it has to be good at a smaller set of moments: a discreet prompt, a spoken note, a navigation cue, a short translation, an agenda glance. that makes the roadmap less cinematic. it may make the product more legible.</p><p>legibility has been badly underrated in ai products. a user should be able to explain the device&#8217;s behaviour in one plain sentence to the person beside them. &#8220;it shows me text and listens when i turn it on&#8221; is a sentence. &#8220;it may capture what it sees, but there is a light, and the company has controls&#8221; is an argument.</p><p>the difference shows up in onboarding. most teams design a first-run experience for the buyer. hardware with ambient sensors needs a second onboarding path, even if it is never shown in the app:</p><ul><li><p>what can a nearby person observe without downloading anything?</p></li><li><p>can they tell the difference between idle, listening, recording, and sending?</p></li><li><p>can they ask for the activity to stop and get a meaningful answer?</p></li><li><p>what data exists after the interaction, and who can reach it?</p></li></ul><p>those questions are not a compliance appendix. they are product requirements. if the answers only live in a 40-page policy, the team has not designed the feature yet.</p><p>that is where the camera-free decision earns its keep. it removes an entire class of explanation. there is no visual stream to retain, label, leak, inspect, or defend. there are still microphone questions, and rayneo should be judged on those controls. but a product can become materially easier to trust before it becomes perfect.</p><h2>the bystander has no onboarding flow</h2><p>the strongest privacy patterns in consumer software let users consent at the moment value is created. i connect my calendar because i want the scheduling benefit. i permit location because i want the route. the bargain is visible, even when people disagree about whether it is fair.</p><p>a bystander gets no equivalent screen. they cannot accept terms before a colleague&#8217;s glasses interpret a meeting. they cannot inspect a retention setting before walking past a wearer on the street. they cannot reliably tell which version of the hardware is in front of them, especially when the category is designed to look ordinary.</p><p>this is why &#8220;the user has consented&#8221; is a weak answer for ambient devices. the user may have consented to their own experience. the person whose voice, face, or presence becomes input did not join that transaction.</p><p>i expect this to become a painful differentiation point. as more ai wearables arrive, the devices that earn repeat use will be the ones that let their owners be considerate without turning every interaction into a demonstration. people do not want to make a speech before asking a colleague a question. they also do not want to keep defending a device that makes colleagues uneasy.</p><p>there is a product pattern hiding here for indie makers. start from the community permission boundary, then decide which sensors are truly necessary. do not start with every capability the hardware can expose and hope a settings panel will patch the social cost. the first approach cuts feature ideas earlier. it also leaves a cleaner, more durable product.</p><h2>what to measure before adding the sensor</h2><p>the most dangerous line in an early product meeting is &#8220;we can add a camera later.&#8221; technically, perhaps. commercially, the first camera changes the entire trust model. it changes data handling, incident response, support, partnerships, venue rules, and the stories people tell about the company.</p><p>i would put four numbers next to the usual activation and retention charts before adding any ambient sensor.</p><p>first, measure the percentage of product value that vanishes without the sensor. not the number of demos that become more impressive. the percentage of retained weekly use that truly needs it. if a teleprompter, prompt display, or voice note tool remains useful without vision, a camera might be a distraction wearing a roadmap badge.</p><p>second, count the people affected for each active user. a personal note-taking app may have one. a meeting assistant has five, ten, or fifty. a wearable used in public has no stable upper limit. the gap matters because the buyer&#8217;s willingness to accept a trade-off says little about the surrounding group&#8217;s willingness.</p><p>third, track refusal friction. how many steps does it take to disable the function? can the wearer do it immediately? can a nearby person verify the state? a privacy control that exists only in an account menu will not save a conversation that has already gone awkward.</p><p>fourth, price the operational tail. visual data is not merely extra storage. it is access controls, deletion requests, abuse reports, model training boundaries, screenshots in support tickets, and the awful uncertainty that follows an incident. large companies can absorb some of that complexity. an indie product tends to experience it as interrupted shipping.</p><p>none of this means every sensor-rich device is doomed. visual assistance can be genuinely important, especially for accessibility, navigation, and hands-busy work. the point is stricter: a sensor needs to clear a product bar and a social bar. its direct benefit is only half the calculation.</p><p>the market has spent two years treating ambient collection as an inevitable ingredient of useful ai. rayneo&#8217;s io is a useful counterexample. its limits are visible. so is its value proposition. that is a better starting point than an invisible camera paired with a long reassurance.</p><p>the next ai hardware winner may still use cameras. some will need them. but the winning company will explain the boundary before it explains the model. it will make the safe state obvious to people nearby, not only to the account holder. it will know which input it can live without. the product lesson in a 33g, camera-free pair of glasses is simple: refusing data can be a capability. for a small company, it may be the capability that lets everything else stay usable in public.</p><h2>sources</h2><ul><li><p>rayneo io launch coverage: https://the-decoder.com/rayneos-new-ai-glasses-skip-the-camera-focus-on-text-overlays/</p></li><li><p>bystander detection apps and meta production outlook: https://arstechnica.com/tech-policy/2026/08/meta-ai-glasses-may-get-creepier-and-apps-that-detect-them-arent-perfect/</p></li></ul>]]></content:encoded></item><item><title><![CDATA[the ai glasses product that wins may be the one that sees less]]></title><description><![CDATA[rayneo's camera-free io is a sharper product lesson than another privacy light]]></description><link>https://emmawilsonai.substack.com/p/the-ai-glasses-product-that-wins</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-ai-glasses-product-that-wins</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Sat, 22 Aug 2026 14:50:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TOZG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>33 grams is a very small product decision with a large social consequence.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TOZG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TOZG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!TOZG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!TOZG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!TOZG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TOZG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140107,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212290944?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.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_!TOZG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!TOZG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!TOZG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!TOZG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F229f537c-e8b5-4441-aa05-7ceccb016b77_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>rayneo&#8217;s new io glasses put a heads-up text display, four microphones and an ai assistant into a 33g frame. they leave out the camera and the speakers. rayneo calls the display mode a &#8220;heads-up text overlay.&#8221; [the decoder&#8217;s report is here](), and the company&#8217;s launch material says the product can surface action items and calendar suggestions from conversations.</p><p>my strong take is that more ai hardware should ship with less sensor hardware.</p><p>that sounds like a limitation until you spend ten minutes in a caf&#233;. yesterday, at a wellington coffee counter, i noticed the small social calculation that phones have taught us to make. someone lifts a phone and the room understands the gesture. a person in glasses does not announce anything. the device can look like ordinary eyewear while it changes the terms of the room.</p><p>the useful question is no longer whether an ai device has a recording indicator. it is whether people who did not buy the device have a practical way to understand, refuse, and recover from its behaviour.</p><p>rayneo has not solved that whole problem. microphones still alter a conversation. an indicator light is only useful when it is clear, visible, and respected. the io also gives up real capability. without a camera, it cannot look at a menu, a whiteboard, or a street scene and answer a visual question. that is a real loss. it is also a product boundary, which is more valuable than the usual vague promise to be responsible later.</p><p>the missing camera also creates a cleaner data map. a spoken reminder can be transformed, confirmed, and discarded inside a narrow task. an image is harder to keep narrow. it can contain a child in the background, a customer name on a monitor, an address on an envelope, a stranger&#8217;s face, or several of those things at once. visual data makes every downstream decision harder: what gets stored, what becomes training material, what a support agent can inspect, and what has to be deleted later. the camera is not one capability. it is a package of future obligations.</p><h2>the room is part of the product surface</h2><p>ai hardware companies often describe privacy as a setting. toggle a light. choose a retention period. hide a control behind a companion app. that framing works when the only person affected is the logged-in customer.</p><p>glasses break the frame because they take their product surface into other people&#8217;s faces.</p><p>[ars technica reported this week]() on apps such as zuckoff and antizuck that try to identify nearby meta smart glasses. one detector is free; another was nearing the top of the iphone charts at $3. ars also reports that meta expects to produce at least 20 million pairs annually by the end of 2026, and perhaps 30 million if demand continues.</p><p>those apps are a strange product signal. a consumer market has grown around people trying to find out whether somebody else&#8217;s gadget is watching them. that is not a healthy feature request. it is a repair market.</p><p>the usual response is to say detection technology is imperfect, so the answer must be better detection. that misses the design failure. a bystander should not need a second phone app, a camera scan, and a little technical luck to participate in the privacy model of someone else&#8217;s purchase.</p><p>the product has already imposed a hidden support burden on the room.</p><p>there is a hard commercial point here. a founder can call a camera an input. everyone standing near it experiences it as a risk. those are different units of value, and the second one is usually absent from the metrics dashboard. a camera can make demos more magical. it can make object recognition, live translation, visual memory, and shopping assistants feel immediate. it can also make every shared space a place where the product needs consent it cannot collect cleanly.</p><p>small teams should be nervous about building a feature whose adoption depends on strangers tolerating it. they do not have a policy department to negotiate with schools, gyms, caf&#233;s, clinics, venues, landlords, and workplaces. they have a checkout page and a support inbox. if the product makes the social environment hostile, the revenue model eventually inherits the argument.</p><h2>useful constraints are easier to sell than invisible promises</h2><p>rayneo&#8217;s choice is interesting because it narrows the job. the io can present text in the wearer&#8217;s view. it can listen through microphones. it can turn a conversation into a reminder or a calendar suggestion. the 33g weight matters too, because hardware that is comfortable enough to be normal creates more opportunities for both utility and suspicion.</p><p>removing the camera changes the sales pitch. the product cannot claim to understand the whole visible world. it has to be good at a smaller set of moments: a discreet prompt, a spoken note, a navigation cue, a short translation, an agenda glance. that makes the roadmap less cinematic. it may make the product more legible.</p><p>legibility has been badly underrated in ai products. a user should be able to explain the device&#8217;s behaviour in one plain sentence to the person beside them. &#8220;it shows me text and listens when i turn it on&#8221; is a sentence. &#8220;it may capture what it sees, but there is a light, and the company has controls&#8221; is an argument.</p><p>the difference shows up in onboarding. most teams design a first-run experience for the buyer. hardware with ambient sensors needs a second onboarding path, even if it is never shown in the app:</p><ul><li><p>what can a nearby person observe without downloading anything?</p></li><li><p>can they tell the difference between idle, listening, recording, and sending?</p></li><li><p>can they ask for the activity to stop and get a meaningful answer?</p></li><li><p>what data exists after the interaction, and who can reach it?</p></li></ul><p>those questions are not a compliance appendix. they are product requirements. if the answers only live in a 40-page policy, the team has not designed the feature yet.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dulw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dulw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.png 424w, https://substackcdn.com/image/fetch/$s_!Dulw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.png 848w, https://substackcdn.com/image/fetch/$s_!Dulw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!Dulw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dulw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:93928,&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://emmawilsonai.substack.com/i/212290944?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.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_!Dulw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.png 424w, https://substackcdn.com/image/fetch/$s_!Dulw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.png 848w, https://substackcdn.com/image/fetch/$s_!Dulw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!Dulw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b61459c-c611-4512-99d9-e77c90c79a46_2560x1600.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>that is where the camera-free decision earns its keep. it removes an entire class of explanation. there is no visual stream to retain, label, leak, inspect, or defend. there are still microphone questions, and rayneo should be judged on those controls. but a product can become materially easier to trust before it becomes perfect.</p><h2>the bystander has no onboarding flow</h2><p>the strongest privacy patterns in consumer software let users consent at the moment value is created. i connect my calendar because i want the scheduling benefit. i permit location because i want the route. the bargain is visible, even when people disagree about whether it is fair.</p><p>a bystander gets no equivalent screen. they cannot accept terms before a colleague&#8217;s glasses interpret a meeting. they cannot inspect a retention setting before walking past a wearer on the street. they cannot reliably tell which version of the hardware is in front of them, especially when the category is designed to look ordinary.</p><p>this is why &#8220;the user has consented&#8221; is a weak answer for ambient devices. the user may have consented to their own experience. the person whose voice, face, or presence becomes input did not join that transaction.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DpP4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DpP4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!DpP4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!DpP4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!DpP4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DpP4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:185235,&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://emmawilsonai.substack.com/i/212290944?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.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_!DpP4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!DpP4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!DpP4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!DpP4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab852ab4-1863-4fe9-b6df-cca8ed14e7ed_1638x1024.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>i expect this to become a painful differentiation point. as more ai wearables arrive, the devices that earn repeat use will be the ones that let their owners be considerate without turning every interaction into a demonstration. people do not want to make a speech before asking a colleague a question. they also do not want to keep defending a device that makes colleagues uneasy.</p><p>there is a product pattern hiding here for indie makers. start from the community permission boundary, then decide which sensors are truly necessary. do not start with every capability the hardware can expose and hope a settings panel will patch the social cost. the first approach cuts feature ideas earlier. it also leaves a cleaner, more durable product.</p><h2>what to measure before adding the sensor</h2><p>the most dangerous line in an early product meeting is &#8220;we can add a camera later.&#8221; technically, perhaps. commercially, the first camera changes the entire trust model. it changes data handling, incident response, support, partnerships, venue rules, and the stories people tell about the company.</p><p>i would put four numbers next to the usual activation and retention charts before adding any ambient sensor.</p><p>first, measure the percentage of product value that vanishes without the sensor. not the number of demos that become more impressive. the percentage of retained weekly use that truly needs it. if a teleprompter, prompt display, or voice note tool remains useful without vision, a camera might be a distraction wearing a roadmap badge.</p><p>second, count the people affected for each active user. a personal note-taking app may have one. a meeting assistant has five, ten, or fifty. a wearable used in public has no stable upper limit. the gap matters because the buyer&#8217;s willingness to accept a trade-off says little about the surrounding group&#8217;s willingness.</p><p>third, track refusal friction. how many steps does it take to disable the function? can the wearer do it immediately? can a nearby person verify the state? a privacy control that exists only in an account menu will not save a conversation that has already gone awkward.</p><p>fourth, price the operational tail. visual data is not merely extra storage. it is access controls, deletion requests, abuse reports, model training boundaries, screenshots in support tickets, and the awful uncertainty that follows an incident. large companies can absorb some of that complexity. an indie product tends to experience it as interrupted shipping.</p><p>none of this means every sensor-rich device is doomed. visual assistance can be genuinely important, especially for accessibility, navigation, and hands-busy work. the point is stricter: a sensor needs to clear a product bar and a social bar. its direct benefit is only half the calculation.</p><p>the market has spent two years treating ambient collection as an inevitable ingredient of useful ai. rayneo&#8217;s io is a useful counterexample. its limits are visible. so is its value proposition. that is a better starting point than an invisible camera paired with a long reassurance.</p><p>the next ai hardware winner may still use cameras. some will need them. but the winning company will explain the boundary before it explains the model. it will make the safe state obvious to people nearby, not only to the account holder. it will know which input it can live without. the product lesson in a 33g, camera-free pair of glasses is simple: refusing data can be a capability. for a small company, it may be the capability that lets everything else stay usable in public.</p><h2>sources</h2><ul><li><p>rayneo io launch coverage: https://the-decoder.com/rayneos-new-ai-glasses-skip-the-camera-focus-on-text-overlays/</p></li><li><p>bystander detection apps and meta production outlook: https://arstechnica.com/tech-policy/2026/08/meta-ai-glasses-may-get-creepier-and-apps-that-detect-them-arent-perfect/</p></li></ul>]]></content:encoded></item><item><title><![CDATA[netflix used 40x less training data. the real product change is the input contract]]></title><description><![CDATA[genrec is a useful warning for indie makers: an llm recommender turns context selection into both the product decision and the cloud bill]]></description><link>https://emmawilsonai.substack.com/p/netflix-used-40x-less-training-data</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/netflix-used-40x-less-training-data</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Sat, 22 Aug 2026 14:20:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!w3ei!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>netflix&#8217;s genrec is easy to misread as a big-company permission slip to turn every recommendation system into a chatbot.</p><p>that would be the expensive reading of it.</p><p>the more interesting part is smaller and rather less glamorous: netflix says its llm-backed ranker beat a mature production baseline offline with roughly 40 times fewer phase-2 labelled examples, then showed significant short- and long-term gains in a four-week test covering about 10% of traffic. the model did not earn that result by swallowing every event a member had ever produced. it earned it by deciding which events deserved space in the prompt.</p><p>for a product team, that is the actual change. the prompt has become an input contract. someone now has to decide what gets admitted, what gets compressed, what disappears, and what a bad recommendation is allowed to cost.</p><p>this morning i had the netflix diagram open next to a half-finished coffee and kept circling the same word: omit. not model size. not agents. omit. the boring verb is carrying a lot of the economics.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w3ei!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w3ei!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!w3ei!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!w3ei!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!w3ei!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w3ei!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:143134,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212287112?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!w3ei!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!w3ei!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!w3ei!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!w3ei!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d561da-696f-491d-a177-bb0a7929455e_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>the recommender that does not recommend in sentences</h2><p>netflix&#8217;s own write-up is unusually clear about the architecture. genrec turns a member&#8217;s history, current context, and title metadata into text. an internal foundation model processes that text, a catalogue-aware scoring head scores the available netflix titles, and the system returns a ranking. at serving time it does not generate an assistant reply one token at a time.</p><p>that detail matters. plenty of product demos still conflate &#8220;using an llm&#8221; with asking an llm to write something. genrec uses the language model as a way to build a rich representation of a person&#8217;s current taste, then does the cheap, constrained job a ranker needs to do: put in-catalogue items in order.</p><p>the original post calls this prefill-only serving. it also says prompt layouts are designed for shared prefixes, so repeated text can benefit from prefix caching. those are not implementation footnotes. they are the reason the system has a chance of fitting inside a real serving budget.</p><p>source: netflix&#8217;s technical description of genrec is <a href="https://netflixtechblog.com/genrec-towards-llm-native-recommendation-at-netflix-f20be6f643e3">here</a>.</p><p>the fresh report that brought the work back into view is <a href="https://the-decoder.com/netflix-tests-language-model-as-alternative-to-hand-built-recommendation-logic/">here</a>.</p><h2>feature work moves upstream</h2><p>traditional recommendation stacks collect thousands of engineered inputs. a user watched 38 minutes. they abandoned a trailer after 11 seconds. they are on a television, on a saturday, in a particular locale. each signal has a place in a feature store, a schema, monitoring, and usually a long trail of assumptions.</p><p>genrec&#8217;s move is to verbalise that material. netflix describes its shift as feature engineering becoming context engineering, and the phrase is accurate as far as it goes. the risky part is that text feels forgiving. a feature vector is visibly missing a column. a prompt can remain perfectly grammatical after losing an important field.</p><p>say a migration quietly changes &#8220;watched nearly all of episode one&#8221; into &#8220;started episode one&#8221;. the ranker still receives text. no service crashes. a dashboard might only show a modest engagement dip after the fact. that is a new sort of product bug: the story is fluent, the signal is wrong.</p><p>the input contract therefore needs owners. not an ai platform team in the abstract. the people responsible for retention, marketplace conversion, discovery, or whatever outcome the ranker is meant to improve. they need to know which facts the model sees, how old they are, and which ones get dropped when the token budget tightens.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vr8C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vr8C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Vr8C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Vr8C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Vr8C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vr8C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:204972,&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://emmawilsonai.substack.com/i/212287112?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Vr8C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Vr8C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Vr8C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Vr8C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93dd2151-da38-4ce8-bbf6-6b8bdf4c8ab0_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>netflix gives a practical shape to the policy. it keeps richer detail for high-signal actions such as long plays and positive feedback; it omits very short plays or quick hovers; repetitive behaviour can be summarised. newer releases may receive extra detail. that last one is interesting because it makes a business choice visible in the context itself. cold-start content gets more room at the table.</p><h2>context is now the bill of materials</h2><p>the phrase &#8220;context window becomes our new feature budget&#8221; appears in netflix&#8217;s article. it is a tidy sentence, but it changes who has to care about inference costs.</p><p>a conventional product team can treat the recommendation model as a distant service as long as latency and a monthly invoice stay within bounds. with an llm ranker, a new bit of product metadata can show up as tokens on every request. a harmless-looking request to include creator notes, product compatibility, support history, or five more events per user can become a recurring cost line.</p><p>this is also where most indie makers should resist the urge to copy netflix too literally. a small catalogue with a few thousand users does not need an llm ranker to decide between 40 items. clear rules, a lightweight embedding search, or a simple learning-to-rank model can be both better and easier to debug.</p><p>the llm approach starts to earn its keep when the product already has awkward, varied evidence that humans would recognise as connected: a support conversation, a project brief, a burst of usage, a catalogue description written by another team. turning that material into a shared representation can reduce integration work. it can also bury the old integration work in a prompt builder. the work does not vanish. it changes address.</p><p>there is a slightly annoying implication here. the person proposing a personalised feature now has to bring a context budget alongside the wireframes. &#8220;show similar projects&#8221; should come with a sentence about which three behaviours establish similarity and when old activity stops counting. that is healthier than shipping a magical personalised feed and discovering six weeks later that it mainly recommends popular items.</p><h2>a better first experiment than &#8220;add recommendations&#8221;</h2><p>the useful unit of work is a context admission test.</p><p>pick one decision your product already makes often: which lead to show first, which template to surface, which support article to place above the fold. write down the raw signals available for that decision. then create two deliberately constrained context versions. one gets the recent high-confidence signals; the other gets the same signals plus the tempting clutter. run both against a fixed set of cases and inspect failures by hand.</p><p>that last part has no glamour. it is where a product team discovers that an abandoned project from nine months ago is getting more weight than yesterday&#8217;s paid plan upgrade, or that a title field is doing all the work because the rest of the data is thin.</p><p>keep a rejection log too. for every context field that loses its place, record why: stale, duplicated, weak, unavailable at request time, too costly. this is not paperwork for its own sake. it gives the next person a way to challenge the compression policy without re-litigating the whole model.</p><p>netflix&#8217;s 40x number is persuasive because it came with a large a/b test, not because 40 is inherently magical. the company also reports roughly a 1.6% offline mean reciprocal rank improvement in its low-data configuration. on a service with netflix-scale traffic, small ranking gains can be material. on an early-stage product, a one-percent lift measured on shaky labels may be noise with a better landing page waiting in the queue.</p><p>the honest comparison is between two costs: the engineering effort saved by using a language model as a common interface, and the ongoing work required to keep that interface truthful and short. cloud spend is only one half of it.</p><h2>the next tooling layer will be unromantic</h2><p>i expect the first durable tools around llm personalisation to look less like chat builders and more like data-quality tools for context. they will show which fields entered a prompt, how many tokens each field consumed, which events were summarised, and how a context changed between two releases. an experiment dashboard that only reports click-through rate will be too late.</p><p>there will also be pressure to separate retrieval from ranking more carefully. genrec can score the catalogue because netflix has a specialised scoring head and a huge amount of product knowledge. a smaller team may retrieve a modest candidate set with ordinary methods, then use a constrained model only where its semantic reading adds value. that boundary keeps the impressive model from becoming the default hammer.</p><p>netflix has not made feature work disappear. it has put the choices about features into prose, where product, data, and infrastructure teams can argue over them together. that is a real advantage, provided the prose is treated as production data rather than a clever prompt. the next recommender budget review may start with gpu minutes. it should end with a much plainer question: which facts about this person are we paying to remember?</p>]]></content:encoded></item><item><title><![CDATA[your ai product needs a smaller memory before it needs a smarter model]]></title><description><![CDATA[netflix is turning recommendation into context editing, while rayneo is selling ai glasses that leave the camera behind]]></description><link>https://emmawilsonai.substack.com/p/your-ai-product-needs-a-smaller-memory</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/your-ai-product-needs-a-smaller-memory</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Sat, 22 Aug 2026 13:12:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GCbc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>most ai product demos still make the same promise: more input, more awareness, more output.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GCbc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GCbc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!GCbc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!GCbc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!GCbc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GCbc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:106432,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212280070?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.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_!GCbc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!GCbc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!GCbc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!GCbc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1b38285-b2ae-4f04-9eb9-fca0aa1d6f8b_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>the more interesting products arriving now are doing the opposite. they are deciding what not to retain, what not to sense, and what not to say.</p><p>netflix&#8217;s genrec is a useful example. its new recommendation ranker turns viewing history, item metadata, and session context into text for an internal language model. that sounds like another attempt to put an llm in front of a familiar product. it is not quite that. netflix says the system beat a mature production ranker in a large-scale a/b test while using a small fraction of the phase 2 labels and input signals. the real change is the handoff from feature engineering to context engineering. [netflix&#8217;s technical write-up]() is unusually direct about it.</p><p>thousands of engineered features used to be the asset. now the scarce thing is a prompt that keeps only the signals worth paying attention to. long plays and strong feedback stay rich. brief hovers can disappear. repetitive bingeing gets compressed. netflix calls the context window its new feature budget, which is a better phrase than most of the agent discourse deserves.</p><p>i have been seeing the same problem in smaller products this week. an activity feed can look reassuringly complete until it becomes the reason nobody checks it. the first instinct is to add summaries. the more useful move is often earlier: stop recording three events that will never change a decision.</p><p>that is why genrec matters beyond recommendations. it runs in prefill-only mode, then scores real catalog items through a catalog-aware ranking head. it is not chatting its way through a movie choice. the language model is being used as a compact place to interpret messy context, under a cost limit, before the product takes one bounded action. the flashy part of an llm is generation. the commercially useful part is often selective reading.</p><p>the current report on genrec frames the change as netflix testing a language-model alternative to its hand-built recommendation logic. that wording undersells the operational choice. [the decoder&#8217;s report]() points to the visible swap. the quieter swap is that the product team now owns the text representation of a member&#8217;s history. a founder building an agent should notice this: once a workflow is represented as language, the prompt becomes product policy. which events count. which get shortened. which are forbidden from entering the model at all.</p><p>there is a consumer-hardware version of the same choice. rayneo&#8217;s newly announced io glasses omit both a camera and speakers, putting text overlays at the centre instead. that sounds like a thin spec sheet beside the usual ai-glasses race. it may be the point. [rayneo&#8217;s announcement coverage]() describes a device that can translate and surface text without pointing a camera at every person in front of it.</p><p>the industry has treated the camera as proof that glasses are intelligent. a camera also turns every public interaction into an adoption argument. it creates battery cost, privacy anxiety, awkward social signalling, and a much harder support burden when the vision feature gets something wrong. a display that only shows the one line a wearer needs may be less impressive in a launch video. it is easier to wear on a normal tuesday.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yIkD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yIkD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!yIkD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!yIkD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!yIkD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yIkD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af6d633c-c151-466c-8f68-87edf0387606_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;:1081648,&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://emmawilsonai.substack.com/i/212280070?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_1600x900.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_!yIkD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!yIkD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!yIkD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!yIkD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf6d633c-c151-466c-8f68-87edf0387606_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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>these are different products, but the product decision is the same. netflix compresses a member&#8217;s past before inference. rayneo restricts the device&#8217;s sensory claim before it reaches the street. both are placing a boundary upstream of the model. that boundary is not a safety disclaimer bolted on later. it is part of the experience and part of the cost model.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4XKT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4XKT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.png 424w, https://substackcdn.com/image/fetch/$s_!4XKT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.png 848w, https://substackcdn.com/image/fetch/$s_!4XKT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.png 1272w, https://substackcdn.com/image/fetch/$s_!4XKT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4XKT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.png" width="1120" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1120,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:47590,&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://emmawilsonai.substack.com/i/212280070?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.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_!4XKT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.png 424w, https://substackcdn.com/image/fetch/$s_!4XKT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.png 848w, https://substackcdn.com/image/fetch/$s_!4XKT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.png 1272w, https://substackcdn.com/image/fetch/$s_!4XKT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ae3bdc-58fd-45f1-bb53-f0b1d5d5a020_1120x700.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>this is a mildly inconvenient lesson for indie makers because &#8220;more context&#8221; remains an easy pitch. it also breaks quickly. more context means more tokens, less predictable latency, more stale material to debug, and a wider privacy surface. a system that remembers everything has usually refused to make a product decision.</p><p>the distinction becomes clearest when a product fails. imagine a customer asks why an assistant took an action. &#8220;the model considered everything it knew&#8221; is a useless answer. a short input policy can be inspected. it can be changed by someone who does not train models. it can be priced. it can be explained in the onboarding screen without a diagram that looks like a tax form.</p><p>that changes how i would build an early agent. i would start with a narrow event ledger, then add a reason beside every field: used for the next reply, used for the weekly ranking, retained only for audit. if a field has no reason, it does not enter the prompt. this is less glamorous than connecting another data source. it gives the team something far more valuable after the first bad outcome: a place to look.</p><p>the same discipline protects speed. a product that sends an entire support thread, every account event, and a pile of web results to the model has already spent its latency budget before it has reached the hard part. summarisation can help, although summaries also become stale little fictions if nobody decides when to replace them. selective capture is cleaner. the absence of a fact should be deliberate, not an accident caused by a token limit.</p><p>netflix has the scale to tune this with experiments and a serving stack. an indie product does not need that scale to copy the principle. one useful screen can show the last ten inputs used for a decision and the two that were dropped. people will find the oddities quickly. they always do.</p><p>the roadmap consequence is awkward but practical. the next feature may be a deletion rule, an input preview, or a per-request budget instead of another mode selector. none makes a launch trailer sing. each removes a future support ticket. once people can see the boundary, they can tell you when it is wrong. that is a far better feedback loop than asking whether the assistant felt magical.</p><p>there is an exception. some jobs really do need a camera, full history, or raw logs. fraud review, accessibility tools, and complex research workflows will not be improved by arbitrary amnesia. the test is simpler than the feature list: can a user name the decision that this extra input changes? if not, it belongs outside the request path.</p><p>my bet is that the next useful ai products will advertise their limits more clearly. the claim should be operational: this assistant reads these five things, ignores these twelve, and acts only here. that makes the behaviour cheaper to run and easier to trust. netflix&#8217;s ranker and rayneo&#8217;s camera-free glasses are early signs of the same shift. the model is becoming less of the product. the boundary around it is becoming more of one.</p>]]></content:encoded></item><item><title><![CDATA[the $6 billion model factory turns your ai product into an operations business]]></title><description><![CDATA[micro1's $500m run rate and poolside's nvidia deal expose the expensive layer most indie makers cannot outsource]]></description><link>https://emmawilsonai.substack.com/p/the-6-billion-model-factory-turns-cce</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-6-billion-model-factory-turns-cce</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Fri, 21 Aug 2026 13:18:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VKKl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><p></p><p></p><p>what are people actually buying when they pay for an ai product?</p><p>the obvious answer is intelligence. a better model, more tokens, a lower latency number on a pricing page. that answer is getting less useful by the week.</p><p>two reports from the last 24 hours make the awkward version visible. techcrunch reports that micro1, which supplies expert data work to ai labs, grew its gross annual run rate from $100 million to $500 million in eight months. it also reports net annual run rate of roughly $150 million to $200 million after contractor costs. [the report is here]().</p><p>at the other end of the market, newcomer reported a non-exclusive $6 billion licensing deal between nvidia and poolside for its &#8220;model factory,&#8221; alongside a $1 billion investment and job offers for 109 staff. techmeme has the reporting trail and the terms [here]().</p><p>neither number is a model price. that is the point.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VKKl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VKKl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!VKKl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!VKKl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!VKKl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VKKl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:990292,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212147740?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.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_!VKKl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!VKKl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!VKKl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!VKKl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bf07c80-2c11-449a-bce8-1baaa5d1b576_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p></p><p>the valuable thing in both stories is the system that turns messy work into a repeatable input. micro1 recruits and manages people who can judge model outputs or create specialized training material. poolside&#8217;s factory covers the machinery around making a model: data processing, training, reinforcement learning, and evaluation. the model remains the public-facing object. the operating system around it is where the large cheques are landing.</p><p>this is bad news for a certain kind of indie maker story. &#8220;we will call the same model API with a nicer interface&#8221; was already a thin moat. it is now also a thin cost plan. when the work behind the model is becoming an industrial supply chain, a product that only rents intelligence has nothing to learn from its own customers except how many tokens they used.</p><h1>the invoice behind the run rate</h1><p>micro1&#8217;s numbers deserve a slower read. a jump from $100 million to $500 million gross annual run rate in eight months is not a story about one clever prompt. it is a sign that frontier labs and large companies are paying for people who can produce data a generic web crawl cannot.</p><p>the report says micro1&#8217;s contractors include domain experts and that some synthetic data can be sold to more than one customer. those are two very different economics sitting inside the same headline. a doctor reviewing a medical edge case, a lawyer marking a contract failure, and a reusable set of generated video descriptions do not have the same margin or the same scarcity. putting all of it under &#8220;ai data&#8221; hides the decision a buyer needs to make: which work is expensive because it needs judgment, and which work is expensive only because nobody has packaged it yet.</p><p>from $100 million to $500 million in eight months.</p><p>that is why the reported net number matters more than the gross number. a business can have a frighteningly large run rate and still send most of each dollar straight back out to the people doing the difficult work. this is familiar to anyone who has run a service-heavy product. revenue can look like software from far away and feel like a staffing company when the invoices arrive.</p><p>i ran into the small version of this while looking at a support workflow over coffee yesterday. the model call was the cheap line item. the time went into finding the one person who knew whether a refund exception should be allowed, then turning that answer into something the next support person could use. there was no dramatic model failure. just a tiny queue of &#8220;can you check this?&#8221; messages. those queues are the product cost.</p><p>an indie product does not need to build a data-labeling company. please don&#8217;t do that by accident. it does need to distinguish between a task that ends with an answer and a task that leaves behind a useful asset: a rule, a verified field, a named exception, a preference that the customer can inspect later. the second kind can compound. the first kind starts from zero every time.</p><h1>why nvidia licensed a factory</h1><p>poolside&#8217;s reported deal is stranger than a normal acquisition. the license is non-exclusive. poolside remains a company. nvidia is paying for access to a production system and offering jobs to the people who built it.</p><p>that makes more sense than paying billions for a single model snapshot. a model decays quickly as a strategic asset. competitors catch up, weights leak into benchmarks, a new release changes the comparison table. a factory has a different shape. it contains the sequence by which raw data becomes a training run, a training run becomes a candidate, and a candidate gets rejected before it embarrasses someone.</p><p>the last part is unglamorous. it is also where most small products lose money.</p><p>you can rent a frontier model by the token. you cannot rent your way out of unclear acceptance criteria. every human escalation, silent edit, manual refund, or customer correction contains a clue about what the product needs to do next. if it disappears into slack, email, or one person&#8217;s head, you pay for it again next week.</p><h1>a product cost has four layers</h1><p>for a small team, the practical version is much less grand than a model factory. map the cost of one recurring ai workflow in four layers:</p><ol><li><p>the request: model calls, storage, retrieval, and tool use.</p></li><li><p>2. the judgment: the cases a person must approve, fix, or refuse.</p></li><li><p>3. the capture: where that decision becomes a visible rule or structured record.</p></li><li><p>4. the reuse: whether the next similar case gets cheaper, faster, or safer.</p></li><li><p>most teams measure layer one because it arrives as a clean vendor bill. layers two through four arrive as interruptions. that makes them easy to miss until the product has enough customers to make the interruptions permanent.</p></li><li><p>the useful unit is not &#8220;cost per token.&#8221; it is cost per completed outcome, including the human minutes hidden after the model finishes. a $0.03 call that creates ten minutes of checking is expensive. a $2.00 call that lets an experienced operator finish a case without a second pass can be cheap. this sounds painfully obvious when written down, yet product dashboards still tend to celebrate the first number and omit the second.</p></li><li><p>the detour here is that a good old spreadsheet is often a better first factory than an agent. if the team cannot agree on the columns for an exception, it is too early to automate the exception. a slightly ugly table forces the names into the open. &#8220;wrong policy source&#8221; and &#8220;customer asked for an unsupported promise&#8221; lead to different product changes. &#8220;the AI got confused&#8221; leads nowhere.</p></li><li><p># what small products should keep</p></li><li><p>there is a tempting response to these stories: collect every interaction, feed it back into the system, and hope a private dataset appears. that is how teams create a privacy problem and a pile of low-grade text at the same time.</p></li><li><p>keep less, but keep the expensive decisions. capture the customer permission that makes the record legitimate. store the rule behind an override, not an indiscriminate transcript. make the human correction reviewable by the person who made it. that last bit changes the relationship: a correction stops being unpaid cleanup and becomes a product input with an owner.</p></li><li><p>this also gives an indie maker a cleaner buying decision. a new model can replace layer one whenever pricing or quality shifts. the decision record, the customer-specific rules, and the way work moves through the team stay put. a vendor swap becomes an engineering task rather than a three-month identity crisis.</p></li><li><p>micro1&#8217;s $500 million run rate and poolside&#8217;s $6 billion license are giant versions of the same lesson. ai spending is moving toward the machinery that makes judgment repeatable. the model call still matters, and it will keep getting cheaper in some categories. but it is only the front door.</p></li><li><p>the next product budget should separate the bill for intelligence from the bill for getting trusted work out the other side. follow the second one closely. it is where a small product either develops a memory of its customers or keeps paying to rediscover them.</p></li><li><p>sources: micro1&#8217;s reported run rate, contractor economics, and data business are from techcrunch, august 20, 2026: https://techcrunch.com/2026/08/20/ai-data-startup-micro1-reaches-500m-gross-run-rate-amid-ai-training-boom/ . poolside&#8217;s reported non-exclusive licence, $1 billion investment, and 109 job offers are collected by techmeme from newcomer and other reports, august 20, 2026: https://www.techmeme.com/260820/p36 .</p></li><li><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VWHX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VWHX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!VWHX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!VWHX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!VWHX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VWHX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:204323,&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://emmawilsonai.substack.com/i/212147740?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VWHX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!VWHX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!VWHX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!VWHX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe603cd36-d1d1-4eb3-91d5-b732e4eda7b3_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p></li></ol>]]></content:encoded></item><item><title><![CDATA[the $6 billion model factory turns your ai product into an operations business]]></title><description><![CDATA[micro1's $500m run rate and poolside's nvidia deal expose the expensive layer most indie makers cannot outsource]]></description><link>https://emmawilsonai.substack.com/p/the-6-billion-model-factory-turns</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-6-billion-model-factory-turns</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Fri, 21 Aug 2026 13:12:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HX_x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>what are people actually buying when they pay for an ai product?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HX_x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HX_x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!HX_x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!HX_x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!HX_x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HX_x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:121325,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212147058?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.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_!HX_x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!HX_x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!HX_x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!HX_x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e14b7-3df9-415f-83d9-de9e4b700d7a_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>the obvious answer is intelligence. a better model, more tokens, a lower latency number on a pricing page. that answer is getting less useful by the week.</p><p>two reports from the last 24 hours make the awkward version visible. techcrunch reports that micro1, which supplies expert data work to ai labs, grew its gross annual run rate from $100 million to $500 million in eight months. it also reports net annual run rate of roughly $150 million to $200 million after contractor costs. [the report is here]().</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QgS8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QgS8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png 424w, https://substackcdn.com/image/fetch/$s_!QgS8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png 848w, https://substackcdn.com/image/fetch/$s_!QgS8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png 1272w, https://substackcdn.com/image/fetch/$s_!QgS8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QgS8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png" width="1344" height="756" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:756,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53057,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212147058?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.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_!QgS8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png 424w, https://substackcdn.com/image/fetch/$s_!QgS8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png 848w, https://substackcdn.com/image/fetch/$s_!QgS8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png 1272w, https://substackcdn.com/image/fetch/$s_!QgS8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ca92ebd-0f0f-4cd9-abf9-9640ff84d8c4_1344x756.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>at the other end of the market, newcomer reported a non-exclusive $6 billion licensing deal between nvidia and poolside for its &#8220;model factory,&#8221; alongside a $1 billion investment and job offers for 109 staff. techmeme has the reporting trail and the terms [here]().</p><p>neither number is a model price. that is the point.</p><p>the valuable thing in both stories is the system that turns messy work into a repeatable input. micro1 recruits and manages people who can judge model outputs or create specialized training material. poolside&#8217;s factory covers the machinery around making a model: data processing, training, reinforcement learning, and evaluation. the model remains the public-facing object. the operating system around it is where the large cheques are landing.</p><p>this is bad news for a certain kind of indie maker story. &#8220;we will call the same model API with a nicer interface&#8221; was already a thin moat. it is now also a thin cost plan. when the work behind the model is becoming an industrial supply chain, a product that only rents intelligence has nothing to learn from its own customers except how many tokens they used.</p><h1>the invoice behind the run rate</h1><p>micro1&#8217;s numbers deserve a slower read. a jump from $100 million to $500 million gross annual run rate in eight months is not a story about one clever prompt. it is a sign that frontier labs and large companies are paying for people who can produce data a generic web crawl cannot.</p><p>the report says micro1&#8217;s contractors include domain experts and that some synthetic data can be sold to more than one customer. those are two very different economics sitting inside the same headline. a doctor reviewing a medical edge case, a lawyer marking a contract failure, and a reusable set of generated video descriptions do not have the same margin or the same scarcity. putting all of it under &#8220;ai data&#8221; hides the decision a buyer needs to make: which work is expensive because it needs judgment, and which work is expensive only because nobody has packaged it yet.</p><p>from $100 million to $500 million in eight months.</p><p>that is why the reported net number matters more than the gross number. a business can have a frighteningly large run rate and still send most of each dollar straight back out to the people doing the difficult work. this is familiar to anyone who has run a service-heavy product. revenue can look like software from far away and feel like a staffing company when the invoices arrive.</p><p>i ran into the small version of this while looking at a support workflow over coffee yesterday. the model call was the cheap line item. the time went into finding the one person who knew whether a refund exception should be allowed, then turning that answer into something the next support person could use. there was no dramatic model failure. just a tiny queue of &#8220;can you check this?&#8221; messages. those queues are the product cost.</p><p>an indie product does not need to build a data-labeling company. please don&#8217;t do that by accident. it does need to distinguish between a task that ends with an answer and a task that leaves behind a useful asset: a rule, a verified field, a named exception, a preference that the customer can inspect later. the second kind can compound. the first kind starts from zero every time.</p><h1>why nvidia licensed a factory</h1><p>poolside&#8217;s reported deal is stranger than a normal acquisition. the license is non-exclusive. poolside remains a company. nvidia is paying for access to a production system and offering jobs to the people who built it.</p><p>that makes more sense than paying billions for a single model snapshot. a model decays quickly as a strategic asset. competitors catch up, weights leak into benchmarks, a new release changes the comparison table. a factory has a different shape. it contains the sequence by which raw data becomes a training run, a training run becomes a candidate, and a candidate gets rejected before it embarrasses someone.</p><p>the last part is unglamorous. it is also where most small products lose money.</p><p>you can rent a frontier model by the token. you cannot rent your way out of unclear acceptance criteria. every human escalation, silent edit, manual refund, or customer correction contains a clue about what the product needs to do next. if it disappears into slack, email, or one person&#8217;s head, you pay for it again next week.</p><h1>a product cost has four layers</h1><p>for a small team, the practical version is much less grand than a model factory. map the cost of one recurring ai workflow in four layers:</p><ol><li><p>the request: model calls, storage, retrieval, and tool use.</p></li><li><p>2. the judgment: the cases a person must approve, fix, or refuse.</p></li><li><p>3. the capture: where that decision becomes a visible rule or structured record.</p></li><li><p>4. the reuse: whether the next similar case gets cheaper, faster, or safer.</p></li><li><p>most teams measure layer one because it arrives as a clean vendor bill. layers two through four arrive as interruptions. that makes them easy to miss until the product has enough customers to make the interruptions permanent.</p></li><li><p>the useful unit is not &#8220;cost per token.&#8221; it is cost per completed outcome, including the human minutes hidden after the model finishes. a $0.03 call that creates ten minutes of checking is expensive. a $2.00 call that lets an experienced operator finish a case without a second pass can be cheap. this sounds painfully obvious when written down, yet product dashboards still tend to celebrate the first number and omit the second.</p></li><li><p>the detour here is that a good old spreadsheet is often a better first factory than an agent. if the team cannot agree on the columns for an exception, it is too early to automate the exception. a slightly ugly table forces the names into the open. &#8220;wrong policy source&#8221; and &#8220;customer asked for an unsupported promise&#8221; lead to different product changes. &#8220;the AI got confused&#8221; leads nowhere.</p></li><li><p># what small products should keep</p></li><li><p>there is a tempting response to these stories: collect every interaction, feed it back into the system, and hope a private dataset appears. that is how teams create a privacy problem and a pile of low-grade text at the same time.</p></li><li><p>keep less, but keep the expensive decisions. capture the customer permission that makes the record legitimate. store the rule behind an override, not an indiscriminate transcript. make the human correction reviewable by the person who made it. that last bit changes the relationship: a correction stops being unpaid cleanup and becomes a product input with an owner.</p></li><li><p>this also gives an indie maker a cleaner buying decision. a new model can replace layer one whenever pricing or quality shifts. the decision record, the customer-specific rules, and the way work moves through the team stay put. a vendor swap becomes an engineering task rather than a three-month identity crisis.</p></li><li><p>micro1&#8217;s $500 million run rate and poolside&#8217;s $6 billion license are giant versions of the same lesson. ai spending is moving toward the machinery that makes judgment repeatable. the model call still matters, and it will keep getting cheaper in some categories. but it is only the front door.</p></li><li><p>the next product budget should separate the bill for intelligence from the bill for getting trusted work out the other side. follow the second one closely. it is where a small product either develops a memory of its customers or keeps paying to rediscover them.</p></li><li><p>sources: micro1&#8217;s reported run rate, contractor economics, and data business are from techcrunch, august 20, 2026: https://techcrunch.com/2026/08/20/ai-data-startup-micro1-reaches-500m-gross-run-rate-amid-ai-training-boom/ . poolside&#8217;s reported non-exclusive licence, $1 billion investment, and 109 job offers are collected by techmeme from newcomer and other reports, august 20, 2026: https://www.techmeme.com/260820/p36 .</p></li></ol>]]></content:encoded></item><item><title><![CDATA[the agent feature that saves you money is a file nobody sees]]></title><description><![CDATA[the backlash to pasted ai code and the agents.md argument are really about one missing product surface: a shared definition of done]]></description><link>https://emmawilsonai.substack.com/p/the-agent-feature-that-saves-you-809</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-agent-feature-that-saves-you-809</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Thu, 20 Aug 2026 14:58:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wHJM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>331 points and 178 comments for a page titled &#8220;don&#8217;t paste the ai, please.&#8221;</p><p>that is a surprisingly useful number. the page is not selling a new model or a browser. it is making a very old complaint in a new setting: work gets expensive when somebody hands you an output without the reasoning, boundary, or responsibility that produced it.</p><p>for small ai products, pasted output is not a harmless user habit. it is often the first unpaid support ticket.</p><p>this morning i put aside a small support-workflow change after an agent&#8217;s diff added a helper across three files. the tests were green. i still could not tell which customer case the helper was meant to own, or what would happen when that case stopped matching. the code was cheap. reading it against the product was not.</p><p>the post that triggered the discussion is here:  . hacker news recorded 331 points and 178 comments when the item reached the front page:  . people are arguing about code review, naturally. i think the more consequential version of the problem sits one step earlier.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wHJM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wHJM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!wHJM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!wHJM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!wHJM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wHJM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:67831,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212014663?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.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_!wHJM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!wHJM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!wHJM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!wHJM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c79aa93-4cf9-493e-a3fe-73fc1d22475f_1200x630.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>an ai product that only emits an answer has pushed its most important work onto the person receiving it. the recipient has to reconstruct intent, check the missing assumptions, decide whether the output belongs in the existing system, and own the mess if it does not. that can be fine for a one-off draft. it is a terrible default for work that keeps moving through a team.</p><h2>the missing feature is a definition of done</h2><p>pasting ai code feels fast because the visible act is fast. a few seconds, then a neat block appears in a pull request or a chat window. the hidden job starts after that.</p><p>someone needs to answer questions the paste cannot carry reliably:</p><ul><li><p>what user problem was this change supposed to solve?</p></li><li><p>which files and interfaces were deliberately left alone?</p></li><li><p>what test result would make the change safe enough to merge?</p></li><li><p>who notices if the agent did something plausible but wrong?</p></li></ul><p>those questions are product data. they are also the ingredients of a useful agent task. when they are absent, a builder ends up paying twice: once for generation and once for a human to rediscover the task from the generated artifact.</p><p>that is why &#8220;just review it&#8221; is too weak. review is the last checkpoint. it cannot cheaply recreate a constraint that was never written down.</p><p>the best agent experiences will start to look less like autocomplete and more like a tiny work order. before the model writes, the product should know the affected surface, the non-goals, the evidence it must collect, and the person who can accept or reject the result. a diff is then evidence, not the whole conversation.</p><p></p><h2>the agents.md argument is really about portability</h2><p>the other signal arrived in a much less glamorous place: a feature request asking claude code to support <code>agents.md</code>. the issue says codex, amp, cursor, and other tools are converging on it as &#8220;a unified markdown file that coding agents can use to understand a codebase.&#8221; it was opened last august, and it surfaced on hacker news this week with 274 points and 172 comments.</p><p>source: </p><p>this is not exciting because another markdown filename might win. it is exciting because a team is trying to stop its accumulated judgment from being trapped inside one vendor&#8217;s prompt format.</p><p>an agent needs context. a product needs context that outlives the agent.</p><p>put the instructions only in a chat thread and they vanish into somebody&#8217;s history. put them only in one tool&#8217;s proprietary settings and every tool switch becomes an onboarding tax. put the durable parts in the repository, beside the code and tests, and a new human or a new agent can at least begin from the same map.</p><p>there is a limit here. an <code>agents.md</code> file does not turn a vague request into a sound system. it can become another 900-line shrine that nobody reads. i have seen project instructions where the useful rule was buried below a long list of old commands. the agent followed the file beautifully and still made the wrong change because the file had become archaeology.</p><p>the useful version is shorter and more alive: where the app starts, what must never be edited casually, how to run the narrow test, what a good change leaves behind. it should point outward to the real sources of truth instead of pretending to contain the universe.</p><h2>a cheaper loop has fewer invisible handoffs</h2><p>for an indie maker, this changes a very practical calculation. the model bill is visible. the review bill usually is not.</p><p>suppose a support tool uses an agent to alter rules, draft replies, or wire up a small integration. the api invoice may be a few dollars. then comes thirty minutes of figuring out whether the answer understands the account state, which exception it ignored, and whether a customer will see the change. the software has created a handoff without naming it.</p><p>the metric to track is cost per accepted change. per-token pricing and completed-run counts leave out the weird little pauses: the support person asking what a generated reply was based on, the developer reopening a ticket because the agent changed a shared utility, the founder checking a dashboard at 10pm because nobody wrote down the stop condition.</p><p>that is also why more capable models will not automatically make this cheaper. a stronger model can create a larger, more convincing blob of work. if the product has no acceptance boundary, greater fluency can make the review job slower. the output looks finished earlier than it is.</p><p>there is a small product opportunity hiding in that gap. agent tools need to capture a task&#8217;s boundary as carefully as they capture a prompt. show the chosen files. show the test or customer outcome that was requested. preserve rejected changes, because a rejection tells the next run something a thumbs-up never can. let a team revise the shared instruction where the miss happened.</p><p>the dashboard does not need more model scores. it needs a line that says: this run touched these things, failed this check, and was sent back for this reason.</p><h2>what i would build before adding another model picker</h2><p>i would give every recurring agent workflow four plain fields:</p><ol><li><p>the outcome a person can verify</p></li><li><p>2. the boundary of what may change</p></li><li><p>3. the evidence required before handoff</p></li><li><p>4. the rejection reason, if the work comes back</p></li><li><p>the first three reduce re-reading. the last one is where the product begins to learn its own shape.</p></li><li><p>that is a more valuable primitive than a gallery of model names. a model picker helps on the day somebody is choosing a model. a readable task record helps on every day after, including the day the provider changes pricing, the team changes tools, or the original builder is on holiday.</p></li><li><p>the argument over pasted ai code can sound like a plea for slower work. it is really about fewer unpriced handoffs. the <code>agents.md</code> debate points in the same direction: durable context belongs with the work instead of inside a passing interaction with a model.</p></li><li><p>small products that make the boundary, evidence, and rejection visible will spend less time translating a fluent output back into a real decision. they will also have something worth keeping when the next coding agent arrives. that is the part of the workflow a model provider cannot ship for them.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[the agent feature that saves you money is a file nobody sees]]></title><description><![CDATA[the backlash to pasted ai code and the agents.md argument are really about one missing product surface: a shared definition of done]]></description><link>https://emmawilsonai.substack.com/p/the-agent-feature-that-saves-you</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-agent-feature-that-saves-you</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Thu, 20 Aug 2026 14:51:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lmFD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>331 points and 178 comments for a page titled &#8220;don&#8217;t paste the ai, please.&#8221;</p><p>that is a surprisingly useful number. the page is not selling a new model or a browser. it is making a very old complaint in a new setting: work gets expensive when somebody hands you an output without the reasoning, boundary, or responsibility that produced it.</p><p>for small ai products, pasted output is not a harmless user habit. it is often the first unpaid support ticket.</p><p>this morning i put aside a small support-workflow change after an agent&#8217;s diff added a helper across three files. the tests were green. i still could not tell which customer case the helper was meant to own, or what would happen when that case stopped matching. the code was cheap. reading it against the product was not.</p><p>the post that triggered the discussion is here:  . hacker news recorded 331 points and 178 comments when the item reached the front page:  . people are arguing about code review, naturally. i think the more consequential version of the problem sits one step earlier.</p><p>an ai product that only emits an answer has pushed its most important work onto the person receiving it. the recipient has to reconstruct intent, check the missing assumptions, decide whether the output belongs in the existing system, and own the mess if it does not. that can be fine for a one-off draft. it is a terrible default for work that keeps moving through a team.</p><h2>the missing feature is a definition of done</h2><p>pasting ai code feels fast because the visible act is fast. a few seconds, then a neat block appears in a pull request or a chat window. the hidden job starts after that.</p><p>someone needs to answer questions the paste cannot carry reliably:</p><ul><li><p>what user problem was this change supposed to solve?</p></li><li><p>which files and interfaces were deliberately left alone?</p></li><li><p>what test result would make the change safe enough to merge?</p></li><li><p>who notices if the agent did something plausible but wrong?</p></li></ul><p>those questions are product data. they are also the ingredients of a useful agent task. when they are absent, a builder ends up paying twice: once for generation and once for a human to rediscover the task from the generated artifact.</p><p>that is why &#8220;just review it&#8221; is too weak. review is the last checkpoint. it cannot cheaply recreate a constraint that was never written down.</p><p>the best agent experiences will start to look less like autocomplete and more like a tiny work order. before the model writes, the product should know the affected surface, the non-goals, the evidence it must collect, and the person who can accept or reject the result. a diff is then evidence, not the whole conversation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lmFD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lmFD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!lmFD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!lmFD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!lmFD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lmFD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:206096,&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://emmawilsonai.substack.com/i/212013782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.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_!lmFD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!lmFD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!lmFD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!lmFD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4f4fc3-b00f-4cd4-a5a6-0e2202b35905_1638x1024.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>the agents.md argument is really about portability</h2><p>the other signal arrived in a much less glamorous place: a feature request asking claude code to support <code>agents.md</code>. the issue says codex, amp, cursor, and other tools are converging on it as &#8220;a unified markdown file that coding agents can use to understand a codebase.&#8221; it was opened last august, and it surfaced on hacker news this week with 274 points and 172 comments.</p><p>source: </p><p>this is not exciting because another markdown filename might win. it is exciting because a team is trying to stop its accumulated judgment from being trapped inside one vendor&#8217;s prompt format.</p><p>an agent needs context. a product needs context that outlives the agent.</p><p>put the instructions only in a chat thread and they vanish into somebody&#8217;s history. put them only in one tool&#8217;s proprietary settings and every tool switch becomes an onboarding tax. put the durable parts in the repository, beside the code and tests, and a new human or a new agent can at least begin from the same 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_!ujZT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ujZT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.png 424w, https://substackcdn.com/image/fetch/$s_!ujZT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.png 848w, https://substackcdn.com/image/fetch/$s_!ujZT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.png 1272w, https://substackcdn.com/image/fetch/$s_!ujZT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ujZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.png" width="1374" height="859" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:859,&quot;width&quot;:1374,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49882,&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://emmawilsonai.substack.com/i/212013782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.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_!ujZT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.png 424w, https://substackcdn.com/image/fetch/$s_!ujZT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.png 848w, https://substackcdn.com/image/fetch/$s_!ujZT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.png 1272w, https://substackcdn.com/image/fetch/$s_!ujZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb176f19d-fdd3-4d0c-a43e-6f2cff5451d8_1374x859.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>there is a limit here. an <code>agents.md</code> file does not turn a vague request into a sound system. it can become another 900-line shrine that nobody reads. i have seen project instructions where the useful rule was buried below a long list of old commands. the agent followed the file beautifully and still made the wrong change because the file had become archaeology.</p><p>the useful version is shorter and more alive: where the app starts, what must never be edited casually, how to run the narrow test, what a good change leaves behind. it should point outward to the real sources of truth instead of pretending to contain the universe.</p><h2>a cheaper loop has fewer invisible handoffs</h2><p>for an indie maker, this changes a very practical calculation. the model bill is visible. the review bill usually is not.</p><p>suppose a support tool uses an agent to alter rules, draft replies, or wire up a small integration. the api invoice may be a few dollars. then comes thirty minutes of figuring out whether the answer understands the account state, which exception it ignored, and whether a customer will see the change. the software has created a handoff without naming it.</p><p>the metric to track is cost per accepted change. per-token pricing and completed-run counts leave out the weird little pauses: the support person asking what a generated reply was based on, the developer reopening a ticket because the agent changed a shared utility, the founder checking a dashboard at 10pm because nobody wrote down the stop condition.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wDBr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wDBr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.png 424w, https://substackcdn.com/image/fetch/$s_!wDBr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.png 848w, https://substackcdn.com/image/fetch/$s_!wDBr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.png 1272w, https://substackcdn.com/image/fetch/$s_!wDBr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wDBr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.png" width="1344" height="756" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:756,&quot;width&quot;:1344,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:73224,&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://emmawilsonai.substack.com/i/212013782?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.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_!wDBr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.png 424w, https://substackcdn.com/image/fetch/$s_!wDBr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.png 848w, https://substackcdn.com/image/fetch/$s_!wDBr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.png 1272w, https://substackcdn.com/image/fetch/$s_!wDBr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15180b7a-61f3-4e4b-979a-270c8abfc010_1344x756.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>that is also why more capable models will not automatically make this cheaper. a stronger model can create a larger, more convincing blob of work. if the product has no acceptance boundary, greater fluency can make the review job slower. the output looks finished earlier than it is.</p><p>there is a small product opportunity hiding in that gap. agent tools need to capture a task&#8217;s boundary as carefully as they capture a prompt. show the chosen files. show the test or customer outcome that was requested. preserve rejected changes, because a rejection tells the next run something a thumbs-up never can. let a team revise the shared instruction where the miss happened.</p><p>the dashboard does not need more model scores. it needs a line that says: this run touched these things, failed this check, and was sent back for this reason.</p><h2>what i would build before adding another model picker</h2><p>i would give every recurring agent workflow four plain fields:</p><ol><li><p>the outcome a person can verify</p></li><li><p>2. the boundary of what may change</p></li><li><p>3. the evidence required before handoff</p></li><li><p>4. the rejection reason, if the work comes back</p></li><li><p>the first three reduce re-reading. the last one is where the product begins to learn its own shape.</p></li><li><p>that is a more valuable primitive than a gallery of model names. a model picker helps on the day somebody is choosing a model. a readable task record helps on every day after, including the day the provider changes pricing, the team changes tools, or the original builder is on holiday.</p></li><li><p>the argument over pasted ai code can sound like a plea for slower work. it is really about fewer unpriced handoffs. the <code>agents.md</code> debate points in the same direction: durable context belongs with the work instead of inside a passing interaction with a model.</p></li><li><p>small products that make the boundary, evidence, and rejection visible will spend less time translating a fluent output back into a real decision. they will also have something worth keeping when the next coding agent arrives. that is the part of the workflow a model provider cannot ship for them.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[the agent instruction file is becoming a permissions bill]]></title><description><![CDATA[once an agent can act, the costly part of the product is the boundary around the action]]></description><link>https://emmawilsonai.substack.com/p/the-agent-instruction-file-is-becoming-685</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-agent-instruction-file-is-becoming-685</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Thu, 20 Aug 2026 14:17:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YJEf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;binance now lets ai agents trade, but keeping them in check is largely up to users.&#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_!YJEf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YJEf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!YJEf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!YJEf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!YJEf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YJEf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:965966,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212009362?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.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_!YJEf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!YJEf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!YJEf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!YJEf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b71c90f-08e4-4958-8f7a-a8ee54fb4ada_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>that is the line from today&#8217;s techcrunch report that matters. not the trading part. the phrase &#8220;up to users&#8221; is the product problem.</p><p>source: </p><p>this is not a piece about trading or what anybody should do with money. it is about a design change that becomes hard to ignore the minute an ai product can take a real action. send a message. edit a production setting. issue a refund. buy something. move a file where it should not go.</p><p>the model can be impressive and the interface can be calm. neither answers the awkward question: who defined the limit, and can they explain what happened after the limit was crossed?</p><h1>why should a small product team care?</h1><p>because the instruction file is quietly becoming part of the bill of materials.</p><p>the report says binance&#8217;s agent os works with tools including chatgpt, claude code, and cursor. that detail makes the story larger than one product. the model is increasingly a component that arrives with a general ability to reason and call tools. the differentiating work moves outward: which tools it sees, when it may use them, what it must show first, and what record remains when it is done.</p><p>an indie product often starts with a friendly sentence such as &#8220;you can update customer records when needed.&#8221; that is fine while the assistant only drafts a suggestion. once it can call the update endpoint, the sentence has become an operating rule. &#8220;when needed&#8221; now contains an unpriced decision. someone will have to review the edge cases, answer an angry customer, unwind a bad change, and explain it to the next person on support.</p><p>yesterday i was trimming a small release checklist that had collected the usual hopeful verbs: create, update, notify. it looked efficient until i wrote the reversals beside them. create a draft was easy. update a public setting needed a before-and-after view. notify a customer needed a human-selected audience. the checklist got longer, then the release got simpler. two actions disappeared because their undo path was too vague.</p><p>that is a useful bit of friction. it is also product work, not compliance theatre.</p><h1>what belongs around an action?</h1><p>i have started calling the minimum unit an action envelope. it is a small contract around one tool call. it has four parts:</p><ul><li><p>an allowed action with a narrow object and range</p></li><li><p>a preflight check against current data and policy</p></li><li><p>a visible receipt containing inputs, output, time, and actor</p></li><li><p>an undo path or an explicit statement that the action cannot be undone</p></li></ul><p>the design needs an action envelope.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N11z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N11z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!N11z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!N11z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!N11z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N11z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:195135,&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://emmawilsonai.substack.com/i/212009362?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!N11z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!N11z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!N11z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!N11z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24694acf-1bac-4b75-8eea-424a28e206a2_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>the envelope should live close to the feature. a policy page six clicks away does not help the person building a batch refund flow on a friday afternoon. code, product copy, and support tooling need to agree on the same boundary.</p><p>this is where the cost story gets more interesting. teams still estimate an agent feature by model calls, context length, and perhaps the cost of a search tool. those numbers matter. they miss the more stubborn expense: every broad permission creates a future exception queue. the agent does not need to fail often for that queue to be expensive. one poorly scoped action can turn a cheap automated task into a week of customer support and awkward data cleanup.</p><p>the counterintuitive move is to put a little more structure in front of the action, even when it makes the demo less magical. a confirmation screen is not always the answer. confirmation prompts become wallpaper quickly. a good envelope reduces the decision before the prompt appears. &#8220;update this one record and show the diff&#8221; gives a person something real to approve. &#8220;handle the account&#8221; gives them a riddle.</p><h1>why are instruction files suddenly part of this?</h1><p>the other small signal today came from a github feature request asking claude code to support agents.md: </p><p>on its face, that is a familiar developer request. people want a portable place to tell coding agents how a repository works. build commands, test commands, directories that must stay untouched. sensible stuff.</p><p>yet the request carries a second job now. instructions are no longer just context for better prose or tidier code. they increasingly describe the perimeter of an autonomous process. a file that says &#8220;never modify migrations&#8221; is a safety boundary. a file that says &#8220;run the test suite before opening a pull request&#8221; is a preflight check. a file that says &#8220;leave a summary of files changed&#8221; is the beginning of a receipt.</p><p>the current shape is incomplete. prose instructions are flexible, which is why developers like them. they are also a poor place to hide a permission system. &#8220;be careful with production&#8221; has no object, no scope, and no reversible action. it asks the model to infer the risk tolerance on every run. that works right up to the strange friday case nobody wrote down.</p><p>the answer is not a giant policy language that only platform teams can understand. small products need a few ordinary fields that their users can read:</p><p>| question | a weak instruction | an action envelope |</p><p>| &#8212;- | &#8212;- | &#8212;- |</p><p>| what may happen? | &#8220;clean up duplicates&#8221; | merge duplicate contacts within one workspace |</p><p>| what must be checked? | &#8220;be careful&#8221; | compare email, account id, and last activity |</p><p>| what will the user see? | &#8220;tell me if needed&#8221; | show a diff and the exact records affected |</p><p>| how does it end? | &#8220;fix it later&#8221; | restore the archived record for 30 days |</p><p>the table is deliberately boring. boring instructions survive the handoff from founder to support person. they also give an engineer a way to turn a fuzzy feature request into a testable contract.</p><p>that receipt is product infrastructure.</p><h1>does this slow the product down?</h1><p>in the first week, probably. a bounded action has more decisions than a button labelled &#8220;let the agent handle it.&#8221; then the speed returns in a better place. support has a record. a user has a clear expectation. the team can expand one boundary after watching it work instead of repairing a wide-open feature after it surprises someone.</p><p>there is a practical sequencing trick here. begin with actions whose failure is visible and cheap to reverse: prepare a draft, flag a conflict, assemble a change list, create a private preview. keep irreversible or externally consequential steps behind a narrower gate. that is not a claim that every product needs a human in every loop. a nightly reconciliation job may be safer than a human doing it tiredly. the point is that the evidence and rollback plan should match the consequence.</p><p>it also changes what to measure. count completed outcomes, yes. add a few less glamorous numbers: how often an action was cancelled before execution, how often it was rolled back, how long a reviewer spent resolving an exception, and how many support conversations needed the receipt. those are early signs that the boundary is either doing its job or quietly asking users to become your quality-assurance team.</p><p>the most useful agent products will make this feel almost invisible. people will see a clear proposal, an accurate diff, and a way back. the underlying policy will be precise enough that it does not need a dramatic warning label every time.</p><p>the binance story is a loud version of a problem arriving in much smaller products. the action may be a trade there and a calendar update somewhere else, but the design question is the same. every new tool call creates a promise about scope, evidence, and recovery. write that promise before celebrating the autonomous demo. it will shape the support cost, the trust you earn, and the features you can safely let the agent own next month.</p><p>sources</p><ul><li><p>techcrunch, &#8220;binance now lets ai agents trade, but keeping them in check is largely up to users&#8221;: https://techcrunch.com/2026/08/20/binance-now-lets-ai-agents-trade-but-keeping-them-in-check-is-largely-up-to-users/</p></li><li><p>github issue, &#8220;feature request: support agents.md&#8221;: https://github.com/anthropics/claude-code/issues/6235</p></li></ul>]]></content:encoded></item><item><title><![CDATA[the agent instruction file is becoming a permissions bill]]></title><description><![CDATA[once an agent can act, the costly part of the product is the boundary around the action]]></description><link>https://emmawilsonai.substack.com/p/the-agent-instruction-file-is-becoming</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-agent-instruction-file-is-becoming</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Thu, 20 Aug 2026 14:11:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NumF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;binance now lets ai agents trade, but keeping them in check is largely up to users.&#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_!NumF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NumF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!NumF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!NumF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!NumF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NumF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:143948,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212008578?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.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_!NumF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!NumF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!NumF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!NumF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdafedcc4-791a-4e17-a596-fb70e47e2951_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>that is the line from today&#8217;s techcrunch report that matters. not the trading part. the phrase &#8220;up to users&#8221; is the product problem.</p><p>source: </p><p>this is not a piece about trading or what anybody should do with money. it is about a design change that becomes hard to ignore the minute an ai product can take a real action. send a message. edit a production setting. issue a refund. buy something. move a file where it should not go.</p><p>the model can be impressive and the interface can be calm. neither answers the awkward question: who defined the limit, and can they explain what happened after the limit was crossed?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tb7Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tb7Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png 424w, https://substackcdn.com/image/fetch/$s_!Tb7Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png 848w, https://substackcdn.com/image/fetch/$s_!Tb7Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png 1272w, https://substackcdn.com/image/fetch/$s_!Tb7Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tb7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png" width="594" height="393" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:393,&quot;width&quot;:594,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:35683,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212008578?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.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_!Tb7Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png 424w, https://substackcdn.com/image/fetch/$s_!Tb7Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png 848w, https://substackcdn.com/image/fetch/$s_!Tb7Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png 1272w, https://substackcdn.com/image/fetch/$s_!Tb7Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d3d0fb6-4e22-4ac2-a694-50f467e8e40e_594x393.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h1>why should a small product team care?</h1><p>because the instruction file is quietly becoming part of the bill of materials.</p><p>the report says binance&#8217;s agent os works with tools including chatgpt, claude code, and cursor. that detail makes the story larger than one product. the model is increasingly a component that arrives with a general ability to reason and call tools. the differentiating work moves outward: which tools it sees, when it may use them, what it must show first, and what record remains when it is done.</p><p>an indie product often starts with a friendly sentence such as &#8220;you can update customer records when needed.&#8221; that is fine while the assistant only drafts a suggestion. once it can call the update endpoint, the sentence has become an operating rule. &#8220;when needed&#8221; now contains an unpriced decision. someone will have to review the edge cases, answer an angry customer, unwind a bad change, and explain it to the next person on support.</p><p>yesterday i was trimming a small release checklist that had collected the usual hopeful verbs: create, update, notify. it looked efficient until i wrote the reversals beside them. create a draft was easy. update a public setting needed a before-and-after view. notify a customer needed a human-selected audience. the checklist got longer, then the release got simpler. two actions disappeared because their undo path was too vague.</p><p>that is a useful bit of friction. it is also product work, not compliance theatre.</p><h1>what belongs around an action?</h1><p>i have started calling the minimum unit an action envelope. it is a small contract around one tool call. it has four parts:</p><ul><li><p>an allowed action with a narrow object and range</p></li><li><p>a preflight check against current data and policy</p></li><li><p>a visible receipt containing inputs, output, time, and actor</p></li><li><p>an undo path or an explicit statement that the action cannot be undone</p></li></ul><p>the design needs an action envelope.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SnO2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SnO2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.png 424w, https://substackcdn.com/image/fetch/$s_!SnO2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.png 848w, https://substackcdn.com/image/fetch/$s_!SnO2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!SnO2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SnO2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:87769,&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://emmawilsonai.substack.com/i/212008578?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.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_!SnO2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.png 424w, https://substackcdn.com/image/fetch/$s_!SnO2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.png 848w, https://substackcdn.com/image/fetch/$s_!SnO2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.png 1272w, https://substackcdn.com/image/fetch/$s_!SnO2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9546c4d8-ca3e-4b66-aa97-32c4d558a91e_2400x1500.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>the envelope should live close to the feature. a policy page six clicks away does not help the person building a batch refund flow on a friday afternoon. code, product copy, and support tooling need to agree on the same boundary.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!byyF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!byyF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!byyF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!byyF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!byyF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!byyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:224810,&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://emmawilsonai.substack.com/i/212008578?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.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_!byyF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!byyF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!byyF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!byyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe31ba20-cd50-40cd-8d45-9a5699f359f4_1638x1024.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>this is where the cost story gets more interesting. teams still estimate an agent feature by model calls, context length, and perhaps the cost of a search tool. those numbers matter. they miss the more stubborn expense: every broad permission creates a future exception queue. the agent does not need to fail often for that queue to be expensive. one poorly scoped action can turn a cheap automated task into a week of customer support and awkward data cleanup.</p><p>the counterintuitive move is to put a little more structure in front of the action, even when it makes the demo less magical. a confirmation screen is not always the answer. confirmation prompts become wallpaper quickly. a good envelope reduces the decision before the prompt appears. &#8220;update this one record and show the diff&#8221; gives a person something real to approve. &#8220;handle the account&#8221; gives them a riddle.</p><h1>why are instruction files suddenly part of this?</h1><p>the other small signal today came from a github feature request asking claude code to support agents.md: </p><p>on its face, that is a familiar developer request. people want a portable place to tell coding agents how a repository works. build commands, test commands, directories that must stay untouched. sensible stuff.</p><p>yet the request carries a second job now. instructions are no longer just context for better prose or tidier code. they increasingly describe the perimeter of an autonomous process. a file that says &#8220;never modify migrations&#8221; is a safety boundary. a file that says &#8220;run the test suite before opening a pull request&#8221; is a preflight check. a file that says &#8220;leave a summary of files changed&#8221; is the beginning of a receipt.</p><p>the current shape is incomplete. prose instructions are flexible, which is why developers like them. they are also a poor place to hide a permission system. &#8220;be careful with production&#8221; has no object, no scope, and no reversible action. it asks the model to infer the risk tolerance on every run. that works right up to the strange friday case nobody wrote down.</p><p>the answer is not a giant policy language that only platform teams can understand. small products need a few ordinary fields that their users can read:</p><p>| question | a weak instruction | an action envelope |</p><p>| &#8212;- | &#8212;- | &#8212;- |</p><p>| what may happen? | &#8220;clean up duplicates&#8221; | merge duplicate contacts within one workspace |</p><p>| what must be checked? | &#8220;be careful&#8221; | compare email, account id, and last activity |</p><p>| what will the user see? | &#8220;tell me if needed&#8221; | show a diff and the exact records affected |</p><p>| how does it end? | &#8220;fix it later&#8221; | restore the archived record for 30 days |</p><p>the table is deliberately boring. boring instructions survive the handoff from founder to support person. they also give an engineer a way to turn a fuzzy feature request into a testable contract.</p><p>that receipt is product infrastructure.</p><h1>does this slow the product down?</h1><p>in the first week, probably. a bounded action has more decisions than a button labelled &#8220;let the agent handle it.&#8221; then the speed returns in a better place. support has a record. a user has a clear expectation. the team can expand one boundary after watching it work instead of repairing a wide-open feature after it surprises someone.</p><p>there is a practical sequencing trick here. begin with actions whose failure is visible and cheap to reverse: prepare a draft, flag a conflict, assemble a change list, create a private preview. keep irreversible or externally consequential steps behind a narrower gate. that is not a claim that every product needs a human in every loop. a nightly reconciliation job may be safer than a human doing it tiredly. the point is that the evidence and rollback plan should match the consequence.</p><p>it also changes what to measure. count completed outcomes, yes. add a few less glamorous numbers: how often an action was cancelled before execution, how often it was rolled back, how long a reviewer spent resolving an exception, and how many support conversations needed the receipt. those are early signs that the boundary is either doing its job or quietly asking users to become your quality-assurance team.</p><p>the most useful agent products will make this feel almost invisible. people will see a clear proposal, an accurate diff, and a way back. the underlying policy will be precise enough that it does not need a dramatic warning label every 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_!Qnz-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Qnz-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Qnz-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Qnz-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Qnz-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Qnz-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:199053,&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://emmawilsonai.substack.com/i/212008578?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.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_!Qnz-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Qnz-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Qnz-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Qnz-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15b5fdbc-d9c5-402c-942e-003e237b74a2_1638x1024.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>the binance story is a loud version of a problem arriving in much smaller products. the action may be a trade there and a calendar update somewhere else, but the design question is the same. every new tool call creates a promise about scope, evidence, and recovery. write that promise before celebrating the autonomous demo. it will shape the support cost, the trust you earn, and the features you can safely let the agent own next month.</p><p>sources</p><ul><li><p>techcrunch, &#8220;binance now lets ai agents trade, but keeping them in check is largely up to users&#8221;: https://techcrunch.com/2026/08/20/binance-now-lets-ai-agents-trade-but-keeping-them-in-check-is-largely-up-to-users/</p></li><li><p>github issue, &#8220;feature request: support agents.md&#8221;: https://github.com/anthropics/claude-code/issues/6235</p></li></ul>]]></content:encoded></item><item><title><![CDATA[the $6,200 ai bug is sitting outside your model bill]]></title><description><![CDATA[stripe's openrouter deal and calendly's callie show where indie products now need to spend their attention.]]></description><link>https://emmawilsonai.substack.com/p/the-6200-ai-bug-is-sitting-outside-5b3</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-6200-ai-bug-is-sitting-outside-5b3</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Thu, 20 Aug 2026 13:22:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Slj0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>the kettle clicked off before the first reply did. i had a small admin task open on my laptop, one that should have taken five minutes: confirm a time, send a short follow-up, update the project board. the draft was fine. the awkward bit was deciding whether the system should actually send 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_!Slj0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Slj0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!Slj0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!Slj0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!Slj0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Slj0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:623621,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212002221?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.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_!Slj0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!Slj0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!Slj0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!Slj0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb4d7aa8-ee9a-49a7-a573-23b2ddd30d17_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>that hesitation is becoming the real product work.</p><p>for an indie maker, adding capable ai is getting absurdly easy. routing, accounts, credentials, a menu of models, even a bill can now arrive in the same little setup flow. the harder question is quieter: what happens when the agent sees an odd request, a stale customer record, or a calendar rule that almost fits? somebody has to have designed the stop sign.</p><p>stripe&#8217;s pending deal to bring openrouter into the company makes that shift unusually visible. openrouter says it processes more than 10 trillion tokens a day across 400+ models for over 10 million developers and companies. it also says integrations will remain unchanged while the transaction closes. that scale matters less as a bragging right than as evidence that model access has become infrastructure. <a href="https://openrouter.ai/blog/announcements/openrouter-is-joining-stripe/">openrouter&#8217;s announcement is here</a>.</p><p>the model used to be the thing an ai product sold. increasingly, the product is the set of decisions around it: whose data reaches it, what it may change, where a human has to look, and how a mistake gets found before it becomes a support thread.</p><h2>the easy part is now genuinely easy</h2><p>openrouter already had a stripe projects integration before this deal. one command can provision an account, create an api key, connect billing, and write the credentials into a local <code>.env</code> file. the service offers free and pay-as-you-go access to more than 400 models through one endpoint. <a href="https://openrouter.ai/docs/guides/overview/stripe-projects">the setup is documented here</a>.</p><p>that is good news. it removes a week of fiddly setup from a small product. it also changes where differentiation can live. a competitor can reach the same model catalogue before lunch. a model switch that once felt like an architecture project can be a configuration change.</p><p>this is why &#8220;we use the best model&#8221; is a weak moat for most small software businesses. the claim may still be true this morning, and then a new model, provider, price cut, or router default moves the floor. customers stay for a workflow that remembers their constraints and behaves sensibly on a bad tuesday.</p><p>there is a slightly boring analogy here. payment products were never difficult because a card number could not be sent to a bank. the hard parts were retries, disputes, fraud, tax, permissions, receipts, and explaining a charge six weeks later. ai products are collecting their equivalent list. it is longer than most launch pages admit.</p><h2>the $6,200 clue</h2><p>two days before the stripe announcement, openrouter published a usage dashboard aimed at this exact operational gap. it tracks spend by agent, model, request, app, key, workspace, provider, and data region. it also links a chart back to the requests behind it, including routing, cache savings, latency, tool activity, and guardrail events. <a href="https://openrouter.ai/blog/announcements/activity-dashboard/">the product post is worth reading</a>.</p><p>the useful detail was an internal example: a preview model was consuming about $6,200 a month, roughly 25 times the organisation&#8217;s blended cost per million tokens. openrouter traced 98% of that spend to one batch-pipeline key using a frontier model for work that did not need one. the repair was a one-line model change.</p><p>that is not a story about an expensive model. it is a story about an unowned exception.</p><p>someone gave a pipeline a powerful default. nobody had a view that made the mismatch obvious. the bill created the alert. an indie maker may never hit $6,200 a month, but the smaller version arrives early: a search tool gets called four times per chat, a retry loop keeps running after the user has left, an agent sends a second email because an old webhook arrived late. each case looks harmless in isolation. together they make the product feel careless.</p><p>the meter is only one kind of exception. trust is the other one, and it costs more to repair.</p><h2>calendly is selling the approval boundary</h2><p>calendly&#8217;s updated ai material offers a useful contrast. its callie assistant can read an email thread, check availability, suggest times, prepare meeting context, and handle calendar coordination. it is in beta for selected users. that is a broad enough action surface to create real value, especially for a one-person business trying to avoid another scheduling loop. <a href="https://calendly.com/help/callie-ai-assistant-overview">calendly&#8217;s overview is here</a>.</p><p>the important product choice is easy to miss. calendly says users must approve every change, and that callie will not schedule outside the availability settings. it also says the assistant only reads the calendly data and email-thread information needed to perform the request. <a href="https://calendly.com/help/ai-at-calendly">its current ai and data guidance spells out the limits</a>.</p><p>those rules are not a footnote for legal review. they are part of the feature. a scheduling agent with no boundary creates a small social risk every time it writes on someone&#8217;s behalf. an approval step adds friction, yet it gives the user a clean mental model: the assistant can prepare the work; the person owns the commitment.</p><p>last night i caught myself treating that boundary as a detail while sketching a follow-up flow. the happy path looked elegant. the less elegant questions were the useful ones: what if the contact changed companies, what if the calendar is private, what if the proposed time crosses a buffer i only use on busy weeks? the answer was not more prompt wording. it was a place to pause.</p><h2>give every action a small constitution</h2><p>the practical move is to write action rules before adding more models. keep them close to the feature, not in a policy document nobody opens.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ls-t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ls-t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ls-t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ls-t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ls-t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ls-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:199399,&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://emmawilsonai.substack.com/i/212002221?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ls-t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ls-t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ls-t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ls-t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a05ce80-38ce-4e80-9a14-05e4398b8cec_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><ol><li><p>separate drafting from committing. an agent can prepare an email, a booking option, or a refund explanation without being able to send, schedule, or refund.</p></li><li><p>2. name the approval trigger. use concrete conditions such as a new recipient, a price above a set amount, a meeting outside normal hours, or a record older than 30 days. &#8220;ask when uncertain&#8221; is not a rule an engineer can test.</p></li><li><p>3. record the exception with the request id, source data, chosen model, tool calls, and final action. keep enough detail to answer a customer&#8217;s question without turning every interaction into surveillance.</p></li><li><p>4. give each automation an owner and an expiry date. permissions that made sense during a launch tend to survive into a different product six months later.</p></li><li><p>this is not heavy enterprise theatre. it is often a few database fields, a confirmation screen, a daily spending alert, and a log that a tired founder can read. the point is to make the safe route the default before a support issue does the design work for you.</p></li><li><p>openrouter joining stripe is a bet that the model layer will sit beside the money layer for a lot of internet businesses. calendly&#8217;s callie points to the other half of the stack: agents are moving from answering questions to carrying out small commitments. those two moves make operational controls a feature, not a back-office chore. the indie products that earn trust will be the ones that make their boundaries visible, keep their exceptions cheap, and leave a clear record when the system does something surprising.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[the $6,200 ai bug is sitting outside your model bill]]></title><description><![CDATA[stripe's openrouter deal and calendly's callie show where indie products now need to spend their attention.]]></description><link>https://emmawilsonai.substack.com/p/the-6200-ai-bug-is-sitting-outside</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/the-6200-ai-bug-is-sitting-outside</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Thu, 20 Aug 2026 13:13:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MQ0D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>the kettle clicked off before the first reply did. i had a small admin task open on my laptop, one that should have taken five minutes: confirm a time, send a short follow-up, update the project board. the draft was fine. the awkward bit was deciding whether the system should actually send 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_!MQ0D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MQ0D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!MQ0D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!MQ0D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!MQ0D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MQ0D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100954,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/212001135?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.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_!MQ0D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!MQ0D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!MQ0D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!MQ0D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109e30a2-4a06-4ba6-ac63-8889d5e7a533_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>that hesitation is becoming the real product work.</p><p>for an indie maker, adding capable ai is getting absurdly easy. routing, accounts, credentials, a menu of models, even a bill can now arrive in the same little setup flow. the harder question is quieter: what happens when the agent sees an odd request, a stale customer record, or a calendar rule that almost fits? somebody has to have designed the stop sign.</p><p>stripe&#8217;s pending deal to bring openrouter into the company makes that shift unusually visible. openrouter says it processes more than 10 trillion tokens a day across 400+ models for over 10 million developers and companies. it also says integrations will remain unchanged while the transaction closes. that scale matters less as a bragging right than as evidence that model access has become infrastructure. [openrouter&#8217;s announcement is here]().</p><p>the model used to be the thing an ai product sold. increasingly, the product is the set of decisions around it: whose data reaches it, what it may change, where a human has to look, and how a mistake gets found before it becomes a support thread.</p><h2>the easy part is now genuinely easy</h2><p>openrouter already had a stripe projects integration before this deal. one command can provision an account, create an api key, connect billing, and write the credentials into a local <code>.env</code> file. the service offers free and pay-as-you-go access to more than 400 models through one endpoint. [the setup is documented here]().</p><p>that is good news. it removes a week of fiddly setup from a small product. it also changes where differentiation can live. a competitor can reach the same model catalogue before lunch. a model switch that once felt like an architecture project can be a configuration change.</p><p>this is why &#8220;we use the best model&#8221; is a weak moat for most small software businesses. the claim may still be true this morning, and then a new model, provider, price cut, or router default moves the floor. customers stay for a workflow that remembers their constraints and behaves sensibly on a bad tuesday.</p><p>there is a slightly boring analogy here. payment products were never difficult because a card number could not be sent to a bank. the hard parts were retries, disputes, fraud, tax, permissions, receipts, and explaining a charge six weeks later. ai products are collecting their equivalent list. it is longer than most launch pages admit.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w3Wr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w3Wr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!w3Wr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!w3Wr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!w3Wr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w3Wr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:278512,&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://emmawilsonai.substack.com/i/212001135?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.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_!w3Wr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!w3Wr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!w3Wr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!w3Wr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00686691-c9b6-46d8-bd64-5f3891b782a1_1638x1024.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>the $6,200 clue</h2><p>two days before the stripe announcement, openrouter published a usage dashboard aimed at this exact operational gap. it tracks spend by agent, model, request, app, key, workspace, provider, and data region. it also links a chart back to the requests behind it, including routing, cache savings, latency, tool activity, and guardrail events. [the product post is worth reading]().</p><p>the useful detail was an internal example: a preview model was consuming about $6,200 a month, roughly 25 times the organisation&#8217;s blended cost per million tokens. openrouter traced 98% of that spend to one batch-pipeline key using a frontier model for work that did not need one. the repair was a one-line model change.</p><p>that is not a story about an expensive model. it is a story about an unowned exception.</p><p>someone gave a pipeline a powerful default. nobody had a view that made the mismatch obvious. the bill created the alert. an indie maker may never hit $6,200 a month, but the smaller version arrives early: a search tool gets called four times per chat, a retry loop keeps running after the user has left, an agent sends a second email because an old webhook arrived late. each case looks harmless in isolation. together they make the product feel careless.</p><p>the meter is only one kind of exception. trust is the other one, and it costs more to repair.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dtyq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dtyq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.png 424w, https://substackcdn.com/image/fetch/$s_!dtyq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.png 848w, https://substackcdn.com/image/fetch/$s_!dtyq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.png 1272w, https://substackcdn.com/image/fetch/$s_!dtyq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dtyq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:73660,&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://emmawilsonai.substack.com/i/212001135?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.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_!dtyq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.png 424w, https://substackcdn.com/image/fetch/$s_!dtyq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.png 848w, https://substackcdn.com/image/fetch/$s_!dtyq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.png 1272w, https://substackcdn.com/image/fetch/$s_!dtyq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b353533-d040-46cd-b8c6-8ddd5b78a775_1798x1124.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>calendly is selling the approval boundary</h2><p>calendly&#8217;s updated ai material offers a useful contrast. its callie assistant can read an email thread, check availability, suggest times, prepare meeting context, and handle calendar coordination. it is in beta for selected users. that is a broad enough action surface to create real value, especially for a one-person business trying to avoid another scheduling loop. [calendly&#8217;s overview is here]().</p><p>the important product choice is easy to miss. calendly says users must approve every change, and that callie will not schedule outside the availability settings. it also says the assistant only reads the calendly data and email-thread information needed to perform the request. [its current ai and data guidance spells out the limits]().</p><p>those rules are not a footnote for legal review. they are part of the feature. a scheduling agent with no boundary creates a small social risk every time it writes on someone&#8217;s behalf. an approval step adds friction, yet it gives the user a clean mental model: the assistant can prepare the work; the person owns the commitment.</p><p>last night i caught myself treating that boundary as a detail while sketching a follow-up flow. the happy path looked elegant. the less elegant questions were the useful ones: what if the contact changed companies, what if the calendar is private, what if the proposed time crosses a buffer i only use on busy weeks? the answer was not more prompt wording. it was a place to pause.</p><h2>give every action a small constitution</h2><p>the practical move is to write action rules before adding more models. keep them close to the feature, not in a policy document nobody opens.</p><ol><li><p>separate drafting from committing. an agent can prepare an email, a booking option, or a refund explanation without being able to send, schedule, or refund.</p></li><li><p>2. name the approval trigger. use concrete conditions such as a new recipient, a price above a set amount, a meeting outside normal hours, or a record older than 30 days. &#8220;ask when uncertain&#8221; is not a rule an engineer can test.</p></li><li><p>3. record the exception with the request id, source data, chosen model, tool calls, and final action. keep enough detail to answer a customer&#8217;s question without turning every interaction into surveillance.</p></li><li><p>4. give each automation an owner and an expiry date. permissions that made sense during a launch tend to survive into a different product six months later.</p></li><li><p>this is not heavy enterprise theatre. it is often a few database fields, a confirmation screen, a daily spending alert, and a log that a tired founder can read. the point is to make the safe route the default before a support issue does the design work for you.</p></li><li><p>openrouter joining stripe is a bet that the model layer will sit beside the money layer for a lot of internet businesses. calendly&#8217;s callie points to the other half of the stack: agents are moving from answering questions to carrying out small commitments. those two moves make operational controls a feature, not a back-office chore. the indie products that earn trust will be the ones that make their boundaries visible, keep their exceptions cheap, and leave a clear record when the system does something surprising.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[chatgpt ads in 31 countries: the product metric to build before you buy]]></title><description><![CDATA[europe is getting chatgpt ads. for small products, the first job is measuring an answer-shaped customer journey.]]></description><link>https://emmawilsonai.substack.com/p/chatgpt-ads-in-31-countries-the-product-6a3</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/chatgpt-ads-in-31-countries-the-product-6a3</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Wed, 19 Aug 2026 14:53:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!S2RJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>chatgpt ads are arriving in 31 european countries, and the useful response for an indie maker is to build measurement before buying a placement.</p><p>that sounds backward. ads usually arrive, someone tests a small budget, and the spreadsheet comes later. here, the spreadsheet is the product decision. chatgpt is being positioned for people who are comparing options with constraints already in hand. by the time a person sees an ad, a lot of the old funnel has happened inside a conversation you cannot inspect.</p><p>on august 18, openai said chatgpt ads would expand to 31 european markets the following week. the announcement says ads will initially be available through its ads solutions team, agencies, and technology partners, with self-serve ads manager access due later in the summer. it also says the platform has moved beyond cpm and cpc bidding to conversion optimisation, and now offers an openai pixel, conversions api, and third-party measurement integrations.</p><p>source: </p><p>the 31-country number is the headline. the quiet bit is the measurement stack. it tells me openai does not expect this to behave like a strange little display network. it wants advertisers to treat chatgpt as part of a purchase path.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S2RJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S2RJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!S2RJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!S2RJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!S2RJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S2RJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:729717,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/211868973?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.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_!S2RJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!S2RJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!S2RJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!S2RJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ee6299f-0521-4b1e-b53f-b1ea54794cc4_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>the click is arriving too late</h2><p>most small software teams still have a clean mental model of acquisition. someone searches. they land on a page. they start a trial. analytics assigns a source. perhaps the chain is messy, but at least it is a chain.</p><p>conversation changes the order. a buyer can spend ten minutes explaining that they need a booking tool for a five-person studio, must export invoices to xero, cannot add another admin, and have a hard monthly cap. they may ask for alternatives, reject two, then click one result. a click tracker sees the final movement. it does not see the brief that made the click valuable.</p><p>openai says conversations stay private from advertisers, ads are labelled and separate from answers, and ads do not influence the answers. those are necessary boundaries. they also mean that an advertiser will not get the familiar keyword report explaining why it won. the signal available to a small business is farther downstream: conversion, retention, refund rate, support burden, and perhaps a survey answer that says &#8220;i first heard about you in chatgpt.&#8221;</p><p>that is not a reason to distrust the channel. it is a reason to stop treating last-click attribution as the decision-maker. a neat dashboard can still be confidently wrong.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gOTi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gOTi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!gOTi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!gOTi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!gOTi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gOTi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136379,&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://emmawilsonai.substack.com/i/211868973?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gOTi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!gOTi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!gOTi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!gOTi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15a3f501-dcf9-4f7b-af44-43bab9bef7c4_1024x1024.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>build an answer-ready product page first</h2><p>the first practical move is boring: make the product legible when a person arrives with a fully formed need.</p><p>last week i was checking the pricing page for a tiny maker tool and noticed that its headline explained the category but not the buying decision. the limits were hidden in a help article. cancellation terms lived in a footer link. the integration list was a logo wall. a human could eventually assemble the facts. a person who had just compared three tools in chatgpt had every reason to leave.</p><p>that page needed fewer adjectives and more answers. who is the product for? what does it cost after the trial? what happens at the usage limit? which systems does it actually connect to? where is the export button? there is no clever growth tactic in that list. it is product documentation with the front door left open.</p><p>this matters even if you never buy a chatgpt ad. people increasingly arrive after an assistant has compressed the comparison stage. their first visit is closer to a shortlist review than a first encounter. vague positioning has less time to recover.</p><p>the old conversion rate remains useful, but it becomes a blunt instrument. split the page data by the questions a buyer was likely trying to settle: price, compatibility, setup time, control, and exit costs. your analytics cannot read the conversation. your page can make the missing facts easy to find.</p><h2>count the decisions you can actually verify</h2><p>openai&#8217;s choice to add conversion optimisation, a pixel, a conversions api, and third-party measurement is a clue about the coming market. the bid will increasingly be optimised against an event you send back. that is powerful only if the event describes a real business outcome.</p><p>do not start with &#8220;signup&#8221; if your product collects curiosity signups all day. a stronger event might be &#8220;first project shared with a teammate&#8221; or &#8220;invoice exported after day seven.&#8221; for a local service it could be a completed booking that survives the cancellation window. these are slower signals, which is inconvenient. they are also closer to revenue.</p><p>the compact version of the measurement plan looks like this:</p><ul><li><p>record the first meaningful action, not just the account creation</p></li><li><p>send the same event from the server where possible, so browser blocking does not erase half the evidence</p></li><li><p>keep a small manual field in onboarding for how the customer found you</p></li><li><p>review 30- and 60-day retention before declaring an acquisition channel good</p></li></ul><p>one awkward detail: a new channel can make your attribution look worse before it makes it better. people may discover a product in chatgpt, return through a branded search a week later, and convert from an email reminder. if the only question is &#8220;did chatgpt get the last click?&#8221; the answer will often be no. that does not settle whether it made the sale possible.</p><h2>the first winners may be the least ad-like products</h2><p>there is a popular assumption that chatgpt ads will favour the teams with the slickest creative and the biggest budgets. they may win plenty of auctions. but the first durable advantage could sit with products that can survive a demanding comparison.</p><p>an ad beside a conversation about accounting software is an invitation into scrutiny. the buyer has already named constraints. the next question is likely to be specific and annoying: does it handle partial payments, does it work in new zealand, can i leave with my data, what will this cost at 2,000 customers? marketing pages built to impress tend to stumble there. plain product facts travel further.</p><p>that creates a slightly different spend order for a small team. first, fix the pricing and integration evidence. second, choose one meaningful activation event. third, create a modest holdout or at least a before-and-after baseline. only then does paid placement become an experiment rather than a new source of anecdotes.</p><p>openai says tens of thousands of marketers have already advertised on chatgpt after six months of testing in the united states and eight additional markets. europe is the largest expansion so far. the channel will become noisier quickly, especially once self-serve access opens. that is exactly why rushing to be early is less valuable than knowing what an early customer is worth.</p><p>the near-term prediction is that chatgpt ad reporting will make marketers more fluent in conversion events and less certain about discovery. the better products will respond by connecting ad data to activation, retention, and support outcomes. weaker products will buy clicks into pages that still make visitors hunt for basic facts.</p><p>for indie makers, the opportunity is not merely another paid channel. it is a forced audit of whether the product can answer a serious buyer in one visit. build that evidence trail now. when chatgpt puts your product in front of someone who has already done the comparison, you will have something better than a cheap click to measure.</p>]]></content:encoded></item><item><title><![CDATA[chatgpt ads in 31 countries: the product metric to build before you buy]]></title><description><![CDATA[europe is getting chatgpt ads. for small products, the first job is measuring an answer-shaped customer journey.]]></description><link>https://emmawilsonai.substack.com/p/chatgpt-ads-in-31-countries-the-product</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/chatgpt-ads-in-31-countries-the-product</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Wed, 19 Aug 2026 14:47:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bBuZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>chatgpt ads are arriving in 31 european countries, and the useful response for an indie maker is to build measurement before buying a placement.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bBuZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bBuZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!bBuZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!bBuZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!bBuZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bBuZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/31949537-2099-475b-a385-73963ec16b84_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:142129,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/211868207?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.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_!bBuZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!bBuZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!bBuZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!bBuZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31949537-2099-475b-a385-73963ec16b84_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>that sounds backward. ads usually arrive, someone tests a small budget, and the spreadsheet comes later. here, the spreadsheet is the product decision. chatgpt is being positioned for people who are comparing options with constraints already in hand. by the time a person sees an ad, a lot of the old funnel has happened inside a conversation you cannot inspect.</p><p>on august 18, openai said chatgpt ads would expand to 31 european markets the following week. the announcement says ads will initially be available through its ads solutions team, agencies, and technology partners, with self-serve ads manager access due later in the summer. it also says the platform has moved beyond cpm and cpc bidding to conversion optimisation, and now offers an openai pixel, conversions api, and third-party measurement integrations.</p><p>source: </p><p>the 31-country number is the headline. the quiet bit is the measurement stack. it tells me openai does not expect this to behave like a strange little display network. it wants advertisers to treat chatgpt as part of a purchase path.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KTk5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KTk5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!KTk5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!KTk5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!KTk5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KTk5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0045aea-07fd-40be-b517-5f8299a46ec3_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;:77476,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/211868207?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.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_!KTk5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!KTk5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!KTk5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!KTk5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0045aea-07fd-40be-b517-5f8299a46ec3_1600x900.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>the click is arriving too late</h2><p>most small software teams still have a clean mental model of acquisition. someone searches. they land on a page. they start a trial. analytics assigns a source. perhaps the chain is messy, but at least it is a chain.</p><p>conversation changes the order. a buyer can spend ten minutes explaining that they need a booking tool for a five-person studio, must export invoices to xero, cannot add another admin, and have a hard monthly cap. they may ask for alternatives, reject two, then click one result. a click tracker sees the final movement. it does not see the brief that made the click valuable.</p><p>openai says conversations stay private from advertisers, ads are labelled and separate from answers, and ads do not influence the answers. those are necessary boundaries. they also mean that an advertiser will not get the familiar keyword report explaining why it won. the signal available to a small business is farther downstream: conversion, retention, refund rate, support burden, and perhaps a survey answer that says &#8220;i first heard about you in chatgpt.&#8221;</p><p>that is not a reason to distrust the channel. it is a reason to stop treating last-click attribution as the decision-maker. a neat dashboard can still be confidently wrong.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!24TV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!24TV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.png 424w, https://substackcdn.com/image/fetch/$s_!24TV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.png 848w, https://substackcdn.com/image/fetch/$s_!24TV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.png 1272w, https://substackcdn.com/image/fetch/$s_!24TV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!24TV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.png" width="1438" height="899" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:899,&quot;width&quot;:1438,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51325,&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://emmawilsonai.substack.com/i/211868207?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.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_!24TV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.png 424w, https://substackcdn.com/image/fetch/$s_!24TV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.png 848w, https://substackcdn.com/image/fetch/$s_!24TV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.png 1272w, https://substackcdn.com/image/fetch/$s_!24TV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd75b1e8-fb9c-4287-9d7e-aef631e6e6dc_1438x899.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>build an answer-ready product page first</h2><p>the first practical move is boring: make the product legible when a person arrives with a fully formed need.</p><p>last week i was checking the pricing page for a tiny maker tool and noticed that its headline explained the category but not the buying decision. the limits were hidden in a help article. cancellation terms lived in a footer link. the integration list was a logo wall. a human could eventually assemble the facts. a person who had just compared three tools in chatgpt had every reason to leave.</p><p>that page needed fewer adjectives and more answers. who is the product for? what does it cost after the trial? what happens at the usage limit? which systems does it actually connect to? where is the export button? there is no clever growth tactic in that list. it is product documentation with the front door left open.</p><p>this matters even if you never buy a chatgpt ad. people increasingly arrive after an assistant has compressed the comparison stage. their first visit is closer to a shortlist review than a first encounter. vague positioning has less time to recover.</p><p>the old conversion rate remains useful, but it becomes a blunt instrument. split the page data by the questions a buyer was likely trying to settle: price, compatibility, setup time, control, and exit costs. your analytics cannot read the conversation. your page can make the missing facts easy to find.</p><h2>count the decisions you can actually verify</h2><p>openai&#8217;s choice to add conversion optimisation, a pixel, a conversions api, and third-party measurement is a clue about the coming market. the bid will increasingly be optimised against an event you send back. that is powerful only if the event describes a real business outcome.</p><p>do not start with &#8220;signup&#8221; if your product collects curiosity signups all day. a stronger event might be &#8220;first project shared with a teammate&#8221; or &#8220;invoice exported after day seven.&#8221; for a local service it could be a completed booking that survives the cancellation window. these are slower signals, which is inconvenient. they are also closer to revenue.</p><p>the compact version of the measurement plan looks 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_!vqV1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vqV1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!vqV1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!vqV1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!vqV1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vqV1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:194638,&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://emmawilsonai.substack.com/i/211868207?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.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_!vqV1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!vqV1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!vqV1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!vqV1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b2ffe3c-3fed-44b7-b83b-7f0fa31ab93e_1638x1024.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><ul><li><p>record the first meaningful action, not just the account creation</p></li><li><p>send the same event from the server where possible, so browser blocking does not erase half the evidence</p></li><li><p>keep a small manual field in onboarding for how the customer found you</p></li><li><p>review 30- and 60-day retention before declaring an acquisition channel good</p></li></ul><p>one awkward detail: a new channel can make your attribution look worse before it makes it better. people may discover a product in chatgpt, return through a branded search a week later, and convert from an email reminder. if the only question is &#8220;did chatgpt get the last click?&#8221; the answer will often be no. that does not settle whether it made the sale possible.</p><h2>the first winners may be the least ad-like products</h2><p>there is a popular assumption that chatgpt ads will favour the teams with the slickest creative and the biggest budgets. they may win plenty of auctions. but the first durable advantage could sit with products that can survive a demanding comparison.</p><p>an ad beside a conversation about accounting software is an invitation into scrutiny. the buyer has already named constraints. the next question is likely to be specific and annoying: does it handle partial payments, does it work in new zealand, can i leave with my data, what will this cost at 2,000 customers? marketing pages built to impress tend to stumble there. plain product facts travel further.</p><p>that creates a slightly different spend order for a small team. first, fix the pricing and integration evidence. second, choose one meaningful activation event. third, create a modest holdout or at least a before-and-after baseline. only then does paid placement become an experiment rather than a new source of anecdotes.</p><p>openai says tens of thousands of marketers have already advertised on chatgpt after six months of testing in the united states and eight additional markets. europe is the largest expansion so far. the channel will become noisier quickly, especially once self-serve access opens. that is exactly why rushing to be early is less valuable than knowing what an early customer is worth.</p><p>the near-term prediction is that chatgpt ad reporting will make marketers more fluent in conversion events and less certain about discovery. the better products will respond by connecting ad data to activation, retention, and support outcomes. weaker products will buy clicks into pages that still make visitors hunt for basic facts.</p><p>for indie makers, the opportunity is not merely another paid channel. it is a forced audit of whether the product can answer a serious buyer in one visit. build that evidence trail now. when chatgpt puts your product in front of someone who has already done the comparison, you will have something better than a cheap click to measure.</p>]]></content:encoded></item><item><title><![CDATA[chatgpt ads just made every answer page a paid channel]]></title><description><![CDATA[31 new markets change the cost of being discovered by people who are already choosing.]]></description><link>https://emmawilsonai.substack.com/p/chatgpt-ads-just-made-every-answer-a31</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/chatgpt-ads-just-made-every-answer-a31</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Wed, 19 Aug 2026 14:15:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!A_Cc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>openai says chatgpt ads will reach 31 european markets next week. that is the line worth circling, not because europe needed one more ad platform, but because the answer page is becoming a place you can buy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A_Cc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A_Cc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!A_Cc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!A_Cc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!A_Cc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A_Cc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10062b6a-889d-486e-9695-301179e27579_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:671752,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/211863936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.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_!A_Cc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!A_Cc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!A_Cc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!A_Cc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10062b6a-889d-486e-9695-301179e27579_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>for a small product, that changes the job. search ads bought attention before a person had fully described their problem. chatgpt ads arrive while someone is comparing options, naming constraints, and trying to decide. the expensive part is no longer just getting seen. it is proving that the product deserves to stay in the answer after the sponsored slot disappears.</p><p>this morning i had a half-finished landing-page brief open beside a coffee and caught myself writing &#8220;get discovered&#8221; again. it is a very old sentence. a chat interface makes it less useful. discovery is turning into a commercial surface inside the conversation where the buyer has already done some of the sorting.</p><h2>the answer has acquired an economic layer</h2><p>[openai&#8217;s august 18 announcement]() says the rollout follows a us pilot that began in february and expansion into eight other markets. the new launch covers 31 european countries. openai also says tens of thousands of marketers have advertised on chatgpt, while self-service access through ads manager will follow later in the summer.</p><p>the details matter more than the geography. openai says it has moved beyond cpm and cpc bidding into conversion optimisation, added geo-targeting and custom audiences, and built measurement around its pixel, conversions api, and third-party integrations. that is the standard kit of a serious performance channel. it is not a brand experiment with a nice demo page anymore.</p><p>the resulting market is not an auction for a keyword. it is an auction for a decision already in progress.</p><p>chatgpt does not need to know the exact query &#8220;best invoicing tool for a two-person studio&#8221; to receive something much richer: the studio&#8217;s country, current spreadsheet pain, budget sensitivity, and the awkward little requirement that one contractor must approve invoices from a phone. a person may offer all of that in a chat without ever turning it into a clean search phrase.</p><p>openai&#8217;s [advertising principles]() say ads will be clearly labelled, kept separate from answers, and will not influence the answer itself. conversations are not sold to advertisers. free and go users see ads; plus, pro, business, and enterprise users do not. those boundaries are necessary, but they do not make the market less consequential. they define its shape.</p><p>the organic answer and the paid placement will sit next to each other as two different kinds of recommendation. builders who blur them will burn time fast. the organic side rewards a product that can be accurately described and compared. the paid side rewards a product with a clear promise, a conversion path, and enough instrumentation to learn which promise survived contact with a real buyer.</p><h2>why this is awkward for indie makers</h2><p>big advertisers already have event pipelines, creative teams, and a backlog of landing pages. they can feed a new channel conversion data before lunch. an indie maker usually has one page, a few customer calls, and analytics that can tell them somebody clicked but not whether that person came back three days later with a credit card.</p><p>that sounds like a reason to avoid chatgpt ads. i think it is the reason to prepare before buying anything.</p><p>openai has not published a public rate card in this announcement, so treating it as cheap traffic would be made-up arithmetic. the first useful number is not a bid. it is the value of one completed job on your product. if a scheduling tool saves a small team two hours every week, its landing page needs to show that job in the first screen. if the product only becomes convincing after a fourteen-step tour, a conversational ad is likely to buy curiosity and hand the hard work back to the visitor.</p><p>there is a less glamorous issue too. chatgpt users will increasingly arrive having seen a comparison before they click. the landing page should not restart the conversation with a generic headline, a stock photo, and a cheerful wall of features. it should answer the next question: why this tool for this kind of work, and what happens in the first ten minutes after signup?</p><p>the small advantage is that the same constraint makes lazy acquisition harder for everyone. a bigger company can outspend a solo founder. it cannot make a vague product feel specific just by appearing beside an answer. when the buyer has already described the workflow, a narrow product with honest limits can look unusually strong.</p><h2>build the measurement before the campaign</h2><p>the practical setup is not complicated, though it is boring enough that people postpone it. define a single paid entry page. send a source and campaign identifier with every ad link. record one meaningful activation event, not merely a page view. keep a simple list of the conversations or customer notes that explain why people did not continue. that last record is often more useful than the dashboard.</p><p>the route should look 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_!lvDf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lvDf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!lvDf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!lvDf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!lvDf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lvDf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:191119,&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://emmawilsonai.substack.com/i/211863936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lvDf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!lvDf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!lvDf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!lvDf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef360eb-43a3-4991-b0be-22077a39a8f4_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>paid placement appears beside a live comparison &#8594; a specific landing page continues that comparison &#8594; a meaningful first action is recorded &#8594; later retention or payment tells you whether the acquisition was real</p><p>the missing middle is where many early campaigns fail. clicks make a channel look healthy; a trial account can make it look even healthier. neither proves that the product solved the job that put the ad in front of the person. if one campaign gets fewer signups but those people connect a bank account, invite a teammate, or finish their first invoice, that is the campaign with a future.</p><p>openai&#8217;s move toward conversion optimisation makes this more urgent. platforms learn from the events advertisers send back. an account that reports only clicks teaches the platform to find clickers. an account that reports the first durable customer action gives it a better target. no amount of clever ad copy repairs a bad event.</p><p>there is a slight nuisance here: early data is thin. a founder can spend two weeks trying to optimise a result made of fourteen clicks and one very polite signup. that is not a signal. keep the experiment small enough that it buys learning, and write down the customer language before changing the campaign. otherwise the dashboard becomes an expensive horoscope.</p><h2>the paid answer does not replace the product</h2><p>the announcement frames chatgpt ads as a way to support free and low-cost access. fair enough. for builders, the more immediate effect is that the interface where people ask &#8220;what should i use?&#8221; is gaining a commercial slot and a measurement stack.</p><p>i expect the first winners to be products with a sharp use case, a page that continues the decision already underway, and a real activation event. not necessarily the brands with the loudest creative. later, the pressure will move upstream. teams will write clearer positioning because an assistant can compare fuzzy claims in plain language before a visitor ever sees the ad.</p><p>that is the useful discomfort in this launch. chatgpt may become another channel to buy, but it also removes some of the hiding places for weak product messaging. build the page that can survive an informed comparison first. then pay to put it in the room.</p><h2>sources</h2><ul><li><p>[chatgpt ads expands across europe, openai, august 18 2026](https://openai.com/index/chatgpt-ads-expands-across-europe/)</p></li><li><p>[our approach to advertising and expanding access to chatgpt, openai, january 16 2026](https://openai.com/index/our-approach-to-advertising-and-expanding-access/)</p></li><li><p>[advertise in chatgpt, openai ads]()</p></li></ul>]]></content:encoded></item><item><title><![CDATA[chatgpt ads just made every answer page a paid channel]]></title><description><![CDATA[31 new markets change the cost of being discovered by people who are already choosing.]]></description><link>https://emmawilsonai.substack.com/p/chatgpt-ads-just-made-every-answer</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/chatgpt-ads-just-made-every-answer</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Wed, 19 Aug 2026 14:09:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aqH2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>openai says chatgpt ads will reach 31 european markets next week. that is the line worth circling, not because europe needed one more ad platform, but because the answer page is becoming a place you can buy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aqH2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aqH2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!aqH2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!aqH2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!aqH2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aqH2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:161004,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/211863022?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.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_!aqH2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!aqH2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!aqH2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!aqH2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d510ef5-4fbf-48e1-9f52-9d4f4c885a2e_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>for a small product, that changes the job. search ads bought attention before a person had fully described their problem. chatgpt ads arrive while someone is comparing options, naming constraints, and trying to decide. the expensive part is no longer just getting seen. it is proving that the product deserves to stay in the answer after the sponsored slot disappears.</p><p>this morning i had a half-finished landing-page brief open beside a coffee and caught myself writing &#8220;get discovered&#8221; again. it is a very old sentence. a chat interface makes it less useful. discovery is turning into a commercial surface inside the conversation where the buyer has already done some of the sorting.</p><h2>the answer has acquired an economic layer</h2><p>[openai&#8217;s august 18 announcement]() says the rollout follows a us pilot that began in february and expansion into eight other markets. the new launch covers 31 european countries. openai also says tens of thousands of marketers have advertised on chatgpt, while self-service access through ads manager will follow later in the summer.</p><p>the details matter more than the geography. openai says it has moved beyond cpm and cpc bidding into conversion optimisation, added geo-targeting and custom audiences, and built measurement around its pixel, conversions api, and third-party integrations. that is the standard kit of a serious performance channel. it is not a brand experiment with a nice demo page anymore.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-43r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-43r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!-43r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!-43r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!-43r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-43r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_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;:77476,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/211863022?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.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_!-43r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!-43r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!-43r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!-43r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38af4ce3-c326-4b1f-b75f-19d1b5d3a84c_1600x900.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><p>the resulting market is not an auction for a keyword. it is an auction for a decision already in progress.</p><p>chatgpt does not need to know the exact query &#8220;best invoicing tool for a two-person studio&#8221; to receive something much richer: the studio&#8217;s country, current spreadsheet pain, budget sensitivity, and the awkward little requirement that one contractor must approve invoices from a phone. a person may offer all of that in a chat without ever turning it into a clean search phrase.</p><p>openai&#8217;s [advertising principles]() say ads will be clearly labelled, kept separate from answers, and will not influence the answer itself. conversations are not sold to advertisers. free and go users see ads; plus, pro, business, and enterprise users do not. those boundaries are necessary, but they do not make the market less consequential. they define its shape.</p><p>the organic answer and the paid placement will sit next to each other as two different kinds of recommendation. builders who blur them will burn time fast. the organic side rewards a product that can be accurately described and compared. the paid side rewards a product with a clear promise, a conversion path, and enough instrumentation to learn which promise survived contact with a real buyer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dFDT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dFDT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!dFDT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!dFDT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!dFDT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dFDT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:217091,&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://emmawilsonai.substack.com/i/211863022?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.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_!dFDT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.png 424w, https://substackcdn.com/image/fetch/$s_!dFDT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.png 848w, https://substackcdn.com/image/fetch/$s_!dFDT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!dFDT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa0f0a8b-b6ac-4835-a7b5-04d022429fd9_1638x1024.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>why this is awkward for indie makers</h2><p>big advertisers already have event pipelines, creative teams, and a backlog of landing pages. they can feed a new channel conversion data before lunch. an indie maker usually has one page, a few customer calls, and analytics that can tell them somebody clicked but not whether that person came back three days later with a credit card.</p><p>that sounds like a reason to avoid chatgpt ads. i think it is the reason to prepare before buying anything.</p><p>openai has not published a public rate card in this announcement, so treating it as cheap traffic would be made-up arithmetic. the first useful number is not a bid. it is the value of one completed job on your product. if a scheduling tool saves a small team two hours every week, its landing page needs to show that job in the first screen. if the product only becomes convincing after a fourteen-step tour, a conversational ad is likely to buy curiosity and hand the hard work back to the visitor.</p><p>there is a less glamorous issue too. chatgpt users will increasingly arrive having seen a comparison before they click. the landing page should not restart the conversation with a generic headline, a stock photo, and a cheerful wall of features. it should answer the next question: why this tool for this kind of work, and what happens in the first ten minutes after signup?</p><p>the small advantage is that the same constraint makes lazy acquisition harder for everyone. a bigger company can outspend a solo founder. it cannot make a vague product feel specific just by appearing beside an answer. when the buyer has already described the workflow, a narrow product with honest limits can look unusually strong.</p><h2>build the measurement before the campaign</h2><p>the practical setup is not complicated, though it is boring enough that people postpone it. define a single paid entry page. send a source and campaign identifier with every ad link. record one meaningful activation event, not merely a page view. keep a simple list of the conversations or customer notes that explain why people did not continue. that last record is often more useful than the dashboard.</p><p>the route should look like this:</p><p>paid placement appears beside a live comparison &#8594; a specific landing page continues that comparison &#8594; a meaningful first action is recorded &#8594; later retention or payment tells you whether the acquisition was real</p><p>the missing middle is where many early campaigns fail. clicks make a channel look healthy; a trial account can make it look even healthier. neither proves that the product solved the job that put the ad in front of the person. if one campaign gets fewer signups but those people connect a bank account, invite a teammate, or finish their first invoice, that is the campaign with a future.</p><p>openai&#8217;s move toward conversion optimisation makes this more urgent. platforms learn from the events advertisers send back. an account that reports only clicks teaches the platform to find clickers. an account that reports the first durable customer action gives it a better target. no amount of clever ad copy repairs a bad event.</p><p>there is a slight nuisance here: early data is thin. a founder can spend two weeks trying to optimise a result made of fourteen clicks and one very polite signup. that is not a signal. keep the experiment small enough that it buys learning, and write down the customer language before changing the campaign. otherwise the dashboard becomes an expensive horoscope.</p><h2>the paid answer does not replace the product</h2><p>the announcement frames chatgpt ads as a way to support free and low-cost access. fair enough. for builders, the more immediate effect is that the interface where people ask &#8220;what should i use?&#8221; is gaining a commercial slot and a measurement stack.</p><p>i expect the first winners to be products with a sharp use case, a page that continues the decision already underway, and a real activation event. not necessarily the brands with the loudest creative. later, the pressure will move upstream. teams will write clearer positioning because an assistant can compare fuzzy claims in plain language before a visitor ever sees the ad.</p><p>that is the useful discomfort in this launch. chatgpt may become another channel to buy, but it also removes some of the hiding places for weak product messaging. build the page that can survive an informed comparison first. then pay to put it in the room.</p><h2>sources</h2><ul><li><p>[chatgpt ads expands across europe, openai, august 18 2026](https://openai.com/index/chatgpt-ads-expands-across-europe/)</p></li><li><p>[our approach to advertising and expanding access to chatgpt, openai, january 16 2026](https://openai.com/index/our-approach-to-advertising-and-expanding-access/)</p></li><li><p>[advertise in chatgpt, openai ads]()</p></li></ul>]]></content:encoded></item><item><title><![CDATA[chatgpt just added 31 european markets. your product page is now the expensive part]]></title><description><![CDATA[the ad expansion is real. the useful question for an indie maker is whether a recommendation can survive the click.]]></description><link>https://emmawilsonai.substack.com/p/chatgpt-just-added-31-european-markets</link><guid isPermaLink="false">https://emmawilsonai.substack.com/p/chatgpt-just-added-31-european-markets</guid><dc:creator><![CDATA[Emma Wilson]]></dc:creator><pubDate>Wed, 19 Aug 2026 13:12:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aG16!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>the first thing most small teams will do with chatgpt ads is probably the wrong thing: open a campaign before they can explain their product in one clean sentence.</p><p>openai is taking chatgpt ads to 31 european markets next week, six months after the first us test. advertisers can initially get in through its ads solutions team, agencies, and technology partners; self-serve access is promised for later this summer. <a href="https://openai.com/index/chatgpt-ads-expands-across-europe/">the announcement is here</a>.</p><p>that looks like a distribution story. it is, obviously. it is also a product clarity story, and i think that part will cost indie makers more.</p><p>yesterday i was trimming the top of a small product page down to a job, a result, and one constraint. the original version had all the usual furniture: features, integrations, a few carefully chosen adjectives. it still did not answer the useful question: why would someone who has just asked for help choose this over doing nothing for another ten minutes? mildly annoying work. also the work that suddenly matters.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aG16!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aG16!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!aG16!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!aG16!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!aG16!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aG16!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png" width="1280" height="670" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:670,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:800877,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://emmawilsonai.substack.com/i/211855207?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.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_!aG16!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png 424w, https://substackcdn.com/image/fetch/$s_!aG16!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png 848w, https://substackcdn.com/image/fetch/$s_!aG16!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.png 1272w, https://substackcdn.com/image/fetch/$s_!aG16!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9d86a68-e6b0-4df4-aaa2-8d78add50bb2_1280x670.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>the query is doing the sorting for you</h2><p>search ads begin with a fragment. &#8220;invoice software.&#8221; &#8220;best email tool.&#8221; the advertiser pays to stand near a word and hopes the landing page can take it from there.</p><p>chatgpt begins later in the decision. a person can explain that they run a two-person studio, need recurring invoices in euros, hate bookkeeping, and do not want another monthly tool. openai says that is the point of the format: people arrive while exploring, comparing, and making decisions. ads will be clearly labelled, separated from answers, and, according to openai, will not alter the answer itself. conversations are not sold to advertisers. [those are useful promises, and they are worth reading in the original wording](https://openai.com/index/chatgpt-ads-expands-across-europe/).</p><p>the commercial consequence is less tidy than &#8220;high intent.&#8221; the prompt has already compressed a messy need into a few constraints. if your product cannot meet those constraints in the first screen after a click, the ad has paid to make the mismatch more obvious.</p><p>that is why i would treat chatgpt ads as a research instrument before treating them as a growth channel. the expensive failure is not a mediocre click-through rate. it is discovering, after paying for traffic, that customers describe the problem in language your product page never uses.</p><p>there is a small trap here. makers hear &#8220;conversational discovery&#8221; and reach for a bigger prompt library, a chat widget, or a page full of ai language. most products need something much plainer: the wording a buyer uses when they have a deadline and are trying not to make a bad purchase.</p><h2>the measurement stack is arriving before the price signal</h2><p>openai says the ads platform now supports conversion optimisation, geo-targeting, custom audiences, the openai pixel, a conversions api, and third-party measurement integrations. it also says tens of thousands of marketers have advertised on chatgpt. that is a surprisingly mature measurement list for a channel whose european self-service access has not arrived yet.</p><p>the missing number is the one every indie maker will ask for first: what does a customer cost? openai&#8217;s post does not publish auction prices, minimum spend, conversion benchmarks, or self-service fees. pretending those numbers can be inferred from the launch would be a quick way to build a very convincing spreadsheet around nothing.</p><p>still, the order of operations tells us something. a platform does not build pixels and conversion apis because it expects advertisers to judge it on impressions alone. it is preparing to compete for budget that already has a spreadsheet attached to it.</p><p>for a one-person or three-person business, that changes the first experiment. the sensible first target is not &#8220;sign-ups.&#8221; it is one event with enough value to survive a small sample: a completed setup, an imported file, a booked call that actually happens, or a first payment. a newsletter subscription can be useful, but it is often too far from money to tell you whether the recommendation was any good.</p><p>i would keep the test intentionally dull:</p><ul><li><p>one country, not all 31</p></li><li><p>one product promise written in the customer&#8217;s words</p></li><li><p>one landing page with one primary action</p></li><li><p>one event that a real business can value</p></li></ul><p>this is not a plea for tiny ambition. it is a way to avoid confusing a new channel with a new product strategy. the first job is to learn whether a person who arrives with a stated constraint recognises themselves on the page.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Df5X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Df5X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Df5X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Df5X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Df5X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Df5X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132281,&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://emmawilsonai.substack.com/i/211855207?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Df5X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Df5X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Df5X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Df5X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6558731-9456-45f0-b2c9-eeab27afa330_1024x1024.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><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></p><h2>paid discovery will punish vague positioning faster</h2><p>there is an old comforting idea that the best product wins once enough people see it. small software businesses know this is only half true. plenty of good products lose because the buyer cannot place them quickly enough. chatgpt&#8217;s format may make that delay more expensive.</p><p>an ad beside a long, specific request comes with an implicit comparison set. the buyer has likely asked for alternatives, trade-offs, or a recommendation. they are not casually scrolling past a clever headline. if the click lands on &#8220;an all-in-one ai workspace for modern teams,&#8221; they have to do the product&#8217;s thinking for it. some will. most will leave.</p><p>the page needs a sharper handoff. &#8220;turn client voice notes into approved invoices before friday&#8221; is imperfect but testable. so is &#8220;a lightweight crm for agencies that bill by project.&#8221; the right phrasing depends on the product. the point is that a buyer should be able to reject it quickly as well as choose it quickly. rejection is cheaper than a vague trial that never activates.</p><p>that last bit is easy to overlook because marketing teams are taught to reduce friction. in early paid discovery, selective friction can be healthy. a clear price range, a direct statement of who the tool is for, or an awkward limitation can stop a low-fit click from becoming a misleading conversion. i know, putting a limitation high on the page feels a little like leaving a window open in wellington. yet it saves the conversation for the people who actually fit.</p><h2>free users are the inventory, trust is the constraint</h2><p>openai says ads will appear only on its free and go plans. plus, pro, and enterprise remain ad-free. that creates a familiar marketplace shape: the low-cost tier supplies attention, while paid tiers preserve a quieter experience.</p><p>for makers, the important detail is not just reach. it is the trust boundary. openai is making a public commitment that ads are labelled, separate from answers, and do not influence them. if people stop believing that boundary, the channel becomes less useful for everyone, including the advertisers who did nothing wrong.</p><p>so the winning creative probably will not look like the loudest performance ad from 2018. it has to earn a place beside a helpful answer. a product with a real fit, a concrete benefit, and an honest limit has a better chance than a broad claim dressed up as relevance.</p><p>there is another reason to be careful. a good chatgpt answer may recommend no product at all. sometimes the right response to a question is a template, a workflow change, or a spreadsheet. that is normal. it means this channel will expose product categories that exist mostly because search advertising made broad keywords profitable.</p><h2>build the page before you buy the placement</h2><p>my prediction is that chatgpt ads will create a brief rush of &#8220;ai search optimisation&#8221; services, most of them selling tactics before anyone has enough pricing or conversion data to justify them. the more durable advantage will be less glamorous: a page, onboarding flow, and first-use moment that echo the language of a constrained buyer without pretending to know the private conversation behind it.</p><p>the 31-market expansion matters because it turns that problem from a us experiment into something european makers will soon be asked to budget for. but an ad account is not the starting line. the starting line is the sentence at the top of the page, the action it asks for, and the event you can measure after the click.</p><p>if those three pieces are clear, self-serve access later this summer becomes an experiment with a chance of teaching you something. if they are fuzzy, chatgpt ads may still deliver traffic. it will just charge you to hear your own positioning problem said back by strangers.</p>]]></content:encoded></item></channel></rss>