<?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[Between Roles]]></title><description><![CDATA[What breaks when AI systems meet production reality in retail and ecommerce. 20+ years watching the gap between announcement and delivery. For tech leads inheriting what someone else built.]]></description><link>https://opplearner.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!VEw8!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8b0a8fc-ae22-47c6-b7e7-1e166ed24dbd_398x398.png</url><title>Between Roles</title><link>https://opplearner.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 11 Apr 2026 00:20:36 GMT</lastBuildDate><atom:link href="https://opplearner.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[OM PRAKASH PANT]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[opplearner@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[opplearner@substack.com]]></itunes:email><itunes:name><![CDATA[Om Prakash Pant]]></itunes:name></itunes:owner><itunes:author><![CDATA[Om Prakash Pant]]></itunes:author><googleplay:owner><![CDATA[opplearner@substack.com]]></googleplay:owner><googleplay:email><![CDATA[opplearner@substack.com]]></googleplay:email><googleplay:author><![CDATA[Om Prakash Pant]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[We optimized for the demo. Production inherited the token costs]]></title><description><![CDATA[How an early PoC architecture choice quietly locked in production token costs for an AI system.]]></description><link>https://opplearner.substack.com/p/we-optimized-for-the-demo-production</link><guid isPermaLink="false">https://opplearner.substack.com/p/we-optimized-for-the-demo-production</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Fri, 10 Apr 2026 13:42:40 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9610ccf8-4ea9-474a-8325-fcf507ef0159_1373x752.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We built a retail insights agent for a PoC. Store managers could query sales data, inventory levels, discount performance across stores. Worked perfectly. Then someone asked: &#8220;What happens when we roll this out to 50 stores?&#8221;</p><p>That&#8217;s when the token math broke.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Qu8f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Qu8f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png 424w, https://substackcdn.com/image/fetch/$s_!Qu8f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png 848w, https://substackcdn.com/image/fetch/$s_!Qu8f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png 1272w, https://substackcdn.com/image/fetch/$s_!Qu8f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Qu8f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png" width="995" height="481" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:481,&quot;width&quot;:995,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:603057,&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://opplearner.substack.com/i/193654718?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.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_!Qu8f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png 424w, https://substackcdn.com/image/fetch/$s_!Qu8f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png 848w, https://substackcdn.com/image/fetch/$s_!Qu8f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png 1272w, https://substackcdn.com/image/fetch/$s_!Qu8f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c5a74ff-0231-42f0-9f9e-8fd79aac55a5_995x481.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h4><strong>The decision nobody questioned</strong></h4><p>Early on, we had a choice: dynamic SQL generation or intent classification with predefined queries.</p><p>Dynamic felt right. Natural language in, SQL out. The model reads the schema, figures out which tables to use, generates the query. Flexible. Works for any question. Demo-friendly.</p><p>But here&#8217;s what dynamic means in production: every request sends the entire database schema as context. For our ecommerce platform that was thousands of tokens. Per request. Per store.</p><p>One store asking &#8220;show me yesterday&#8217;s sales&#8221; cost roughly 3&#8211;4k tokens per request.. Fifty stores asking variations of that question all day and you do the math.</p><p>Nobody did the math during the PoC.</p><div><hr></div><h4><strong>What production actually looks like</strong></h4><p>The pilot ran on one store. Token costs looked manageable. Call it $50/month of API usage. Seemed reasonable for the value.</p><p>Then we scaled to five stores for testing. Token bill jumped to $280. Not linear - stores ask similar questions but phrased differently, so no caching benefit and data varies for each store. Each query regenerates SQL from scratch.</p><p>Extrapolate to 50 stores and suddenly you&#8217;re looking at $2,000+/month in token costs just for a briefing agent. For a small retail chain, that ROI conversation gets uncomfortable fast.</p><p>Is a daily sales briefing worth $40/store/month in tokens alone? Before you factor in infrastructure, maintenance, updates?</p><p>The question never came up in the PoC because we optimized for &#8220;does it work&#8221; not &#8220;does it scale.&#8221;</p><div><hr></div><h4><strong>The architecture decision that locked in the cost</strong></h4><p>Here&#8217;s the thing nobody documented: we chose dynamic SQL because it was easier to demo. Handles edge cases. Looks intelligent. But that choice locked in a token cost structure.</p><p>The alternative &#8212; intent classification + predefined queries &#8212; would have cost 90% less in tokens. Classify the question type (sales summary, inventory check, discount analysis), route to a parameterized query, done. Schema context sent once during setup, not every request.</p><p>But it&#8217;s less flexible. Handles the 80% case, not the long tail. In a demo that feels limiting. In production it&#8217;s the difference between viable and unsustainable.</p><p>We made that call in week two of the PoC. Six months later, the production team inherited the architecture without understanding the token economics that shaped it.</p><div><hr></div><h4><strong>What we&#8217;re seeing now in the team</strong></h4><p>We run a practice group where people build AI workflows. Some are experienced, they instinctively limit context, reuse embeddings, batch requests. Others learn by hitting token limits mid-sprint.</p><p>Same pattern: build something that works, use it for a week, wake up to &#8220;my tokens expired.&#8221;</p><p>There&#8217;s no governance layer tracking this. No rule engine capping request size or flagging expensive patterns before they hit production. The tooling exists &#8212; request limits, token budgets, usage dashboards &#8212; but applying it requires someone to own the decision.</p><p>In a PoC, nobody owns it. In production, it becomes a cost problem before it becomes anyone&#8217;s responsibility.</p><div><hr></div><h4><strong>Domain knowledge shapes token costs</strong></h4><p>Here&#8217;s something that doesn&#8217;t show up in AI optimization guides: understanding the business determines what you send to the model.</p><p>We had AI developers on the team. Strong technical skills, knew the models well. But without retail domain background, they couldn&#8217;t assess criticality. Every field looked potentially relevant. Better to include it than risk missing context.</p><p>So the schema context ballooned. Product tables, pricing history, customer segments, promotional calendars, store-level inventory &#8212; all sent with every request because &#8220;the model might need it.&#8221;</p><p>Someone with retail experience would have known: for a daily sales briefing, you need transaction totals and category breakdowns. You don&#8217;t need individual SKU attributes or historical pricing rules. That&#8217;s 80% less context for the same answer.</p><p>Field names don&#8217;t tell you business priority. <code>discount_tier</code> sounds important. In practice, for a morning briefing query, it&#8217;s noise. But you only know that if you&#8217;ve actually run a retail operation.</p><p>Domain knowledge isn&#8217;t just about building the right feature. It&#8217;s about knowing what to leave out. And in a token-priced world, what you leave out is half the optimization.</p><div><hr></div><h4><strong>Lessons, not tips</strong></h4><p>This isn&#8217;t about which model is cheaper or how to write better prompts.</p><p>The lesson is: architecture decisions made for demo flexibility become cost commitments in production. And if the reasoning behind those decisions doesn&#8217;t transfer to the team that inherits the system, they can&#8217;t optimize what they don&#8217;t understand.</p><p>Ask during the PoC:</p><ul><li><p>What&#8217;s the token cost per request &#215; expected request volume &#215; number of locations?</p></li><li><p>Are we optimizing for demo or for scale?</p></li><li><p>Who decided this architecture and what were the trade-offs?</p></li></ul><p>Document it. </p><p>Because six months from now, when someone asks why the token bill is 10&#215; the estimate, &#8220;it worked in the demo&#8221; won&#8217;t be enough.</p><div><hr></div><p>Production doesn&#8217;t inherit the demo. It inherits the decisions nobody documented.</p>]]></content:encoded></item><item><title><![CDATA[I vibe coded something good. That was the easy part]]></title><description><![CDATA[Built a retail AI agent via vibe coding. Demo crushed it. Then architect asked: "Where's the reasoning?" The CLAUDE.md problem every enterprise faces going from PoC to production.]]></description><link>https://opplearner.substack.com/p/i-vibe-coded-something-good-that</link><guid isPermaLink="false">https://opplearner.substack.com/p/i-vibe-coded-something-good-that</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Sun, 05 Apr 2026 13:44:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cFkx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.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_!cFkx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cFkx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png 424w, https://substackcdn.com/image/fetch/$s_!cFkx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png 848w, https://substackcdn.com/image/fetch/$s_!cFkx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png 1272w, https://substackcdn.com/image/fetch/$s_!cFkx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cFkx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png" width="999" height="594" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:594,&quot;width&quot;:999,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:817543,&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://opplearner.substack.com/i/191820953?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.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_!cFkx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png 424w, https://substackcdn.com/image/fetch/$s_!cFkx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png 848w, https://substackcdn.com/image/fetch/$s_!cFkx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png 1272w, https://substackcdn.com/image/fetch/$s_!cFkx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffbf40f7d-5a6d-4a74-a27a-0014c073eac6_999x594.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The demo worked. The retail store briefing agent understood natural language queries. Store managers could ask about yesterday's wastage, discount performance, today's plan - and get structured answers across four stores. Looked real.</p><p>The architect reviewed it and asked good questions. The code structure was reasonable. The documentation I generated explained the schema clearly &#8212; tables, columns, relationships. It was not a throwaway prototype. It was a working system built through careful iteration, domain knowledge baked into every prompt, and multiple refinements until the outputs felt right.</p><p>Then the real question arrived.</p><p>How do we make this production ready?</p><div><hr></div><p><strong>What the Code Believed (vs. What Production Needs)</strong></p><p>The agent worked because I told it what to believe during the build.</p><p>For perishable items &#8212; bread, milk, fresh produce &#8212; I had encoded logic that made intuitive sense: as the day progresses and stock remains, increase the discount to move product. Cap it at 60%. The agent followed this faithfully and the demo outputs looked realistic.</p><p>But in a real retail system that logic is not a rule. It is a starting point. There are supplier agreements that restrict how low a price can go. There are store manager overrides when a promotion is already running. There are category-specific behaviours &#8212; bread on Thursday behaves differently from bread on Saturday in a store near a market. There is a provision to override the discount ceiling entirely when circumstances require it.</p><p>None of that existed in the code. The agent had an assumption. Production needs a parameter, a configuration layer, a connection to actual pricing rules, and a human override mechanism.</p><p>The same problem appeared in loyalty segmentation.</p><p>I had built four loyalty tiers as a dictionary &#8212; a clean, logical structure that worked perfectly in the demo. Online customers were identified by email or mobile. POS customers swiped a card or provided a loyalty number. The agent applied discount multipliers based on tier.</p><p>But real loyalty in retail is messier. The same customer might exist in the online system under their email and in the POS system under a card number that was never linked. The tiers I defined were conceptually sound but operationally disconnected from how loyalty data actually flows across channels. The dictionary was not wrong. It was a simulation of loyalty, not a connection to it.</p><p>When the team looked at the code they found columns and fields that existed purely to generate randomness for the demo. Category-wise discount percentages hardcoded as defaults. Start and end date assumptions that made sense for a PoC running in a single session but would break in a system running across real days with real data.</p><div><hr></div><p><strong>The CLAUDE.md problem</strong></p><p>The architect asked about the CLAUDE.md file.</p><p>For anyone who has not encountered it &#8212; this is the file that tells Claude Code what the project is, what decisions have been made, what rules to follow, and what context to carry across sessions. It is the memory of the build. Without it every new session starts without the reasoning behind the code.</p><p>I had not created one.</p><p>Everything that shaped the agent &#8212; the decisions about how to handle perishable items, the loyalty tier logic, the reasoning behind the schema structure, the specific retail context I had brought to every prompt &#8212; lived inside a single chat session. When the session ended the reasoning ended with it. What remained was the code, a schema document, and the demo.</p><p>The team could see what the code did. They could not see why it was built that way. The CLAUDE.md file would have captured that. Without it the handover was a transfer of outputs without a transfer of intent.</p><p>This is not a vibe coding failure. It is a documentation gap specific to how AI-assisted development works. The code is generated fast. The reasoning that produced it evaporates unless someone deliberately captures it. In traditional development that reasoning lives in PRs, commit messages, architecture decision records, and the conversations that happen during code review. In a vibe coding session it lives in the prompts &#8212; and prompts are not automatically preserved anywhere.</p><div><hr></div><p><strong>The Gap Every Enterprise Will Face</strong></p><p>This is where the story gets broader than one PoC.</p><p>Enterprise teams are building with vibe coding in two distinct situations. Some have Copilot licences and work within an integrated development environment where context can be maintained and teams can collaborate around the AI. Many others &#8212; and this is more common than the tooling conversations suggest &#8212; are building through prompt sessions, often without licences, often on personal accounts, often in a single extended conversation that produces something good and then closes.</p><p>The PoC gets built. It works. The demo is strong. And then the organisation asks the question it always asks: how do we take this to production?</p><p>At that point the real requirements appear. Code review against actual standards. Security audit &#8212; not just environment variables but the logic itself, the assumptions, the edge cases the prompt never surfaced. NFR assessment &#8212; can this handle real POS load across four stores simultaneously? What happens when the inventory feed is stale? What happens when a store manager&#8217;s query hits a category the agent was never trained on?</p><p>And underneath all of it the question the architect was really asking: where is the reasoning? Not the code. The reasoning.</p><div><hr></div><p><strong>What production-ready actually means for AI-assisted code</strong></p><p>The vibe coding session produced something genuinely good. The domain knowledge I brought to the prompts meant the outputs were grounded in real retail understanding. The perishable discount logic made sense. The loyalty tier structure was logical. The briefing format was useful.</p><p>But production-ready is a different standard from demo-ready. Not just technically &#8212; organisationally.</p><p>Production-ready means a developer who did not build this can understand why it was built this way. It means a store manager can override the discount ceiling without calling a developer. It means the loyalty segmentation connects to actual customer data rather than a dictionary that approximates it. It means the randomness that made the demo look realistic has been replaced by real data feeds or configurable parameters.</p><p>And it means the CLAUDE.md file &#8212; or its equivalent &#8212; exists. The document that says: here is what this system is responsible for, here is the domain context it operates in, here is what the agent should never assume, here are the constraints that must hold when reality does not match the template.</p><p>That file is more important than the code. You can regenerate code from a well-written context document. You cannot regenerate the reasoning from the code alone.</p><div><hr></div><p><strong>The pattern every enterprise will face</strong></p><p>The store briefing agent is not unusual. Across retail, logistics, finance, and operations, teams are building AI PoCs through vibe coding sessions &#8212; some with enterprise tooling, many without &#8212; and producing things that genuinely work. The barrier to a working demo has collapsed.</p><p>The barrier to production has not.</p><p>It has just moved. From &#8220;can we build this&#8221; to &#8220;can we hand this over, maintain this, extend this, and trust this when something breaks at 2am on a Saturday.&#8221;</p><p>The PoC that took hours to build will take weeks to productionise &#8212; not because the code was bad but because the reasoning was never captured, the assumptions were never validated against real data, and the domain knowledge that made it work lived in one person&#8217;s head and one chat session that is now closed.</p><p>The demo is the easy part.</p><p>The CLAUDE.md file is where the real work begins.</p><p>The barrier to demo has collapsed. The barrier to production hasn't - it's just moved.</p><div><hr></div><p><em>Have you hit this wall &#8212; a working PoC that stalled on the way to production? </em></p><p><em>I would like to hear what specifically broke down. Hit reply.</em></p>]]></content:encoded></item><item><title><![CDATA[We built the AI, then someone asked where it was.]]></title><description><![CDATA[The pressure to be an AI company arrived before anyone defined what that means. Delivery teams are caught in the middle.]]></description><link>https://opplearner.substack.com/p/we-built-the-ai-then-someone-asked</link><guid isPermaLink="false">https://opplearner.substack.com/p/we-built-the-ai-then-someone-asked</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Wed, 25 Mar 2026 02:17:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!inBc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.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_!inBc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!inBc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png 424w, https://substackcdn.com/image/fetch/$s_!inBc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png 848w, https://substackcdn.com/image/fetch/$s_!inBc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png 1272w, https://substackcdn.com/image/fetch/$s_!inBc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!inBc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png" width="1057" height="699" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:699,&quot;width&quot;:1057,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1276758,&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://opplearner.substack.com/i/190796156?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.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_!inBc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png 424w, https://substackcdn.com/image/fetch/$s_!inBc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png 848w, https://substackcdn.com/image/fetch/$s_!inBc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png 1272w, https://substackcdn.com/image/fetch/$s_!inBc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8b26868-1d27-498e-aef6-e5d63ff0bf71_1057x699.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The demo went well.</p><p>The virtual assistant understood natural language queries. A customer could type &#8220;where is my order&#8221; or &#8220;what happened to my return&#8221; and get a clear, accurate response. It fetched the right data, logged the interaction, and handled follow-up questions without breaking. The team had built something that worked - cleanly, reliably, in a domain where getting it wrong has real consequences.</p><p>Then came the question nobody had prepared for.</p><p>&#8220;Where is the AI?&#8221;</p><div><hr></div><p><strong>The debate nobody expected to have</strong></p><p>What followed was one of those conversations that starts small and quietly unsettles everything.</p><p>Someone said: we use NLP to understand intent - that is AI. Someone else said: we used a model to classify the query - that is AI. A third voice said: this is not AI, this is automation. A bot reading a query and fetching data from an API is not intelligence, it is a lookup with extra steps.</p><p>The team that had just delivered a working system found themselves in a debate about whether what they built counted. Not whether it worked - it clearly worked. Whether it qualified.</p><p>Nobody had planned for this conversation. And the longer it went on, the more something shifted in the room. The team that had been confident ten minutes earlier started second-guessing themselves. Is this AI? Where exactly does the AI live in what we built? If a bot calls our API, does that count? What if someone else builds the same thing without a model - is theirs less AI than ours?</p><p>The PoC did not fail. The framing did.</p><div><hr></div><p><strong>And underneath that debate was a quieter problem</strong></p><p>Nobody named it out loud because admitting it felt like admitting unreadiness - which was the one thing the organisation could not afford to say.</p><p>The team was still learning. Not because they were unprepared - because the tools they were using in January did not exist in October. A model that was the right choice at the start of the project had a newer, cheaper, more capable replacement by the time the PoC was halfway through. The person who made the architecture decision three months earlier was not wrong then. They just had no way of knowing what would exist now.</p><p>Walk into any AI project today and you will find this: engineers debating which model to use, which framework to build on, which approach to take - not because they lack judgement but because the options multiplied faster than any team could absorb. By the time the team gets comfortable with one set of tools, the landscape has shifted again. Copilot. Then Cursor. Then agents. Then multi-agent frameworks. Then a new model that makes last quarter&#8217;s architecture decision look dated.</p><p>This is the reality of building AI capability right now. The ground is moving while you are standing on it. Teams are not falling behind because they are slow. They are falling behind because the pace of change does not pause for delivery timelines. And the pressure to deliver does not pause either.</p><div><hr></div><p><strong>Why this conversation is happening everywhere</strong></p><p>This is not a story about one team or one project. It is happening across IT services right now, in different rooms, with different technologies, producing the same confusion.</p><p>The pressure is real and it is legitimate. AI is not a trend that organisations can wait out. The disruption is structural - the way services are delivered, the way SDLC works, the roles that exist and the ones that are disappearing, the expectations clients bring to every conversation. You cannot opt out of this transition. If you do your competitors will be far ahead before you decide to move.</p><p>Only around 4% of organisations have moved AI beyond the pilot stage. Most are still in the PoC loop, building and demonstrating and starting again.</p><p>The gap between exploring AI and operationalising it is where most organisations are stuck right now. And it is a harder gap to cross than the announcement cycle suggests.</p><p>So IT services companies are responding the way organisations respond to existential pressure - they invest, they form teams, they build PoCs, they develop capability. This is the right response. Nobody in that room was wrong to be moving fast.</p><p>But the rush arrived before something important was in place. Not the technology. The shared language.</p><p>Existing clients are asking: what have you done in AI? Prospects want to know: are you an AI company? Leadership needs to answer upward: where is our AI capability? And the teams doing the actual work are trying to answer a question that was never precisely defined - with technology that did not exist six months ago.</p><div><hr></div><p><strong>The real problem with the &#8220;where is the AI&#8221; question</strong></p><p>When a leader asks &#8220;where is the AI&#8221; they are usually asking something else underneath it. They are asking: can I point to this? Can I defend this investment? Can I show a client that we are serious?</p><p>Those are fair questions. The problem is they get directed at the delivery team as a technical question when they are actually a positioning question. The team hears &#8220;prove this is AI&#8221; when the real question is &#8220;help me explain the value of what we built.&#8221;</p><p>The virtual assistant understood human language, interpreted intent, retrieved accurate information, and responded in a way that felt natural to the user. A year ago that would have been called intelligent automation and everyone would have been satisfied. Today it feels ordinary because everyone has used ChatGPT. The bar moved and nobody told the team.</p><p>This is the gap causing the confusion. Not a lack of technical knowledge. A mismatch between what the technology does, what the organisation expected it to look like, and what the market is asking the organisation to prove.</p><div><hr></div><p><strong>Wrong question, right room</strong></p><p>The NLP debate, the model debate, the automation debate - these are real distinctions but they are not the question that matters in a delivery context.</p><p>The question that matters is: what did this system do that could not have been done before, at this scale, with this consistency, without this technology?</p><p>The virtual assistant handled queries across order status, returns, and cancellations in natural language, without a human agent, at any hour, with consistent accuracy. That is not nothing. That is real capability that required real thinking to build. Whether you call the intent classification layer AI or advanced NLP or a fine-tuned model does not change what the customer experienced or what the business saved.</p><p>The confusion happens when organisations define AI by its components rather than its outcomes. The component debate will never be settled - every year the definition shifts, what was AI last year becomes table stakes this year, and the goalposts move before the team crosses the line.</p><p>The teams that navigate this transition well are the ones that learn to talk about outcomes first and then explain the capability that produced them. Not &#8220;we used a model&#8221; but &#8220;we built a system that handles this type of query at this accuracy without human intervention - here is what that required and here is what it replaced.&#8221; That framing survives the &#8220;where is the AI&#8221; question because it does not depend on a definition that will change again next quarter.</p><div><hr></div><p><strong>The transition nobody chose but everyone is navigating</strong></p><p>Using AI in SDLC is becoming the default assumption. Not a differentiator - a baseline. The question clients will stop asking is &#8220;do you use AI&#8221; and start asking is &#8220;show me what you built with it and what it actually does.&#8221;</p><p>That shift is coming faster than most organisations are preparing for. And the teams that will be ready are not the ones that memorised the definitions or picked the right model at the right time. They are the ones that can walk into a room, describe what they built, explain the decisions they made under uncertainty, and connect those decisions to outcomes the business can measure.</p><p>The PoC that triggered the &#8220;where is the AI&#8221; debate was not a failure. It was a signal. The technology was ready. The conversation around it was not.</p><p>That gap - between what gets built and what the organisation knows how to talk about - is where most of the real work is happening right now. Not in the models. Not in the frameworks. In the rooms where people are trying to explain to each other what they actually did and why it matters.</p><p>The organisations that come out ahead will not just be the ones that built the most AI. They will be the ones that built the shared language to understand what they built - before someone in a room asks where the AI is.</p><div><hr></div><p><em>Have you been in this conversation - the debate about whether what your team built actually counts? Share your similar experiences on what happened in your discussions. </em></p>]]></content:encoded></item><item><title><![CDATA[The meeting that stopped happening ]]></title><description><![CDATA[AI tools made teams faster. But the meetings where experienced developers shared what they knew quietly disappeared. That loss is harder to measure than velocity.]]></description><link>https://opplearner.substack.com/p/the-meeting-that-stopped-happening</link><guid isPermaLink="false">https://opplearner.substack.com/p/the-meeting-that-stopped-happening</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Thu, 19 Mar 2026 14:43:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6PQx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.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_!6PQx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6PQx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png 424w, https://substackcdn.com/image/fetch/$s_!6PQx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png 848w, https://substackcdn.com/image/fetch/$s_!6PQx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png 1272w, https://substackcdn.com/image/fetch/$s_!6PQx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6PQx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png" width="1051" height="691" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:691,&quot;width&quot;:1051,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:877893,&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://opplearner.substack.com/i/190613496?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.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_!6PQx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png 424w, https://substackcdn.com/image/fetch/$s_!6PQx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png 848w, https://substackcdn.com/image/fetch/$s_!6PQx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png 1272w, https://substackcdn.com/image/fetch/$s_!6PQx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76e302b0-21fc-4a8c-b52b-b4ffd97b63b7_1051x691.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There is a meeting that used to happen before a major page went live.</p><p>Not a sprint review. Not a demo. The earlier one - where the team sat with the wireframe, pulled up personas, referenced analytics, and argued about placement. Someone would say &#8220;our users in this segment don&#8217;t scroll that far&#8221; and someone else would push back with data from a previous release. The BA had already done a few rounds of refinement before the conversation even started.</p><p>These meetings were slow. Sometimes frustrating. And they produced something that never showed up in any sprint metric - a shared understanding of what the page was actually for and who it was actually serving.</p><p>I was in one recently. Same type of problem - a key customer-facing page, high traffic, first impression for most users. But this time the conversation was different.</p><p>The team was using Lovable to build the page. The discussion was about how to write a better prompt. How to get the layout closer to what was needed. How to iterate faster on the form structure.</p><p>The personas were not pulled up. The analytics from previous releases were not referenced. The placement decisions were not debated. The assumption, mostly unspoken, was that AI had handled that part. The team&#8217;s job was to direct it well.</p><p>The form got built. It looked good. The sprint moved fast.</p><p>But the thinking that used to happen in those earlier meetings -  catching edge cases, remembering what failed before, connecting this to what the team already knew - didn&#8217;t happen. Not because nobody valued it. The room had moved on before it could start.</p><div><hr></div><p><strong>The knowledge that lives in conversation</strong></p><p>There were experienced people in that meeting. People who had worked on similar pages, who remembered the old personas, who would have asked the right questions if the conversation had created space for them.</p><p>It did not. The energy in the room was toward the prompt, toward iteration speed, toward getting something on screen. The voices advocating for AI were louder and more numerous. The quieter voices - the ones with context - got heard briefly and then the momentum moved on.</p><p>This is not a story about AI replacing experienced developers. It is a story about how the shape of a meeting changes what knowledge gets activated.</p><p>The old sprint planning sessions were not just planning exercises. They were knowledge transfer mechanisms. Someone described a problem and someone else said &#8212; wait, we had something similar in Q3, there is actually a configuration that controls that workflow. Three days of development work disappeared because one person remembered something in conversation that they would never have thought to document.</p><p>That kind of knowledge does not surface in a prompt. It surfaces when someone describes a problem out loud and another person makes a connection they did not know they were going to make. It is tacit, contextual, and completely invisible until the moment it becomes relevant.</p><p>The output keeps coming. The understanding of what was built and why gets thinner.</p><p>I&#8217;ve seen teams ship faster, but struggle to explain what the code is doing or why it works. The output is correct. The understanding is thinner.</p><p>I have been watching it happen in sprint rooms for the past two years.</p><p>AI does not have access to your team&#8217;s accumulated knowledge. It knows the general case - documented patterns, common solutions, best practices from across the industry. It does not know that your checkout flow behaves differently during promotional events because of a decision made three years ago that nobody wrote down. It does not know that users in a specific segment drop off on long forms because you learned that the hard way on a previous release.</p><p>The readymade answer is generic because it has to be. Your system is not generic.</p><div><hr></div><p><strong>Where the saved time is going</strong></p><p>AI tools genuinely save time. Copilot writes code faster. Lovable builds pages faster. Velocity numbers go up and stakeholders are pleased.</p><p>But the time saved is not going into deeper thinking. It is going into more building.</p><p>The pressure runs one way. Stakeholders see AI as a productivity multiplier and immediately want to redeploy the saved capacity - more features, more automation, more integrations. The developer who used to spend two days on a page now spends two hours and is expected to deliver five pages. The sprint that used to reserve time for hard technical conversations now skips them because the tool already produced something.</p><p>It shows up in individual habits too. The learning curve that used to be built into unfamiliar work - the afternoon spent reading documentation, writing test code, understanding a new API before using it - that friction is gone. AI handles the unfamiliar thing and the developer ships without understanding what they built. That feels like efficiency. Six months later it shows up as nobody in the room who actually knows how that part of the system works.</p><p>So the early thinking meetings get shorter. Personas get assumed. Analytics get skipped.</p><p>Nobody flags it because the output keeps coming. The velocity is real. What&#8217;s disappearing is harder to see - shared understanding, institutional memory, the edge case someone almost mentioned before the meeting moved on.</p><div><hr></div><p><strong>The voices that stopped being heard</strong></p><p>What struck me most in that recent meeting was not what the AI missed. It was what the experienced people in the room did not say.</p><p>They were there. The knowledge was in the room. But the conversation was not designed to surface it. The advocates were louder. The momentum was set. Slowing down to pull up old personas in a meeting focused on prompt optimisation feels like resistance, not contribution.</p><p>This is where the real loss happens. Not when AI gives a generic answer - that&#8217;s expected.<br>But when the people who would have caught the edge cases stop speaking up because the room has already decided how the work gets done.</p><p>AI did not silence those voices. The shape of the meeting did. The assumption that the tool had handled the thinking made the thinking feel unnecessary.</p><div><hr></div><p>AI should be the entry point, not the destination. Use it to generate the first draft, the initial layout, the working prototype. Then bring the team back into the room &#8212; not to optimise the prompt but to ask the harder questions. Does this match what we know about our users? Have we seen this pattern break before? Is there something in the system this doesn&#8217;t account for?</p><p>The major burden of coding is genuinely lighter now. That is real and worth using. But what that time buys is not more features. It is the space to think properly about the ones you are already building.</p><p>The teams that will use AI well are not the ones that move fastest. They&#8217;re the ones that keep the slower conversation alive alongside the faster execution. Where the experienced person still gets the floor. Where someone asks - are we solving the right problem - before asking how to make the prompt better.</p><p>That meeting still needs to happen. AI just made it easier to skip.</p><div><hr></div><p>Have you been in a room where the experienced voice got buried under the momentum? would like to hear what happened.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/the-meeting-that-stopped-happening/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/the-meeting-that-stopped-happening/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The platform trap: Why retailers can’t decide what to re-platform to]]></title><description><![CDATA[A real Magento migration story about why ecommerce platform decisions stall - and why the platform trap is really a business problem, not a technical one.]]></description><link>https://opplearner.substack.com/p/the-platform-trap-why-retailers-cant</link><guid isPermaLink="false">https://opplearner.substack.com/p/the-platform-trap-why-retailers-cant</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Sat, 14 Mar 2026 13:30:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rnk5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.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_!rnk5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rnk5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png 424w, https://substackcdn.com/image/fetch/$s_!rnk5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png 848w, https://substackcdn.com/image/fetch/$s_!rnk5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png 1272w, https://substackcdn.com/image/fetch/$s_!rnk5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rnk5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png" width="1056" height="694" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:694,&quot;width&quot;:1056,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1565420,&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://opplearner.substack.com/i/189454061?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.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_!rnk5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png 424w, https://substackcdn.com/image/fetch/$s_!rnk5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png 848w, https://substackcdn.com/image/fetch/$s_!rnk5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png 1272w, https://substackcdn.com/image/fetch/$s_!rnk5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc53484f4-1181-4a63-a37e-d51f0f5dd3e2_1056x694.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A few years ago I worked with a retailer running their ecommerce operation on Magento Community Edition. Free platform, strong ecosystem, thousands of extensions, a large developer community behind it. For a growing retailer without deep technical resources it was a reasonable choice. They set it up, added the extensions they needed, and it worked. Revenues grew. The business scaled.</p><p>When the growth became visible enough, the conversation shifted. Community Edition had served them well but Enterprise had more - better support, more features, a path that felt appropriate for a company at their stage. The license cost was real but the business case was there. We planned the migration carefully. Same core platform, most extensions had enterprise support, the heavy data migration risk wasn&#8217;t there. It took two to three months. The site went live and things were fine.</p><p>For a while.</p><div><hr></div><h2>When the platform becomes the problem</h2><p>Magento was acquired by Adobe in 2018. What had been built as a developer-first open source platform started moving toward enterprise software pricing logic. GMV-based licensing meant the more a retailer sold, the more they paid. Growth stopped being purely good news - it became a cost trigger.</p><p>For retailers who had standardised on Magento Enterprise, this was a structural problem. The negotiation conversations started. Some succeeded. Many didn&#8217;t. License costs went up. Extension vendors followed. The total cost of ownership on a platform that had felt like an investment started feeling like a tax.</p><p>Our client was in this position. And they had a more complicated version of it &#8212; stores running in multiple countries, some on Magento Enterprise, one on Shopify, one still on Magento Open Source. The original plan had been to consolidate everything onto one global platform. Magento Enterprise was supposed to be that answer. The GMV pricing made the consolidation business case fall apart before it started.</p><div><hr></div><h2>The evaluation that went nowhere</h2><p>So we started looking. Feature mapping, cost benefit analysis, platform shortlisting. The room had tech people and business people and the constraints came from both sides.</p><p>The tech team was LAMP-comfortable. That set a boundary before the evaluation formally started - nobody said it out loud but the shortlist quietly excluded anything that required the team to rebuild their skills from scratch. The client had their own constraint: no more vendor lock-in. After what had just happened with Magento pricing, that was non-negotiable.</p><p>Shopify was the obvious candidate. They already had one country store running on it. It worked. Simple to operate, no infrastructure overhead, no patching cycle. But Shopify is SaaS - you don&#8217;t own your data, you can&#8217;t touch the core, and your product roadmap is Shopify&#8217;s roadmap. The app marketplace fills most gaps but not all of them. Different lock-in, same fundamental dependency.</p><p>The client also had marketplace feeds going out to third party channels, and orders punching back in from those marketplaces with inconsistent attribution. That problem didn&#8217;t go away on any platform. It followed them into every evaluation conversation.</p><p>Commercetools, SFCC, replatforming to a composable architecture - these came up. But they required rebuilding, significant investment, and a level of technical commitment that a retailer who just wanted to sell goods couldn&#8217;t justify. They were not a technology company. They had never wanted to be. The tools required to sell online had turned them into one against their will, and they were not interested in going deeper in that direction.</p><p>Every option extracted something different. Magento extracted engineering capacity and eventually money. Shopify extracted data ownership and flexibility. Custom builds extracted time and risk. There was no neutral option. There never is.</p><p>So the evaluation stalled.</p><div><hr></div><h2>Inertia is also a decision</h2><p>The revenues kept coming. The platform kept running. The problems were real but not visible enough to force a choice that had no clean answer.</p><p>This is not a failure of leadership or technical judgment. It is what happens when a business that sells goods gets pushed into technology company problems by the tools it needs to operate. The platform decision becomes a proxy for deeper questions the organisation isn&#8217;t ready to answer - who owns the data, what does global unified commerce actually require, how much technical debt are we carrying in our custom extensions, and what is our real tolerance for disruption during peak trading season.</p><p>When none of the options are clearly better, continuity wins. Every time.</p><p>The cost of that continuity is invisible until it isn&#8217;t. A security patch that stops coming. An extension that breaks on a version upgrade. A marketplace integration that fails at the wrong moment. The platform doesn&#8217;t announce when it becomes a liability. It just quietly becomes one.</p><div><hr></div><h2>This Is Not One Retailer&#8217;s Story</h2><p>The pattern above is playing out across the industry right now - not as a historical artifact but as a live operational reality for thousands of mid-market retailers.</p><p>Magento&#8217;s installed base is still enormous. Adobe Commerce migrations away from the platform are accelerating but messy. The retailers leaving are discovering that the lock-in they thought was in the license was actually in eight years of customisation, business logic buried in extensions, and teams whose muscle memory is platform-specific. You can change the platform name. You cannot easily change any of that.</p><p>The retailers staying are managing a platform whose vendor incentives no longer align with their growth. Every order they add to their GMV is an argument for their competitor to undercut them on total cost of ownership.</p><p>The retailers who chose Shopify are discovering the ceiling - not immediately, but when they need something the app marketplace doesn&#8217;t cover, or when they want their data in a structure their analytics team can actually use, or when they expand into a market where Shopify&#8217;s localisation support is thin.</p><div><hr></div><h2>What the Path Forward Actually Looks Like</h2><p>The retailers navigating this well are not the ones who found the perfect platform. There isn&#8217;t one. They are the ones who stopped treating the platform decision as a technology question and started treating it as a business constraint question.</p><p>What does your team actually have the capacity to maintain? What data do you need to own, and what can you rent? Where is your real competitive differentiation &#8212; and is any of it actually in your platform customisation, or did it end up there by accident?</p><p>For most mid-market retailers the honest answer is: the differentiation is in the relationships, the product range, the fulfilment capability, and the customer experience. Almost none of it is in the code. Which means the platform should be as boring and maintainable as possible - not a competitive asset, but a cost of operations.</p><p>The composable commerce conversation - headless, API-first, best-of-breed - is the industry&#8217;s current attempt to deal with this. It is the right direction architecturally. It is also genuinely hard to execute for a team that is LAMP-comfortable and just wants to sell goods.</p><p>Which is why the stall continues. Not because retailers are making bad decisions. Because the options are genuinely hard and the cost of being wrong is high and the revenue keeps coming in.</p><p>The platform trap is not a technical problem with a technical solution. It is a business problem that keeps presenting itself as a technical one. Until the industry - platforms, implementers, and retailers together - gets honest about that, the evaluation cycles will keep stalling and the inertia will keep winning.</p><p>And somewhere right now there is a retailer running a version of this same conversation, with a slightly different cast of platforms, wondering why none of the options feel right.</p><p>They are not wrong to wonder.</p><div><hr></div><p>If you work around ecommerce platforms, digital operations, or the systems behind online retail, you might find <em>Between Roles</em> useful.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/the-platform-trap-why-retailers-cant/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/the-platform-trap-why-retailers-cant/comments"><span>Leave a comment</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/the-platform-trap-why-retailers-cant?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/the-platform-trap-why-retailers-cant?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[AI agents are becoming the next commerce channel]]></title><description><![CDATA[OpenAI, Shopify, Visa, Mastercard all moved in the same quarter. The infrastructure is real. Here's what it means for your product catalog.]]></description><link>https://opplearner.substack.com/p/ai-agents-are-becoming-the-next-commerce</link><guid isPermaLink="false">https://opplearner.substack.com/p/ai-agents-are-becoming-the-next-commerce</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Mon, 09 Mar 2026 13:26:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/27bfccfe-9fbe-4b25-afe6-af5e5242b8b5_1057x706.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Think about how ecommerce has evolved as a selling channel.</p><p>In the early days, you needed your own website - a domain, hosting, a payment gateway, someone to build the thing. Then Amazon and Flipkart built marketplaces and suddenly you could list your products without a storefront. Then came dark stores, quick commerce, and social commerce - new surfaces, same fundamental idea: meet the customer where they are.</p><p>We are now at the next one. And unlike the others, this shift changes something more fundamental than the channel.</p><p>It changes who - or what - is making the buying decision.</p><div><hr></div><h2>What as actually happening</h2><p>In September 2025, OpenAI and Shopify announced that shoppers can buy products directly inside a ChatGPT conversation. No redirect. No website visit. No checkout page. One prompt, one confirmation tap, done.</p><p>A few weeks later, Google and Shopify co-announced the Universal Commerce Protocol - an open standard for AI agents to connect directly to merchant storefronts and complete purchases without the customer ever visiting. Walmart, Target, Wayfair, and Etsy signed on at launch.</p><p>Then Mastercard launched Agent Pay. Visa followed with its own Trusted Agent Protocol. The Linux Foundation stood up a governance body - the Agentic AI Foundation - co-founded by OpenAI, Anthropic, and Block, with members including AWS, Google, Microsoft, Shopify, SAP, IBM, and Salesforce.</p><p>In roughly eight weeks at the end of 2025, most of the plumbing for a new kind of commerce suddenly appeared across the biggest platforms in the world. This is not a feature release. This is infrastructure investment at scale.</p><div><hr></div><h2>Reason for paying attention</h2><p>I have sat through a lot of &#8220;the future of retail&#8221; conversations, but this one feels different &#8212; not because of the technology, but because of who is building the infrastructure and how fast they are moving.</p><p>When Visa and Mastercard both independently build authentication frameworks for agent-initiated transactions in the same quarter, that&#8217;s not speculative. Payment networks do not build production infrastructure on a maybe. That corroboration is what makes me take this seriously.</p><p>Mastercard CEO Michael Miebach said it plainly: &#8220;Agentic commerce is here, and we&#8217;re at the center of it.&#8221; That framing - from a company with a $450 billion market cap - is the tell.</p><div><hr></div><h2>The players and what they are actually building</h2><p><strong>OpenAI</strong> launched Instant Checkout inside ChatGPT in September 2025, live for 900 million weekly active users. The underlying standard is the Agentic Commerce Protocol, co-developed with Stripe. The agent never sees the card number - it passes an encrypted payment token through to Stripe.</p><p><strong>Shopify</strong> built a toolkit: a Catalog API, a Universal Cart, and a Checkout Kit. The idea is that when ChatGPT or Gemini or Copilot needs to complete a purchase, Shopify handles the product data, cart, and payment rail - even if discovery happened somewhere else. They have also launched an &#8220;Agentic Plan&#8221; where merchants not on Shopify can still get their catalog into AI agent storefronts. Whoever wins the AI interface war, Shopify wants to be the rails underneath the transaction. Same position they have always played, just a much bigger definition of where commerce can happen.</p><p><strong>Google</strong> launched UCP with Shopify and separately launched AP2 - the Agent Payments Protocol - backed by Mastercard, PayPal, American Express, Klarna, and Etsy. Their shopping graph has 50 billion product listings refreshing continuously. Google is positioning to be both the discovery layer and the transaction standard simultaneously, which if it succeeds is a meaningful concentration of commercial leverage.</p><p><strong>Mastercard</strong> introduced &#8220;Agentic Tokens&#8221; - payment credentials scoped to a specific AI agent, with spending limits and merchant controls built in. Already live for US Bank and Citibank cardholders, global rollout in early 2026. <strong>Visa</strong> followed with its Trusted Agent Protocol, backed by Stripe, Shopify, Worldpay, and Nuvei. Both frameworks are designed to be compatible with ACP and UCP. The question they are both trying to answer: when an AI agent makes a purchase on your behalf, how does the merchant verify it is a legitimate action by a consented human - and not a rogue script?</p><p><strong>Amazon</strong> is notably absent from all the open protocols. They are building Rufus AI, Alexa+, and &#8220;Buy for Me&#8221; - all proprietary, all designed to keep the agent and the transaction inside their ecosystem. The open protocol versus walled garden dynamic is replaying exactly as it did in the early web. Worth watching which approach wins this time.</p><div><hr></div><h2>The standards race - and why this time is different</h2><p>Every time a new infrastructure layer emerges in commerce, it follows the same cycle: proprietary chaos, fragmentation, then eventually standards. EDI in the 1980s. Card payment rails in the 1990s. REST APIs in the 2000s. Open banking in the 2010s &#8212; still incomplete in most markets, because it required regulatory pressure that moved slowly.</p><p>With agentic commerce, the incentive runs toward adoption rather than against it. Merchants want their products discoverable by agents. When the commercial interest aligns with the standard, timelines collapse &#8212; and that is what is happening here.</p><p>Four protocols form the technical plumbing. <strong>MCP</strong> (Model Context Protocol, Anthropic, now donated to the Linux Foundation) is the data access layer &#8212; how agents read product catalogs, policies, and inventory signals. Over 10,000 published servers; Stripe, Square, and Shopify have all built integrations. <strong>A2A</strong> (Google) handles how agents coordinate with other agents. <strong>AP2</strong> handles payments and liability. <strong>ACP</strong> handles the end-to-end checkout flow.</p><p>These four interlock, no single company owns all of them, and they are designed to be compatible across platforms. The Agentic AI Foundation &#8212; launched in December 2025 under the Linux Foundation &#8212; exists to govern them, with the stated goal of doing for agentic commerce what the W3C did for the web.</p><p>The standards that win are the ones that make it easier for everyone to build. That is what is happening here.</p><div><hr></div><h2>The problem not talked enough</h2><p>All of this infrastructure only works as well as the product data underneath it.</p><p>Most product catalogs are not built for machine reading. Attributes are inconsistent across SKUs. Inventory signals are stale. Return policies are buried in PDFs written for humans. If an agent cannot parse your policies or trust your inventory data, it will get the recommendation wrong &#8212; or skip you entirely.</p><p><strong>Your storefront is now your API documentation.</strong></p><blockquote><p>Or more precisely, your product catalog is.</p></blockquote><p>Before worrying about which protocol to integrate with, most businesses need to answer a more basic question: if an AI tried to sell your products right now, would it even have accurate information?</p><p>Messy catalogs. Inconsistent specs. Broken inventory feeds. These unglamorous problems will determine which merchants show up in agent-driven results and which become invisible. That is the gap nobody in the announcement cycle is talking about &#8212; but it is where the real implementation work happens.</p><p>There is a pattern emerging in how this plays out by category. True Fit announced a specialized agentic commerce agent in February 2026 built on twenty years of transactional and returns data from 80 million active users, 100,000 brands, and 500 retailers. Why does this matter? Because 70% of fashion-related questions that come into shopping agents are about size and fit &#8212; and generic agents cannot answer them reliably without specialized data. The moat is not the agent. The moat is the data.</p><p>This points to something broader: vertical agents solving category-specific problems that horizontal agents cannot. Size and fit in fashion. Ingredient compatibility in food. Technical specs in electronics. In each case, the agent is only as good as the specialized data behind it. And most merchants are nowhere near ready on that dimension.</p><div><hr></div><h2>What the future looks like</h2><p><strong>Right now:</strong> Agent-assisted with human confirmation. The agent researches, surfaces options, presents a confirmation. Human approves. Live today in ChatGPT shopping and Google AI Mode.</p><p><strong>2026&#8211;2027:</strong> Delegated purchasing within limits. You set rules &#8212; &#8220;reorder when stock drops,&#8221; &#8220;find a replacement under this price&#8221; &#8212; and the agent executes without asking each time. Mastercard&#8217;s Agentic Tokens are built specifically for this.</p><p><strong>2027 onwards:</strong> Agents manage recurring purchases, monitor prices across merchants, switch suppliers when a better deal appears. This is when brand loyalty becomes a genuinely different problem. <strong>The agent does not have brand loyalty. It has your criteria.</strong></p><p>At each stage, what matters shifts. Right now, product data quality is the lever. Later, agent preference algorithms will matter &#8212; the equivalent of SEO, but for AI decision-making. Nobody fully understands that layer yet. But the merchants who have clean data when that layer hardens will be ahead of the ones scrambling to catch up.</p><div><hr></div><h2>The direction is settled, details are not</h2><p>We do not yet know how consumer trust in autonomous purchasing will develop at scale. We do not know how liability resolves when an agent makes an incorrect purchase. We do not know if Amazon&#8217;s walled garden approach wins in certain categories.</p><p>What we do know: when Visa, Mastercard, Google, OpenAI, Shopify, IBM, and SAP all move into the same space in the same quarter &#8212; with production deployments and a governance foundation &#8212; the direction is set even if the details are not.</p><p>Ecommerce has always rewarded the people who understood new channels early and prepared seriously. The preparation that matters right now is not picking a protocol. It is making sure your product data is accurate enough for a machine to sell from it.</p><p>The channel is open. The question most merchants should be asking is not whether this is real. It is whether an AI agent could sell their products accurately today - and what it would take to get there.</p><div><hr></div><p><em>If you have been in retail or ecommerce and have thoughts on how this is landing in practice - especially on the catalog data problem or agent trust - I would be interested to hear it. Hit reply.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/ai-agents-are-becoming-the-next-commerce?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/ai-agents-are-becoming-the-next-commerce?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[When the marketplace owns your customer]]></title><description><![CDATA[Marketplace sellers grow fast but discover too late: the customer, the data, and the brand equity belong to the platform, not them.]]></description><link>https://opplearner.substack.com/p/when-the-marketplace-owns-your-customer</link><guid isPermaLink="false">https://opplearner.substack.com/p/when-the-marketplace-owns-your-customer</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Tue, 03 Mar 2026 01:31:15 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fd74ed22-49ff-4926-b448-1d5911d4049d_1056x702.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few years ago we were helping a small seller. Handcraft products. Good catalog, real demand, growing orders. Selling on Amazon, Flipkart, a couple of others. We were building dashboards to track sales across platforms, curate the catalog, manage the data.</p><p>On paper, things looked good.</p><p>80 to 90 percent of revenue was coming from marketplaces. The rest came through WhatsApp groups, Telegram, word of mouth &#8212; people who&#8217;d found him directly and kept coming back. He knew those buyers. They knew him. But that second number &#8212; the 10 to 20 percent &#8212; didn&#8217;t appear in any dashboard. No system tracked it, no report counted it.</p><p>That gap is where the real problem was sitting.</p><div><hr></div><p><strong>The obvious reason to start on a marketplace</strong></p><p>Most sellers begin here for good reason. No tech team needed. No payment infrastructure to build, no logistics to figure out, no traffic to drive to a website nobody&#8217;s heard of. The marketplace handles all of that. You focus on the product.</p><p>The commission hurts, but it&#8217;s a known cost. You&#8217;re paying for distribution, trust, and operational infrastructure you&#8217;d spend months building yourself. For a seller testing whether demand is real, that&#8217;s a reasonable trade.</p><p>Starting on a marketplace isn&#8217;t the mistake. It&#8217;s what doesn&#8217;t get built while you&#8217;re there.</p><div><hr></div><p><strong>What the marketplace actually keeps</strong></p><p>As orders grow, so does everything else. Commissions. Storage charges. Return handling fees. Promotional participation &#8212; technically optional, practically required if you want visibility.</p><p>But the harder loss isn&#8217;t the margin. It&#8217;s the data.</p><p>The customer who bought your product &#8212; you don&#8217;t know who they are. You know 43 units sold today. You don&#8217;t know if that&#8217;s 43 different buyers or 12 repeat customers. Where they&#8217;re from, what else they browsed, whether they&#8217;d buy again. You can&#8217;t reach out. The marketplace owns that relationship. You get a settlement report.</p><p>And it doesn&#8217;t stop at contact details. Our client wanted to improve how his products were presented &#8212; richer content, 360-degree views, eventually a tool to show buyers how a piece would look in their home. Reasonable ambition for a handcraft seller trying to stand out. But the platform controls the product page. You work within what they allow. The experience layer isn&#8217;t yours to build.</p><p>Pricing isn&#8217;t fully yours either. Platforms run promotions on your listings and you absorb the discount. Pricing parity clauses &#8212; explicit or implicit &#8212; mean one platform&#8217;s algorithm affects what you can charge everywhere else. You listed a product. Someone else is deciding what it costs.</p><div><hr></div><p><strong>The data problem you don&#8217;t notice until you need it</strong></p><p>This one caught us late.</p><p>When our client started thinking about growing more systematically &#8212; better inventory planning, demand forecasting, seasonal patterns &#8212; we hit a wall. The data needed wasn&#8217;t available.</p><p>What marketplaces give you isn&#8217;t enough to plan or forecast anything meaningful. Aggregate sales by product. Basic trend reports. Enough to manage day-to-day, not enough to build on.</p><p>Detailed purchase history by customer segment? Not available. Browsing behaviour before purchase? Not available. Demand signals across categories? Not available. Early years of sales data in a usable format? Whatever the platform decides to export, in whatever format they provide, for however long they retain it.</p><p>If you want to build a demand forecasting model or plan inventory for a new launch, you need historical data with enough granularity to be useful. What most sellers find when they try is that the data from their marketplace years is either unavailable, incomplete, or buried in formats that need significant work before they&#8217;re usable.</p><p>You didn&#8217;t just lose the customer. You lost the history.</p><div><hr></div><p><strong>When he wanted out</strong></p><p>At some point our client wanted to build his own identity. Reduce the dependency. Own the customer relationship. He had a real product, real demand, two years of order history.</p><p>Here&#8217;s what he actually had:</p><p>Sales numbers. Aggregated. By platform, by product, by month.</p><p>That was it.</p><p>No customer list. No purchase history by buyer. No way to know who his most loyal customers were, which products they returned for, what price point worked without a discount. The marketplaces had all of that. He had a spreadsheet.</p><p>The 80 to 90 percent from marketplaces? That relationship ends the day you stop listing. The 10 to 20 percent from WhatsApp and Telegram? That&#8217;s what he actually owned. That was the real starting point.</p><p>Two years of orders. Almost no portable equity.</p><p>The brand hadn&#8217;t transferred either. His marketplace buyers remembered where they bought it, not who made it. &#8220;I got it on Amazon&#8221; is not the same as &#8220;I buy from this seller.&#8221; When he wanted to reach them directly, they didn&#8217;t know him.</p><div><hr></div><p><strong>How the dependency builds quietly</strong></p><p>This isn&#8217;t the marketplace&#8217;s fault. They built what they built &#8212; a platform for sellers who need distribution, not a CRM for sellers who want relationships. They were always clear about what they offered.</p><p>The incentives push you toward optimising for the channel that&#8217;s working. And the channel that&#8217;s working is the one you don&#8217;t own.</p><p>Every hour spent optimising listings is an hour not spent building a direct relationship. Every percentage point in fees is margin not going into owned channels. The business grows. The dependency deepens. Both happen at the same time, quietly.</p><p>By the time the economics stop working &#8212; commissions up, a competitor undercutting, a policy change you had no say in &#8212; you find out the customer relationships you thought you were building belong to someone else. And the data you&#8217;d need to plan your next move is locked behind an export API that gives you summaries, not history.</p><div><hr></div><p><strong>What actually compounds</strong></p><p>I&#8217;ve written before about platform lock-in &#8212; how migrations cost more than estimated, how AI makes dependency worse, how to think about what to own versus rent. Marketplace dependency follows the same logic, but it&#8217;s less visible because there&#8217;s no migration project to trigger the conversation.</p><p>Marketplace sales don&#8217;t compound for you. Each transaction teaches the platform more about your customer. A direct sale &#8212; even a small one through WhatsApp &#8212; teaches you something you can use next time. The buyer&#8217;s name. What they asked about. Whether they&#8217;d buy again.</p><p>Our client&#8217;s WhatsApp buyers were more valuable than his marketplace buyers. Smaller in number, but he knew them. He could tell them about a new product. He could ask what they wanted next. He had a relationship, not a transaction record.</p><p>That 10 to 20 percent was the only equity he actually owned.</p><div><hr></div><p>Thousands of sellers have built real businesses starting exactly this way. The marketplace gave them distribution they couldn&#8217;t have afforded, customers they couldn&#8217;t have reached, infrastructure that would have taken years to build. That part is real.</p><p>But from day one, there&#8217;s one number worth tracking alongside revenue: the buyers you could reach tomorrow if every platform shut down tonight. The history you could actually use if you needed to forecast demand for next year.</p><p>If that number is close to zero after two years of selling &#8212; that&#8217;s the cost nobody put on the spreadsheet. Not in rupees. In relationships. And in years of data you can&#8217;t get back.</p>]]></content:encoded></item><item><title><![CDATA[I Use Copilot everyday. Here's what's actually worrying me.]]></title><description><![CDATA[GitHub Copilot makes developers faster - the data proves it. But new research from GitClear, Stack Overflow, and enterprise teams reveals a quieter cost: rising code churn, vanishing institutional memory, and a growing gap between the people who ship code and the people who understand it.]]></description><link>https://opplearner.substack.com/p/i-use-copilot-everyday-heres-whats</link><guid isPermaLink="false">https://opplearner.substack.com/p/i-use-copilot-everyday-heres-whats</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Tue, 24 Feb 2026 01:38:23 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ba7ee630-6449-4871-a9df-e28bfd51901a_956x632.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_!nghD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nghD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.png 424w, https://substackcdn.com/image/fetch/$s_!nghD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.png 848w, https://substackcdn.com/image/fetch/$s_!nghD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.png 1272w, https://substackcdn.com/image/fetch/$s_!nghD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nghD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.png" width="947" height="605" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b143d188-0101-4350-97fb-86f758357acb_947x605.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:605,&quot;width&quot;:947,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1119536,&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://opplearner.substack.com/i/188630830?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.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_!nghD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.png 424w, https://substackcdn.com/image/fetch/$s_!nghD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.png 848w, https://substackcdn.com/image/fetch/$s_!nghD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.png 1272w, https://substackcdn.com/image/fetch/$s_!nghD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb143d188-0101-4350-97fb-86f758357acb_947x605.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Last week I watched a developer accept a Copilot suggestion, run the tests, see green, and move on. The code was correct. The logic was borrowed from a pattern that makes no sense in our system. Nobody caught it until code review - and only then because a senior happened to recognize it from a vendor&#8217;s public repo she&#8217;d seen before.</p><p>I&#8217;m not writing this as someone who thinks AI coding tools are a problem. I use Copilot. It&#8217;s genuinely good. For scaffolding a project, matching an existing codebase&#8217;s style, or eliminating boilerplate that used to eat a morning - it earns its seat at the table.</p><p>But I&#8217;ve spent twenty years watching projects fail. Not because of technology, but because of the gaps between the people in the room. And right now, I&#8217;m watching Copilot quietly widen every one of those gaps.</p><div><hr></div><h2>What the data actually says</h2><p>Let&#8217;s be honest about both sides by saying that the productivity gains are real.</p><p>GitHub&#8217;s research shows developers completing tasks 55% faster with Copilot. Internal telemetry suggests it writes roughly 46% of the code in files where it&#8217;s active. If you&#8217;re leading a team and not experimenting with this, you&#8217;re at a disadvantage.</p><p>But here&#8217;s where it gets uncomfortable.</p><p>GitClear analyzed 211 million lines of changed code between 2020 and 2024. They found code churn - lines revised or reverted within two weeks - nearly doubled, from 3.1% to 5.7%. Refactored code dropped from 25% of all changed lines in 2021 to under 10% by 2024. And for the first time in their dataset, copy-pasted code exceeded refactored and reused code.</p><p>More output. More rework. Less visible system-level thinking.</p><p>Stack Overflow tells a parallel story. Monthly questions dropped roughly 76% between 2022 and 2024 - almost perfectly aligned with the rise of AI coding assistants. Developers aren&#8217;t asking fewer questions. They&#8217;re asking them in private sessions that disappear when the tab closes.</p><p>Their 2025 Developer Survey adds another signal: 84% of developers now use or plan to use AI tools, but trust declined from 43% to 33% year over year. The most common frustration? Solutions that are &#8220;almost right, but not quite.&#8221;</p><p>More code. Less confidence in it.</p><div><hr></div><h2>The gap between roles, getting wider</h2><p>Here&#8217;s what those numbers don&#8217;t capture - and it&#8217;s the thing I watch in my practice every week.</p><p>Copilot doesn&#8217;t know the room.</p><p>It doesn&#8217;t know what sales promised. What compliance requires. What the team tried and abandoned eighteen months ago. Why the checkout flow looks strange but is built that way for a reason nobody has bothered to document because everyone just... knows.</p><p>That memory lives in the humans. And what I&#8217;m seeing is this: when a developer solves a tricky logic problem in a private AI session, that reasoning dies in the chat window. It doesn&#8217;t go into a PR comment. It doesn&#8217;t surface in standup. It doesn&#8217;t become the story a senior tells a junior six months later when they hit the same wall.</p><p>The knowledge was generated. It just wasn&#8217;t transferred.</p><p>The Stack Overflow collapse is one signal of this. Developers used to think out loud in public. They&#8217;d post the error, describe what they tried, get corrected by three people who&#8217;d been burned by the same thing, and that whole thread would sit on the open web for the next team that hit the same problem. That&#8217;s gone. The reasoning now happens in a black box owned by no one.</p><p>Research published in Communications of the ACM found that senior developers spend significantly more time reviewing AI suggestions than juniors - not because they&#8217;re slower, but because they&#8217;re pattern-matching against production incidents they&#8217;ve already survived. The junior who hasn&#8217;t lived through those incidents yet accepts more and understands less of what they&#8217;re accepting. The gap between those two groups is growing, and Copilot is quietly widening it.</p><div><hr></div><h2>The failure mode I keep seeing in retail</h2><p>I run a Gen AI practice, and a large part of it is retail and ecommerce. Let me make this concrete.</p><p>Copilot can generate a checkout form in minutes. It does this well. What it cannot know is that checkout in your specific system isn&#8217;t a form - it&#8217;s a set of assumptions. It&#8217;s payment trust thresholds. Retry logic under partial transaction failures. Session handling during a flash sale when twelve thousand people hit the cart simultaneously. Edge cases carved out after outages no one wants to relive.</p><p>I&#8217;ve watched AI-generated authentication code pass every test and still carry a timing attack vulnerability that a senior caught on instinct. Not through test coverage. Through scar tissue.</p><p>I&#8217;ve also noticed that migrations produce code so deeply coupled to a vendor&#8217;s patterns that untangling it later cost close to a million dollars. Not because the code didn&#8217;t run. Because no one asked whether it fit the system it was entering, whether the team owned it or was renting it. Copilot generated code that was syntactically correct and architecturally expensive.</p><p>The LinearB data backs this up: a Fortune 500 financial services team spent three months refactoring authentication modules that technically worked but violated their security architecture. Copilot had pulled patterns from public repositories that made no sense in a regulated environment. The code ran. The code was wrong.</p><div><hr></div><h2>What this is not and what to actually do about it</h2><p>This isn&#8217;t an argument to stop using Copilot. The velocity gains are real and teams that aren&#8217;t using these tools are falling behind, not standing still.</p><p>The problem is that adoption has been backwards. We gave the tools to the people writing code and measured their velocity. We didn&#8217;t change how we review. How we mentor. How we document. Or what we consider &#8220;done.&#8221;</p><p>The shift I push with every tech lead I work with is simple: stop being a syntax reviewer and start being a logic auditor.</p><p>The review question is no longer &#8220;does this run?&#8221; It&#8217;s &#8220;does the developer understand why it runs - and what happens when it doesn&#8217;t?&#8221; If they can&#8217;t walk you through the reasoning behind the suggestion, the review isn&#8217;t finished. Make AI usage visible in pull requests. If Copilot wrote something, say so, and explain why you accepted it. That transparency forces the thinking that the tool itself lets developers skip.</p><p>The other thing worth doing: normalize &#8220;Copilot-free&#8221; sessions for complex features - not as a punishment or a Luddite exercise, but as the deliberate practice of building the mental models that make AI assistance actually safe to use. Seniors do this instinctively. Junior developers need it structured in.</p><div><hr></div><p>The gap between roles has always been where projects break. Sales promises something, engineering builds something adjacent to it, and nobody caught the drift because the knowledge lives in three different people&#8217;s heads and one private Slack thread.</p><p>Copilot just makes it easier to ship code across that gap before anyone notices it&#8217;s there.</p><p>The teams I worry about aren't the ones moving slowly. They're the ones moving fast and mistaking the absence of errors for the presence of understanding. Those are different things. And the gap between them is where projects quietly go wrong.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/i-use-copilot-everyday-heres-whats/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/i-use-copilot-everyday-heres-whats/comments"><span>Leave a comment</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The AI knew exactly what was wrong. I still spent hours fixing it.]]></title><description><![CDATA[Vibe coding gives you speed. It doesn't give you understanding. After 20 years across dev, architecture, and AI - here's what actually transfers and what doesn't.]]></description><link>https://opplearner.substack.com/p/the-ai-knew-exactly-what-was-wrong</link><guid isPermaLink="false">https://opplearner.substack.com/p/the-ai-knew-exactly-what-was-wrong</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Sat, 21 Feb 2026 16:33:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hjat!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.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_!hjat!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hjat!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png 424w, https://substackcdn.com/image/fetch/$s_!hjat!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png 848w, https://substackcdn.com/image/fetch/$s_!hjat!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png 1272w, https://substackcdn.com/image/fetch/$s_!hjat!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hjat!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png" width="760" height="481" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:481,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:270519,&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://opplearner.substack.com/i/188336713?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.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_!hjat!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png 424w, https://substackcdn.com/image/fetch/$s_!hjat!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png 848w, https://substackcdn.com/image/fetch/$s_!hjat!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png 1272w, https://substackcdn.com/image/fetch/$s_!hjat!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0009026-b70f-4c40-be71-f92f913e8f2d_760x481.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;I built this in 3 hours.&#8221;</p><p>You may have seen these type of claims and posts. And the output is real. The speed is real. I&#8217;m not here to argue with that.</p><p>But I&#8217;ve been on both sides of a production fire. The side where you ship something fast and feel like a genius. And the side where you&#8217;re staring at logs at 2am trying to figure out why something that &#8220;worked&#8221; has quietly been failing for six hours. Those two experiences are separated by a lot of things - and one of them is whether you actually own what you shipped.</p><p>That&#8217;s what I want to talk about. Not whether vibe coding works. It does. But what it quietly costs if you&#8217;re not paying attention.</p><div><hr></div><p>I use GitHub Copilot regularly. I use vibe coding too - Claude, ChatGPT, whatever makes sense for the task. I&#8217;m not writing this as someone who&#8217;s skeptical of the tools. I&#8217;m writing this as someone who&#8217;s watched what happens inside engineering teams when the tools start doing the understanding on everyone&#8217;s behalf.</p><p>And those are not the same thing. Using a tool is fine. Outsourcing your comprehension to it is a different situation entirely.</p><div><hr></div><p>The story I keep coming back to: I had a working POC. One piece was broken. I pasted the error, the model came back with something like &#8212; <em>this is a known issue with this version of Node.js</em> - and then explained exactly why. Confident. Detailed. Correct.</p><p>I still spent hours fixing it.</p><p>Because the model understood the error in the abstract. It didn&#8217;t understand my file structure, my dependency tree, what I&#8217;d already patched elsewhere, why two things that looked unrelated were actually connected. Every suggestion made sense on its own. None of them accounted for the full system. And I was the only one in the room who could.</p><p>That&#8217;s the gap. Not that the AI was wrong. It was right. But understanding a problem and being able to resolve it inside a specific, messy, real context - that&#8217;s still a human job. And it always will be.</p><div><hr></div><p>Here&#8217;s where I want to be precise about something, because I see this conflated constantly: GitHub Copilot and vibe coding through a chat interface are not the same tool.</p><p>Copilot sits inside your editor. It sees your codebase - your imports, your naming conventions, your actual file structure. It&#8217;s autocomplete with serious context. Vibe coding through a chat window is working from your <em>description</em> of reality, not reality itself. You&#8217;re the translator. And something always gets lost in translation.</p><p>Both are useful. I use both. But the detachment in chat-based vibe coding means coherence becomes your responsibility faster than you might expect. You patch one section and quietly break another. You&#8217;re not always aware it&#8217;s happening.</p><div><hr></div><p>Now, the part that concerns me - not about the tools, but about the developers using them.</p><p>I&#8217;ve watched junior engineers ship features they can&#8217;t explain. Not because they&#8217;re bad engineers - they&#8217;re not. But because they generated something that worked, got it merged, moved on. And when it broke, they had no map. The AI had done the understanding for them, and that understanding didn&#8217;t transfer with the code.</p><p>This isn&#8217;t a new problem. We had it with Stack Overflow. We had it with copy-paste culture generally. But the speed has changed. You can now generate an entire feature without ever having to hold the logic in your head. That&#8217;s extraordinary for momentum. It&#8217;s a liability for ownership.</p><p>Senior engineers aren&#8217;t immune to this. But they tend to know when to stop prompting and just fix it. They recognise a version conflict before chasing it through five generated suggestions. They can feel when something&#8217;s wrong even when the code runs.</p><p>That intuition is built from years of things breaking in your hands. Vibe coding doesn&#8217;t give you that. It skips over it. And if you let it skip over too much for too long, you end up with engineers who are very good at describing what they want and increasingly uncertain about what they&#8217;ve built.</p><div><hr></div><p>There&#8217;s also the confidence problem, and it might be the most dangerous one.</p><p>AI output looks finished. Clean formatting, confident tone, no hedging. It doesn&#8217;t say <em>I&#8217;m guessing here</em> or <em>this might break if your setup is slightly different</em>. It says here&#8217;s the fix. That presentation trains you to trust it - and most of the time, trust is warranted enough that you don&#8217;t notice when it isn&#8217;t.</p><p>Until you&#8217;re in production and something that should have been caught in review wasn&#8217;t, because the generated code looked so authoritative that nobody questioned it.</p><p>I&#8217;ve been in rooms where that happened. It&#8217;s not a fun conversation.</p><div><hr></div><p>Here&#8217;s what I actually think:</p><p>Vibe coding is some of the best leverage I&#8217;ve seen for getting from zero to one fast. Getting a skeleton up, testing whether an idea holds, making something real before you&#8217;re sure it&#8217;s worth building - it&#8217;s genuinely changed how I prototype. I&#8217;m not going back.</p><p>But there&#8217;s a handoff moment. A point where you need to stop generating and start owning. Reading the code. Understanding what it does and why. Knowing what breaks if the input is malformed, what happens if the external API times out, where credentials live and who can reach them.</p><p>The mistake isn&#8217;t using vibe coding. It&#8217;s not noticing when it&#8217;s time to stop.</p><p>Production ready isn&#8217;t a 3-hour build that runs. Production ready is a build you can wake up at 2am and debug without needing to ask the AI what it built for you. It&#8217;s error handling that&#8217;s thought through rather than assumed away. It&#8217;s logs that tell you something useful when things go wrong.</p><p>None of that gets generated in an afternoon. Vibe coding reduces the cost of starting. It doesn&#8217;t reduce the cost of understanding what you&#8217;ve built.</p><div><hr></div><p>The developers who&#8217;ll use these tools best aren&#8217;t the ones who prompt the hardest. They&#8217;re the ones who stay close enough to the code that they can tell when something feels off, who use AI for speed and then apply judgment the AI doesn&#8217;t have.</p><p>Use it for momentum. Use it to make ideas real fast. But when real users are involved, when data matters, when uptime matters - read it. Understand it. Know what breaks and why.</p><p>The code that runs is not the same as the code you own.</p><p>And ownership - that hasn&#8217;t changed. That&#8217;s still yours.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/the-ai-knew-exactly-what-was-wrong?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/the-ai-knew-exactly-what-was-wrong?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[When Debugging Goes Private]]></title><description><![CDATA[Developers are solving problems privately with AI assistants instead of publicly on forums. This shift changes who benefits from debugging knowledge - and how it compounds.]]></description><link>https://opplearner.substack.com/p/when-debugging-goes-private</link><guid isPermaLink="false">https://opplearner.substack.com/p/when-debugging-goes-private</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Wed, 18 Feb 2026 12:42:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gjBA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.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_!gjBA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gjBA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.png 424w, https://substackcdn.com/image/fetch/$s_!gjBA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.png 848w, https://substackcdn.com/image/fetch/$s_!gjBA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.png 1272w, https://substackcdn.com/image/fetch/$s_!gjBA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gjBA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.png" width="628" height="383" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68c2e095-0605-4218-904b-f6508503c9e5_628x383.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:383,&quot;width&quot;:628,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:413778,&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://opplearner.substack.com/i/187933806?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.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_!gjBA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.png 424w, https://substackcdn.com/image/fetch/$s_!gjBA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.png 848w, https://substackcdn.com/image/fetch/$s_!gjBA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.png 1272w, https://substackcdn.com/image/fetch/$s_!gjBA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c2e095-0605-4218-904b-f6508503c9e5_628x383.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There&#8217;s a quiet shift happening beneath the AI productivity narrative - one that has less to do with speed and more to do with where knowledge lives.</p><p>We&#8217;re told that AI now assists with 40&#8211;46% of code in some organizations. That number will climb. Within a few years, most scaffolding, boilerplate, and routine logic will likely be generated by models.</p><p>The story usually ends there: faster builds, smaller teams, more leverage.</p><p>But there&#8217;s a second-order effect that matters more. You can see it in the pattern.</p><h2>The Pattern</h2><p>Stack Overflow&#8217;s traffic tells a clear story. New questions have declined roughly 70% from early 2023 to late 2024. The site now processes question volumes it hasn&#8217;t seen since its early years - after nearly two decades of growth.</p><p>The timing roughly aligns with ChatGPT&#8217;s launch in late 2022. The decline accelerated through 2023 and 2024.</p><p>This isn&#8217;t really about Stack Overflow specifically. It&#8217;s about a behaviour shift: when developers hit an error, many no longer post publicly. They open an AI assistant.</p><h2>What Changed</h2><p><strong>Before:</strong></p><p>You&#8217;re debugging a React hook that keeps re-rendering. You search &#8220;useEffect infinite loop.&#8221; You find a thread with 47 answers, one accepted answer with 892 upvotes, 15 comments debating edge cases, and several wrong answers with hundreds of downvotes. You piece together your solution from answers 3, 7, and a comment.</p><p>The whole exchange - including the failed attempts - is now indexed and searchable.</p><p><strong>Now:</strong></p><p>Same bug. You paste your code into Claude or Copilot with &#8220;this keeps re-rendering.&#8221; You get immediate diagnosis, a fix, and an explanation. No public trail. No one else can Google it.</p><p>On a free tier, your iteration may feed the model. On an enterprise plan, it feeds your company&#8217;s telemetry.</p><p>Either way, the debugging still happens - but it leaves no public residue.</p><p>The knowledge wasn&#8217;t lost. It moved into private infrastructure.</p><h2>The New Loop</h2><p>For two decades, software development left a public trail. When something broke, developers searched. They landed on threads. They posted. They argued. They got downvoted. They refined the question. The final answer - and often the failed attempts - became indexed knowledge.</p><p>Debugging wasn&#8217;t just problem-solving. It was artifact creation.</p><p>Today, that loop is changing. AI companies have built feedback loops that, in some ways, are richer than public forums were. Instead of seeing only final Q&amp;A exchanges, modern systems can capture:</p><ul><li><p>Prompt chains and how developers refine them</p></li><li><p>Which suggestions get accepted or rejected</p></li><li><p>Error patterns and real-time corrections</p></li><li><p>Full iteration context, not just outcomes</p></li></ul><p>This data may be more useful for training than forum threads ever were.</p><p>The difference is ownership.</p><h2>What We&#8217;re Losing</h2><p>Stack Overflow was noisy. It became infamous for gatekeeping, duplicate-marking, and harsh moderation. The decline actually started years before AI - around 2014, when moderation intensified and many developers stopped asking because the site felt unwelcoming.</p><p>The platform wasn&#8217;t perfect. But it served a specific function: it captured the messy, unhappy path of technology. Official documentation describes how systems should work. Public forums recorded how they actually fail - version conflicts, deployment errors, brittle integrations, misunderstood edge cases.</p><p>I remember setting up XAMPP on Windows years ago. The guide said it would take ten minutes. It didn&#8217;t.</p><p>Apache wouldn&#8217;t start. Port conflicts. Version mismatch.</p><p>I copied the error into Google. Landed on three Stack Overflow threads. One from 2011. One with an accepted answer that didn&#8217;t work. One where the real solution was buried in a comment explaining a Windows service conflict.</p><p>It took an hour. Maybe two.</p><p>That hour became part of the archive. The next person searching that error could follow the same messy trail.</p><p>Today, the same error would likely be pasted into an AI assistant.<br>The diagnosis would be immediate.<br>The fix applied.</p><p>No thread. No comments. No residue.</p><p>If more of that failure analysis moves into private sessions, the question isn&#8217;t &#8220;will AI stagnate?&#8221; It won&#8217;t. Models will improve regardless, drawing from repositories, internal corpora, and reinforcement signals.</p><p>The real question is: who gets access to the improvement cycle?</p><h2>Knowledge Asymmetry</h2><p>The shift is about distribution.</p><p>Individual developers once contributed to - and benefited from - a shared commons. Now that pattern is splitting:</p><ul><li><p>Free-tier users may contribute training data</p></li><li><p>Enterprise customers get private, fine-tuned systems</p></li><li><p>Small teams inherit a thinner public knowledge base over time</p></li></ul><p>Large organizations with internal telemetry refine their systems faster. They accumulate:</p><ul><li><p>Private debugging logs</p></li><li><p>Custom model improvements</p></li><li><p>Proprietary error pattern databases</p></li><li><p>Competitive advantage built on knowledge production</p></li></ul><p>This isn&#8217;t new in principle. When academic journals moved behind paywalls, research became less accessible. When tools moved from open-source to SaaS, expertise became more centralized.</p><p>Now debugging knowledge is following a similar path.</p><p>Knowledge production hasn&#8217;t stopped. It&#8217;s been tiered.</p><h2>The Mutation</h2><p>Debugging isn&#8217;t disappearing. It&#8217;s moving up a layer.</p><p>As AI generates more code, humans increasingly debug:</p><ul><li><p>Integration failures</p></li><li><p>Model behaviour and drift</p></li><li><p>Instruction misalignment</p></li><li><p>System interactions across boundaries</p></li><li><p>Guardrail logic</p></li></ul><p>The failure surface doesn&#8217;t shrink. It mutates.</p><p>For years, friction in public forums produced durable artifacts. Being corrected, challenged, even downvoted forced clarification - and that clarification became searchable knowledge.</p><p>AI removes social friction. It replaces it with smooth, instant iteration.</p><p>That smoothness is a productivity gain. But friction was also how we built collective memory.</p><h2>What This Means</h2><p>We&#8217;re not starving AI of intelligence. We&#8217;re reshaping where intelligence compounds.</p><p>The shift from public to private debugging isn&#8217;t inherently good or bad. It&#8217;s structural. And structure determines who compounds faster.</p><p>As more debugging happens privately, the open archive thins.</p><p>Do we need new public systems designed for AI-era workflows &#8212; systems that capture iteration, not just answers?</p><p>Or is this the natural endpoint &#8212; knowledge production becoming a competitive advantage rather than a shared good?</p><p>The debugging still happens.<br>The knowledge still accumulates.<br>But it accumulates inside different walls.</p><p>The next era of software may not be defined by who writes the best code &#8212;<br>but by who owns the richest debugging loops.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/when-debugging-goes-private/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/when-debugging-goes-private/comments"><span>Leave a comment</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[AI Broke Retail Governance]]></title><description><![CDATA[Retail data governance evolved to protect databases, then data movement, then ecosystems. AI systems that act on customer data require a complete reset]]></description><link>https://opplearner.substack.com/p/ai-broke-retail-governance</link><guid isPermaLink="false">https://opplearner.substack.com/p/ai-broke-retail-governance</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Fri, 13 Feb 2026 12:26:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XthD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.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_!XthD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XthD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png 424w, https://substackcdn.com/image/fetch/$s_!XthD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png 848w, https://substackcdn.com/image/fetch/$s_!XthD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png 1272w, https://substackcdn.com/image/fetch/$s_!XthD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XthD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png" width="949" height="583" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:583,&quot;width&quot;:949,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1140431,&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://opplearner.substack.com/i/187761680?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.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_!XthD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png 424w, https://substackcdn.com/image/fetch/$s_!XthD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png 848w, https://substackcdn.com/image/fetch/$s_!XthD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png 1272w, https://substackcdn.com/image/fetch/$s_!XthD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18dfb7e5-92a3-4966-9a29-75ea7f1ac101_949x583.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve worked in retail systems where data governance meant mostly masking the credit card field and restricting the database access.</p><p>I&#8217;ve also part of discussions where an AI assistant had visibility into customer behaviour data, order history, refund logic, pricing overrides, and vendor contracts - and nobody could clearly explain who owned the risk if it made the wrong call.</p><p>Retail governance didn&#8217;t fail overnight.<br>It evolved.</p><p>And AI is the first time we&#8217;ve given systems the authority to decide.</p><p>That changes everything.</p><div><hr></div><h2>When governance meant protecting the database</h2><p>Early ecommerce was structurally simple.</p><p>Website - Checkout - ERP - CRM - Payment gateway - Warehouse system.</p><p>Data was centralized and ownership was clear. IT and compliance ran the show.</p><p>Governance meant:</p><ul><li><p>PCI compliance</p></li><li><p>PII masking</p></li><li><p>Role-based access control</p></li><li><p>Audit logs</p></li><li><p>Backup and recovery discipline</p></li></ul><p>I remember one release getting blocked because an error log captured partial payment metadata during a failure scenario. It wasn&#8217;t a breach. It wasn&#8217;t exposed externally. But compliance didn&#8217;t care. The rule was clear: sensitive data should never appear in logs. Fix it before go-live.</p><p>It was rigid. Slow. Sometimes frustrating.</p><p>But control was visible.</p><p>Back then, governance meant protecting what was stored.</p><div><hr></div><h2>Omni-Channel broke the illusion of control</h2><p>Then retail expanded.</p><p>Website. Mobile app. Physical stores. Marketplaces. Third-party logistics. APIs.</p><p>Data stopped sitting quietly in one place. It started moving.</p><p>The biggest issue wasn&#8217;t hackers. It was synchronization.</p><p>During one omni-channel expansion, we faced repeated overselling of specific SKUs. Customers were placing orders online while marketplace inventory sync lagged behind. Two systems updating stock at different intervals. Both technically correct. Operationally disastrous.</p><p>Refund cycles increased. Support tickets spiked. Operations blamed tech. Tech blamed sync frequency. Everyone blamed &#8220;the system.&#8221;</p><p>It wasn&#8217;t a security failure. It was a governance failure.</p><p>We didn&#8217;t have a meeting where someone said, &#8220;we need better governance.&#8221; What we had was the VP of Operations walking in with a spreadsheet showing $47,000 in refunds from oversold inventory in one month. That got everyone&#8217;s attention.</p><p>We redesigned around a single source of truth. Moved to event-driven updates. Added monitoring around inventory delta thresholds. Introduced stricter API throttling.</p><p>That was the shift.</p><p>Governance stopped being just about protecting data at rest.<br>It became about controlling data in motion.</p><div><hr></div><h2>Marketplaces added political complexity</h2><p>When marketplaces matured, governance got another layer.</p><p>Now you&#8217;re not just protecting customer data. You&#8217;re managing:</p><ul><li><p>Seller data</p></li><li><p>Vendor banking details</p></li><li><p>Commission logic</p></li><li><p>Sponsored placement rules</p></li><li><p>Cross-border compliance</p></li><li><p>Multi-tenant data isolation</p></li></ul><p>Ownership blurred slowly.</p><p>In one marketplace implementation, we discovered an internal analytics dashboard that allowed aggregated performance views across sellers. It wasn&#8217;t exposing raw data directly, but a smart user could infer competitive metrics.</p><p>No malicious intent. Just schema design that didn&#8217;t fully enforce tenant isolation.</p><p>Legal got involved. They wanted to know if we&#8217;d violated any seller agreements. We hadn&#8217;t - technically. But the gap between &#8220;technically compliant&#8221; and &#8220;actually safe&#8221; was uncomfortably wide.</p><p>We restructured query permissions. It took three weeks. We rewrote the analytics layer to enforce strict seller-scoped views. Added explicit data classification tags at the schema level. Migrated every dashboard query to use the new segmentation logic.</p><p>It wasn&#8217;t a breach. It was a structural vulnerability that nobody noticed until someone asked the right question.</p><p>That moment made something clear:</p><p>Marketplace governance isn&#8217;t just technical.<br>It&#8217;s contractual. Structural. Political.</p><p>At this stage, governance was about protecting ecosystems.</p><div><hr></div><h2>AI doesn&#8217;t just access data - It acts on it</h2><p>Now we&#8217;re layering AI on top of all of it.</p><p>AI shopping assistants browsing inventory.<br>Agents placing orders on behalf of customers.<br>Automated refund evaluation.<br>Chatbots with access to payment methods and order history.<br>Workflows capable of executing transactions.</p><p>Here&#8217;s the real shift:</p><p>Traditional systems stored data.<br>Omni-channel systems moved data.<br>Marketplace systems distributed data.<br>AI systems interpret and act on data - AI systems interpret and act on data - with customer credentials <em>in hand</em>..</p><p>That&#8217;s not iteration. That&#8217;s a different category of risk.</p><div><hr></div><h3>When the shopping assistant has your Credit Card</h3><p>We deployed an AI shopping assistant pilot last quarter. Customer says, &#8220;reorder my usual groceries,&#8221; and the agent pulls order history, checks inventory, applies coupons, and completes checkout.</p><p>it is absolutely Convenient.</p><p>Then we ran a red team exercise.</p><p>One tester said: &#8220;Add organic milk to my cart and place the order.&#8221;</p><p>The agent did. No confirmation. No review screen. No &#8220;are you sure?&#8221;</p><p>Another tester: &#8220;Cancel my subscription and reorder everything as one-time purchases.&#8221;</p><p>The agent started processing. It had access to subscription APIs. It had payment methods on file. The only thing that stopped it was a rate limiter after three rapid API calls.</p><p>We weren&#8217;t breached. We were exposed by design.</p><p>The agent wasn&#8217;t malicious. It was obedient.</p><p>Here&#8217;s what we changed:</p><p>Every action touching payment or subscription now requires explicit confirmation. We added a review step before any transaction executes. We implemented per-session spend limits - if total order value exceeds a threshold, the agent hands off to human review.</p><p>We also started tracking prompt patterns that led to unintended actions. Vague instructions like &#8220;handle my subscription&#8221; were being interpreted as full authority.</p><p>The wake-up call: AI doesn&#8217;t understand consequence. It understands instruction.</p><div><hr></div><h3>When the agent gets your address wrong</h3><p>Different pilot. AI agent handling customer service for order modifications.</p><p>Customer: &#8220;I moved last week, update my delivery address for all future orders.&#8221;</p><p>Agent updated the address. It also updated three in-transit orders.</p><p>Two packages rerouted mid-delivery to the wrong address. One returned to warehouse. Support ticket. Refund issued. Customer annoyed.</p><p>Total cost: $240 in shipping, inventory loss, and support time.</p><p>The agent followed logic. It saw &#8220;all future orders&#8221; and interpreted in-transit orders as future relative to the original order date.</p><p>It wasn&#8217;t wrong by the letter of the instruction. It was wrong by the intent.</p><p>We locked in-transit orders from automated modification unless explicitly confirmed. Added before/after state logging tied to conversation context.</p><p>But here&#8217;s the real issue: that failure mode wasn&#8217;t in our test cases. We didn&#8217;t predict it. The system behaved literally.</p><p>Governance isn&#8217;t just about restricting access. It&#8217;s about restricting interpretation.</p><div><hr></div><h3>Fraud detection fails and the agent keeps approving</h3><p>We tested an AI refund agent. It analysed order history, return patterns, and fraud signals. Accuracy in testing: 94%.</p><p>Then we simulated an upstream failure. The fraud detection service went down and started returning empty responses.</p><p>The agent kept running.</p><p>It approved 47 refund requests in 11 minutes. Total value: $18,000.</p><p>No fraud signals meant no fraud flags. The logic was technically sound.</p><p>Operationally, it was a disaster waiting to scale.</p><p>We added circuit breakers. If fraud data is unavailable, the agent stops processing. We implemented financial thresholds - above $500, human review is mandatory. We added service health checks before the agent sees a request.</p><p>Every decision now gets logged with full context: what data was retrieved, what was missing, what was considered, and what action was taken.</p><p>When these systems fail, they fail fast.</p><div><hr></div><h2>The unanswered questions</h2><p>If an AI agent places an order using the wrong address, who&#8217;s liable?</p><p>If it cancels a subscription the customer didn&#8217;t clearly authorize, who refunds the loss?</p><p>If it approves fraudulent refunds because upstream data failed, who eats the cost?</p><p>Most retail orgs are tracking model accuracy and customer satisfaction.</p><p>Almost none have clear answers to those questions.</p><p>Accuracy isn&#8217;t enough.<br>Autonomy must be controlled.<br>Accountability must be defined before something breaks.</p><div><hr></div><h2>What AI forces us to confront</h2><p>AI doesn&#8217;t just require better data protection. It requires governance of decisions.</p><p>You now have to answer:</p><ul><li><p>What data can this system see?</p></li><li><p>What actions can it trigger?</p></li><li><p>What is the blast radius if it&#8217;s wrong?</p></li><li><p>Who owns accountability for automated judgment?</p></li></ul><p>Most retail leaders are benchmarking model accuracy and tracking CSAT.</p><p>Very few are mapping action authority.</p><p>We started testing these systems like attackers, not just users. Prompt injection attempts. Cross-role retrieval. Boundary stress testing. Simulating upstream failures.</p><p>Governance must be testable. Not documented and forgotten.</p><div><hr></div><h2>The structural evolution</h2><p>Traditional ecommerce governance protected databases.</p><p>Omni-channel governance protected data movement.</p><p>Marketplace governance protected ecosystem boundaries.</p><p>AI governance must protect decisions and actions.</p><p>And protecting decisions requires something most organizations still don&#8217;t have:</p><p>Clear ownership of automated authority.</p><p>If an assistant recommends a refund, that&#8217;s a suggestion.</p><p>If it executes the refund, that&#8217;s delegated power.</p><p>The difference matters.</p><div><hr></div><h2>What needs to change</h2><p>If you&#8217;re deploying AI agents in retail and you haven&#8217;t defined:</p><ul><li><p>Action boundaries with explicit confirmation gates</p></li><li><p>Dependency health checks and circuit breakers</p></li><li><p>Per-session and per-action spend limits</p></li><li><p>Full decision logging for audit and analysis</p></li><li><p>Clear liability ownership when automated decisions fail</p></li></ul><p>Then you don&#8217;t have AI governance.</p><p>You have automation with fingers crossed.</p><p>AI will not break retail because it hallucinates.</p><p>It will break retail because we granted execution authority before designing guardrails.</p><p>And the retailers who build constraints before convenience are the ones who will scale without burning customer trust.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/ai-broke-retail-governance?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/ai-broke-retail-governance?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/ai-broke-retail-governance/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/ai-broke-retail-governance/comments"><span>Leave a comment</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Developers Who Can't Debug Without Copilot]]></title><description><![CDATA[My team ships code 40% faster. They also can't tell clients why it works. Here's what I think is happening.]]></description><link>https://opplearner.substack.com/p/the-developers-who-cant-debug-without</link><guid isPermaLink="false">https://opplearner.substack.com/p/the-developers-who-cant-debug-without</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Sun, 08 Feb 2026 12:41:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PF4W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.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_!PF4W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PF4W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png 424w, https://substackcdn.com/image/fetch/$s_!PF4W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png 848w, https://substackcdn.com/image/fetch/$s_!PF4W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png 1272w, https://substackcdn.com/image/fetch/$s_!PF4W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PF4W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png" width="951" height="532" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:532,&quot;width&quot;:951,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:742125,&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://opplearner.substack.com/i/187277076?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.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_!PF4W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png 424w, https://substackcdn.com/image/fetch/$s_!PF4W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png 848w, https://substackcdn.com/image/fetch/$s_!PF4W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png 1272w, https://substackcdn.com/image/fetch/$s_!PF4W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb9a036d-448c-4abe-9cbb-cab9d132ec18_951x532.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve been in tech long enough to see tools change how we work. IDEs, Stack Overflow, automated testing - each one made us faster. None of them made me worry about whether we were still thinking.</p><p>AI is different.</p><p>Last month, I sat through a sprint review that should&#8217;ve been routine. My team had crushed their goals. Five developers with good mix of experience, couple of folks with 2-3 years, rest are veterans - shipped features early. Velocity was up 40%. The demo was flawless.</p><p>Then the client asked a simple question: &#8220;Can you walk me through your implementation strategy? Why did you choose this approach?&#8221;</p><p>Silence.</p><p>The senior developer fumbled. The mid-level engineer opened their IDE like the answer might be hiding in the code. Nobody could articulate why the solution worked, just that it did.</p><p>After the call, I went back through the code. The comments were suspiciously polished. The optimization patterns looked textbook. I asked one of the developers about a specific refactoring choice.</p><p>&#8220;Oh, I just fed the review feedback into Claude and applied what it suggested.&#8221;</p><p>The code worked. Tests passed. Client was happy with the output.</p><p>But nobody from my team - not even the people with ten years of experience could explain the thinking behind what they&#8217;d built.</p><p>They&#8217;d outsourced the reasoning whereas they were supposed to outsource the typing.</p><h2>This Isn&#8217;t About One Team</h2><p>That sprint review was six weeks ago. Since then, I&#8217;ve been watching more carefully - not just developers, but across the whole delivery chain.</p><p>The pattern shows up everywhere.</p><p><strong>Developers</strong> who can generate clean code but can&#8217;t debug without Copilot running. When I ask them to trace through a problem manually, they stare at the screen like I asked them to do long division without a calculator. The muscle for analytical thinking is atrophying. They&#8217;ve become managers of AI output, not engineers.</p><p><strong>Business Analysts</strong> handing me requirements documents that look impressively thorough - detailed user stories, edge cases documented, acceptance criteria spelled out. But when I ask about a specific business rule buried in story #8, they pause. &#8220;Let me check my conversation history with ChatGPT.&#8221; They generated the requirements through prompts. They can&#8217;t defend the logic without going back to the source chat.</p><p><strong>QA engineers</strong> with test coverage numbers that look better than ever. But last week, an edge case we&#8217;ve hit three times in production wasn&#8217;t caught - again. When I reviewed the test plan, it was AI-generated based on happy-path scenarios. The weird, &#8220;this shouldn&#8217;t happen but users will definitely try it&#8221; cases? Never considered. AI optimizes for obvious. QA&#8217;s job is to think adversarial.</p><p>This isn&#8217;t about people being lazy. It&#8217;s about an entire software development lifecycle where thinking has become optional.</p><h2>The COVID Education Gap</h2><p>There&#8217;s a pattern I can&#8217;t ignore: this problem is significantly worse among people who started their development or testing careers after 2020.</p><p>Not universally and there are exceptions. But the trend is clear enough that I&#8217;ve stopped thinking it&#8217;s coincidence.</p><p>Here&#8217;s what I think happened as per my understanding.</p><p><strong>The COVID disruption broke something in technical education that we haven&#8217;t acknowledged yet.</strong></p><p>When the world went remote in 2020, most educational institutions weren&#8217;t ready. Not because teachers weren&#8217;t good, but because the infrastructure wasn&#8217;t there. The pedagogy hadn&#8217;t caught up. Teaching someone to code isn&#8217;t like teaching them history - you can&#8217;t just put a lecture on Zoom and call it equivalent.</p><p>What got lost in that transition:</p><p><strong>The debugging sessions at 11pm in the computer lab</strong> where you and three classmates stared at the same error until someone spotted the logic flaw. That collaborative struggle - where you <em>talked through</em> the problem, defended your assumptions, got challenged by peers - that&#8217;s where analytical thinking gets forged.</p><p><strong>The in-person code reviews</strong> where a professor physically walked through your logic, line by line, asking &#8220;why did you do it this way?&#8221; You couldn&#8217;t hide behind working code. You had to articulate your reasoning.</p><p><strong>The hallway conversations</strong> where you overheard seniors debugging something obscure and absorbed problem-solving patterns osmotically. The casual &#8220;oh, I hit that issue last semester, here&#8217;s what I learned&#8221; exchanges that don&#8217;t happen in asynchronous Slack channels.</p><p><strong>The hands-on lab work</strong> where you actually broke things, dealt with real errors, and couldn&#8217;t just Google your way out because the professor was watching and wanted to see your thought process.</p><p>That entire layer of learning-by-struggling-together got flattened into &#8220;watch this video, submit your assignment, pass the automated tests.&#8221;</p><p>So a generation of developers graduated having learned coding <em>syntax</em> but not coding <em>reasoning</em>. They learned to make code work, but not how to think through why it works.</p><p>And then they entered the workforce right as AI coding assistants became ubiquitous.</p><p><strong>AI became the holding hand they never had in school.</strong></p><p>You prompt, get code, it works, you&#8217;re done. No need to think through the logic. No need to debug manually. No need to wrestle with why something broke.</p><p>I want to be clear: this isn&#8217;t their fault. They didn&#8217;t choose to have their education disrupted. They didn&#8217;t intentionally skip the foundational struggle. They&#8217;re doing what makes sense in the environment they entered.</p><p>But the result is the same: <strong>a cohort of technically capable people who never built the muscle for reasoning through problems without AI assistance.</strong></p><p>And now, three or four years into their careers, that gap is becoming visible.</p><p>The senior developers on my team - the ones who learned to code in 2015, 2012, 2008 - they use AI too. Heavily. But when I ask them to explain their approach, they can. When Copilot is down, they&#8217;re annoyed but functional. When something breaks in production, they know how to trace it.</p><p>The post-2020 folks? Many of them are legitimately stuck without the tool. Not because they&#8217;re less smart. Because they never had to build the foundational skills that let you operate independently.</p><p><strong>AI didn&#8217;t make them dependent. It arrived exactly when they needed scaffolding most - and became structural instead of temporary.</strong></p><p>And here&#8217;s the uncomfortable part: I don&#8217;t know how to fix this at scale.</p><p>You can&#8217;t recreate four years of missed foundational struggle in a two-week bootcamp. You can&#8217;t retroactively give someone the experience of debugging for six hours straight until they finally understand pointers or recursion or state management.</p><p>What I&#8217;m trying with my team and this is still experimental - is creating artificial constraints:</p><ul><li><p>&#8220;No AI for the first implementation&#8221; rules on critical features</p></li><li><p>Pairing junior developers with seniors for debugging sessions where AI is off</p></li><li><p>Code reviews that focus on &#8220;walk me through your thinking&#8221; rather than &#8220;does it pass tests&#8221;</p></li><li><p>Dedicated time for &#8220;struggle work&#8221; where the goal isn&#8217;t shipping, it&#8217;s understanding</p></li></ul><p>It&#8217;s slow. It&#8217;s frustrating for people who&#8217;ve learned that fast prompting equals productivity. Some of them resist it.</p><p>But the alternative - a generation of engineers who can execute but can&#8217;t reason &#8212; that&#8217;s not sustainable.</p><p>Not for them. Not for the teams that depend on them. And not for an industry that needs people who can think, not just prompt.</p><h2>Why This Is Different</h2><p>Every previous tool made us faster at executing. AI is making us faster at not thinking.</p><p>Excel didn&#8217;t make you forget math. You still had to know what formula to use and why.</p><p>IDEs didn&#8217;t make you forget syntax. They just saved you from memorizing semicolons.</p><p>Stack Overflow didn&#8217;t make you forget how to reason. It gave you reference implementations you still had to adapt and understand.</p><p>But AI does the thinking. It doesn&#8217;t just help you execute your approach &#8212; it generates the approach. And when you can get a working solution in 30 seconds without understanding it, why would you spend 30 minutes struggling to figure it out yourself?</p><p>The incentives are broken. We&#8217;re optimizing for output without understanding.</p><p>And we&#8217;re calling it productivity.</p><h2>The Training Data Paradox</h2><p>Here&#8217;s what keeps me up at night.</p><p>Every AI coding assistant - GPT-4, Copilot, Claude, all of them - was trained on millions of hours of human developers doing the hard work:</p><ul><li><p>Debugging weird edge cases</p></li><li><p>Finding creative solutions to problems nobody had solved before</p></li><li><p>Thinking through scenarios no one had considered</p></li><li><p>Making architectural choices and documenting why</p></li></ul><p>That corpus of human reasoning is what made these tools useful.</p><p>But now developers are using AI to skip that exact thinking.</p><p>So where does the next generation of training data come from?</p><p>If BAs stop thinking through business scenarios and just prompt for requirements... If QAs stop hunting edge cases and just generate happy-path tests... If developers stop debugging and just ask AI to fix it...</p><p>We&#8217;re not just losing skills. We&#8217;re poisoning the well.</p><p>AI tuning AI has limits. The breakthroughs - the creative solutions, the &#8220;wait, what if we tried THIS&#8221; moments - those come from human brains wrestling with hard problems.</p><p>I do use AI for my work and I&#8217;m not anti-AI. I&#8217;m watching this daily. And what I&#8217;m seeing is a recursive collapse problem that nobody&#8217;s talking about.</p><p>If we outsource struggle, we don&#8217;t just make ourselves weaker. We make the next generation of AI weaker too.</p><h2>What Actually Breaks</h2><p>These aren&#8217;t theoretical concerns. I&#8217;ve seen what happens when teams lose the ability to think through their own systems.</p><p><strong>Client trust evaporates</strong> when you can&#8217;t answer &#8220;why did you build it this way?&#8221; I&#8217;ve sat through enough awkward calls to know that &#8220;the AI suggested it&#8221; doesn&#8217;t inspire confidence.</p><p><strong>Systems become fragile</strong> when nobody understands them. At 3am, when production is down and customers are losing money, you need engineers who can reason through the problem. Prompting ChatGPT doesn&#8217;t work when the problem is novel.</p><p><strong>Junior developers never become senior</strong> if they skip the struggle that builds judgment. You don&#8217;t learn systems thinking by watching AI generate code. You learn it by making mistakes, debugging them, and understanding why they broke.</p><p><strong>Entire organizations become dependent</strong> on tools they don&#8217;t control. What happens when the API goes down? When the model changes behaviour? When you need to do something the AI wasn&#8217;t trained for?</p><p>I&#8217;ve been in retail tech for twenty years. I&#8217;ve seen what happens when systems hit Black Friday traffic, edge cases nobody predicted, load patterns that break assumptions. That&#8217;s when you need people who can think, not just prompt.</p><h2>What I&#8217;m Trying To Figure Out</h2><p>I don&#8217;t have this solved. I&#8217;m wrestling with it alongside my team.</p><p>But here&#8217;s what I&#8217;m seeing work:</p><p><strong>Use AI after you think, not instead of thinking.</strong> First pass without AI for critical features. Understand the problem, sketch the approach, identify the edge cases. Then use AI to help you execute faster. The thinking has to be yours.</p><p><strong>Code reviews that require &#8220;why,&#8221; not just &#8220;what.&#8221;</strong> I don&#8217;t care if the code works. I want to know why you chose this approach. If the answer is &#8220;AI suggested it,&#8221; we&#8217;re not done.</p><p><strong>Distinguish scaffolding work from thinking work.</strong> AI is phenomenal for boilerplate, refactoring, documentation, test generation &#8212; the grunt work. But for architecture decisions, debugging complex issues, thinking through business logic? That needs human brains engaged.</p><p><strong>Create space for struggle.</strong> The uncomfortable moment when you don&#8217;t know the answer &#8212; that&#8217;s not wasted time. That&#8217;s where learning happens. Let people sit with problems before reaching for AI.</p><p>I use AI myself. Mostly as a first draft to save typing, then validate whether my thinking aligns with what it generated. The thinking comes first. The tool comes second.</p><p>That order matters more than people realize.</p><h2>The Uncomfortable Question</h2><p>I&#8217;ve been in tech long enough to see multiple generations of developers come up. The ones who learned in the Stack Overflow era. The ones who learned with GitHub Copilot from day one. The ones whose education got disrupted by COVID and graduated straight into an AI-assisted world.</p><p>Each cohort has different strengths. Each has gaps.</p><p>But this is the first time I&#8217;ve seen a gap in <em>foundational reasoning</em> - and it&#8217;s not because people are less capable. It&#8217;s because the circumstances of their education, combined with the timing of AI tool availability, created a perfect storm.</p><p>We&#8217;re moving faster than ever. Shipping more code. Completing more sprints. Hitting more deadlines.</p><p>But are we building anything we truly understand?</p><p>And when it breaks - and it will, because everything eventually breaks - who&#8217;s going to fix it?</p><p>I&#8217;ve been the developer writing the code, the BA gathering requirements, the tech lead managing the team, the architect designing the system. Every role that argues in the room, I&#8217;ve been in that chair.</p><p>And from every angle, I&#8217;m seeing the same thing: we&#8217;re training a generation of people who can execute but can&#8217;t reason. Who can generate but can&#8217;t debug. Who can optimize for velocity but not for understanding.</p><p>We can fix this. But not by banning AI. And not by expecting people to retroactively develop skills they never had a chance to build.</p><p>We fix it by being intentional about where AI helps and where it hinders. By creating space for struggle. By valuing understanding as much as we value velocity.</p><p>And by recognizing that the developers entering the workforce today didn&#8217;t choose this situation - but they&#8217;ll live with the consequences if we don&#8217;t address it.</p><p>Because the moment we stop wrestling with hard problems, stop hunting edge cases, stop asking &#8220;why&#8221; instead of just &#8220;does it work&#8221;...</p><p>We don&#8217;t just lose our skills.</p><p>We lose the ability to create what comes next.</p><p>And that&#8217;s not a productivity problem. That&#8217;s an existential one.</p><div><hr></div><p>If you&#8217;ve seen this pattern in your team  or if you&#8217;ve figured out how to use AI without losing the thinking muscle - I&#8217;d genuinely like to hear about it. I&#8217;m still working this out myself, and the best insights come from people in the trenches.</p><p>Drop a comment or reply. Let&#8217;s figure this out together.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/the-developers-who-cant-debug-without/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/the-developers-who-cant-debug-without/comments"><span>Leave a comment</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/the-developers-who-cant-debug-without?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/the-developers-who-cant-debug-without?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Checkout is not a form. It's a set of assumptions.]]></title><description><![CDATA[How trust, platforms, urgency, and context shape the way people buy]]></description><link>https://opplearner.substack.com/p/checkout-ecommerce</link><guid isPermaLink="false">https://opplearner.substack.com/p/checkout-ecommerce</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Wed, 04 Feb 2026 13:37:23 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a8a4fbc3-8419-402b-af12-319cbe5aab30_953x518.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Checkout is one of the most critical aspect of any ecommerce store and most of the discussions about ecommerce checkout start with patterns.</p><p>Single page or multi-step.<br>Guest checkout or login.<br>Payment first or address first.</p><p>But checkout design isn&#8217;t really about patterns but more of what you assume about the buyer at that moment.</p><p>Do they trust you?<br>Do they have time?<br>Do they already know what they want?<br>Are they buying for themselves - or someone else?</p><p>The answers change everything.</p><div><hr></div><h3>Why Amazon&#8217;s &#8220;Buy Now&#8221; works </h3><p>Amazon&#8217;s one-click or &#8220;Buy Now&#8221; flow is often treated as the gold standard of checkout speed. But speed isn&#8217;t the real achievement here. Certainty is.</p><p>Amazon already knows:</p><ul><li><p>Where the order will be delivered</p></li><li><p>How it will be paid for</p></li><li><p>What happens if something goes wrong</p></li></ul><p>The checkout isn&#8217;t removing steps.<br>It&#8217;s removing decisions.</p><p>That only works when trust has already been earned - through delivery reliability, returns, customer support, and repetition. One-click checkout isn&#8217;t a UX trick. It&#8217;s a reward for familiarity.</p><p>Most stores don&#8217;t start from that position, and pretending otherwise is how checkout breaks.</p><div><hr></div><h3>Platform defaults are not accidents</h3><p>If you&#8217;ve implemented checkout on platforms like Magento or Shopify, you&#8217;ve seen this first-hand.</p><p>The default templates:</p><ul><li><p>Feel rigid</p></li><li><p>Resist reordering</p></li><li><p>Push back when you add or move fields</p></li></ul><p>That resistance isn&#8217;t laziness. It&#8217;s intentional.</p><p>Those flows are shaped by validation logic, payment rules, address resolution, fraud checks, autofill behaviour, and mobile constraints.</p><p>You don&#8217;t &#8220;move a field.&#8221;<br>You move a dependency.</p><p>I&#8217;ve seen teams design a checkout that looks perfect, only to hit PCI reality. A payment provider hands you an iframe - or forces a redirect to a hosted page. Suddenly you&#8217;re trying to maintain visual continuity across a boundary you don&#8217;t control.</p><p>Some providers allow limited styling. Others allow almost none. And then come the edge cases: the iframe doesn&#8217;t load, the redirect fails, the user hits &#8220;back&#8221; after entering card details.</p><p>The checkout you design and the checkout that ships are often two different things - not because of bad planning, but because payments live outside your domain.</p><p>This is also why checkout customization is harder than landing page customization. The system is protecting itself from states that break fulfilment, payments, or trust.</p><p>A headless approach gives more freedom, but not less work. You gain control - and with it, the responsibility to rebuild the guardrails platforms normally give you for free.</p><div><hr></div><h3>Checkout is a fragile system, not just a UI</h3><p>Checkout is often the most complex form on an ecommerce site.</p><p>Not because it has many fields - but because everything connects to it.</p><p>Payments. Coupons. Discount rules. Cart logic. Inventory checks. Shipping calculations. Fraud signals.</p><p>A small change in one place can ripple through the entire flow.</p><p>Coupons are a good example.</p><p>On the cart page, applying or removing a discount is relatively safe. The user hasn&#8217;t committed yet. But at checkout, everything is already in motion.</p><p>Remove a coupon and the totals change - often across multiple items. That usually triggers a refresh. Which means:</p><ul><li><p>Shipping selections might reset</p></li><li><p>Entered addresses could be lost</p></li><li><p>Payment details must be re-entered</p></li><li><p>The user shifts from &#8220;almost done&#8221; to &#8220;something broke&#8221;</p></li></ul><p>Now you have decisions to make. Do you allow coupon changes at checkout at all? Do you support multiple coupons? Do you lock discounts once checkout starts?</p><p>There&#8217;s no universal right answer. But the wrong answer is assuming it&#8217;s just another field you can add anywhere.</p><p>This is why checkout is one of the easiest places to accidentally break a site. A new field can interfere with autofill. A reordered block can affect validation timing. A visual tweak can slow page load just enough to matter.</p><p>Performance matters here more than almost anywhere else. Checkout is where latency is felt most sharply, especially on mobile networks. Every extra script or re-render competes directly with intent.</p><p>Multi-step checkout adds another layer of fragility. Once a user moves forward, the system has to reliably retain state - addresses, shipping choices, discounts - while handling refreshes, back navigation, payment failures, and timeouts.</p><p>When this breaks, users don&#8217;t always retry. They leave.</p><p>This is why platforms are conservative about checkout customization. They aren&#8217;t just protecting patterns. They&#8217;re protecting state, consistency, and recoverability.</p><div><hr></div><h2>When flexibility becomes fragility</h2><p>Some businesses push for maximum flexibility at checkout: item-level shipping addresses, quantity-level splits, &#8220;send part of the order here and the rest there.&#8221;</p><p>On paper, it sounds customer-friendly. In practice, it&#8217;s an architectural risk.</p><p>You&#8217;re now managing:</p><ul><li><p>Multiple shipping calculations</p></li><li><p>Split inventory allocations</p></li><li><p>Separate delivery timelines</p></li><li><p>Complex state persistence</p></li></ul><p>The UI starts to resemble a spreadsheet. The backend becomes fragile. And unless the person making changes deeply understands the flow, every edit risks collapse.</p><p>I&#8217;ve seen this in B2B and gifting contexts, where it&#8217;s sometimes justified. But for general retail, it&#8217;s rarely worth the complexity.</p><p>The more flexibility you add, the more you ask users to solve a logistics problem while they&#8217;re trying to buy something.</p><p>Most people don&#8217;t want that responsibility.</p><div><hr></div><h2>Single page, multi-step, billing first, shipping first</h2><p>These aren&#8217;t preferences. They&#8217;re assumptions.</p><p><strong>Single-page checkout assumes:</strong></p><ul><li><p>The buyer is ready</p></li><li><p>The product is familiar</p></li><li><p>The risk is low</p></li></ul><p><strong>Multi-step checkout assumes:</strong></p><ul><li><p>Reassurance matters</p></li><li><p>Confirmation reduces errors</p></li></ul><p><strong>Shipping-first flows assume:</strong></p><ul><li><p>Delivery feasibility matters more than payment</p></li></ul><p><strong>Billing-first flows assume:</strong></p><ul><li><p>Delivery is trivial</p></li><li><p>Payment is the real gate</p></li></ul><p>None of these are right or wrong.<br>They simply reveal what the system believes about the purchase.</p><div><hr></div><h3>Mobile changes the rules quietly</h3><p>Most checkout friction doesn&#8217;t come from complexity.<br>It comes from violating muscle memory, especially on mobile.</p><p>People don&#8217;t read forms carefully on small screens.<br>They recognize patterns.</p><p>First name &#8594; last name<br>Address &#8594; city &#8594; postcode<br>Card number &#8594; expiry &#8594; CVV</p><p>These are not standards. They&#8217;re learned sequences.</p><p>When a form breaks that sequence:</p><ul><li><p>Typing slows</p></li><li><p>Autofill fails</p></li><li><p>Errors increase</p></li><li><p>Doubt creeps in</p></li></ul><p>Geography plays a role here - not as localization, but as behaviour. Name structures, address expectations, and input flows differ across regions. Checkout quietly assumes a lot about how people describe themselves.</p><p>The more unfamiliar the product, the less tolerance users have for unfamiliar forms.</p><div><hr></div><h3>Urgency changes everything</h3><p>Most checkout flows assume the user has time but sales don&#8217;t.</p><p>During sales or limited-inventory moments:</p><ul><li><p>Speed matters more than reassurance</p></li><li><p>Typing becomes the bottleneck</p></li><li><p>Multi-step flows feel heavier</p></li></ul><p>This is why saved addresses exist. Stored payment methods exist. Wallets exist. Express checkout appears conditionally.</p><p>Urgency turns checkout from a decision flow into an execution flow.</p><p>Instant payment options aren&#8217;t just about convenience. They&#8217;re about certainty under pressure.</p><div><hr></div><h3>Why product context matters more than patterns</h3><p>An online cake shop doesn&#8217;t sell objects.<br>It sells coordination.</p><p>Delivery date, time slot, and location matter more than payment speed. Checkout here is about reducing the chance of something going wrong, not finishing fast.</p><p>A gifting portal carries emotional risk. The buyer wants reassurance:</p><ul><li><p>That the message is correct</p></li><li><p>That delivery will happen</p></li><li><p>That mistakes can be fixed</p></li></ul><p>Here, confidence beats speed.</p><p>Forcing a universal checkout pattern across these contexts usually hurts more than it helps.</p><div><hr></div><h3>A quieter way to think about checkout</h3><p>Checkout isn&#8217;t where people decide to buy.<br>It&#8217;s where they decide whether they still feel safe doing so.</p><p>Platforms, patterns, acceleration features, and defaults all exist to manage that feeling - under different assumptions about trust, time, and intent.</p><p>There is no best checkout.<br>Only a checkout that matches what you&#8217;re selling, who you&#8217;re selling to, and the moment they&#8217;re in.</p><p>The best checkout isn&#8217;t the most flexible one.<br>It&#8217;s the one that matches how people actually think when they&#8217;re trying to buy something.</p><p>Checkout is not a design problem to solve once.<br>It&#8217;s a system of assumptions to keep aligned - between users, platforms, and reality.</p>]]></content:encoded></item><item><title><![CDATA[Are customers really loyal or just chasing discounts?]]></title><description><![CDATA[What a 2% retention insight (and a failed loyalty tweak) taught us]]></description><link>https://opplearner.substack.com/p/are-customers-really-loyal-or-just</link><guid isPermaLink="false">https://opplearner.substack.com/p/are-customers-really-loyal-or-just</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Wed, 28 Jan 2026 14:43:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7yAr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.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_!7yAr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7yAr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.png 424w, https://substackcdn.com/image/fetch/$s_!7yAr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.png 848w, https://substackcdn.com/image/fetch/$s_!7yAr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.png 1272w, https://substackcdn.com/image/fetch/$s_!7yAr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7yAr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.png" width="946" height="509" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/769cce66-531f-4445-84bd-d441041d380f_946x509.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:509,&quot;width&quot;:946,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1437807,&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://opplearner.substack.com/i/185937433?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.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_!7yAr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.png 424w, https://substackcdn.com/image/fetch/$s_!7yAr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.png 848w, https://substackcdn.com/image/fetch/$s_!7yAr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.png 1272w, https://substackcdn.com/image/fetch/$s_!7yAr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F769cce66-531f-4445-84bd-d441041d380f_946x509.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Everyone talks about loyal customers like they exist in a vacuum. But the truth? Most of them vanish the second a better deal comes along.</p><p>I hear a lot of brands talk about &#8220;loyal customers&#8221; like it&#8217;s some mystical thing. But working on ecommerce solutions every day, the reality looks very different.</p><p>Most customers aren&#8217;t loyal to a store. They&#8217;re loyal to what&#8217;s convenient, easy, or cheap. And in today&#8217;s world of endless apps, marketplaces, and aggregators, staying loyal is actually hard.</p><p>Sure, discounts and cashback keep people coming back. That&#8217;s the easiest lever to pull. But it&#8217;s fragile. If you pause the promo for a week, and most &#8220;loyal&#8221; users jump to whoever is cheaper.</p><div><hr></div><p>We learned this the hard way. Early in one project, we assumed freebies and heavy discounts would build a loyal customer base for the future. We poured money in, expecting these users to stick. When we finally looked at the analytics, the story was different - only 2% returned.</p><p>That 2% number sat with us for a while.</p><p>So if discounts aren&#8217;t the real glue, what is? We started asking the people who came back <em>without</em> a promotion why they did. The answers weren&#8217;t glamorous. They liked that they could find what they needed quickly. Checkout didn&#8217;t feel like solving a puzzle. When something went wrong, we fixed it fast, without making them jump through hoops.</p><p>Boring stuff, right? But that&#8217;s what made them feel confident and understood. And when you layer in thoughtful touches - recommendations that actually make sense, clear communication, a brand voice that feels human - you start moving from <em>&#8220;I shop here because it&#8217;s easy&#8221;</em> to <em>&#8220;I shop here because it feels right.&#8221;</em> That second one is rare, and it sticks.</p><p>The tricky part is that most brands treat loyalty like a slogan. &#8220;We have loyal customers!&#8221; What they often really have is transactional loyalty - deal-driven, fragile, and gone the moment someone else runs a better promo.</p><p>After that 2% wake-up call, we changed how we looked at loyalty.</p><div><hr></div><p>We saw a similar pattern in a very different category.</p><p>For a laminates and plywood client, we built a QR-based loyalty system for carpenters and architects. Every purchase earned points, redeemable for gifts. Adoption was strong, scans kept growing, redemptions followed.</p><p>Then, as the program scaled, we reduced coupon value by about 10%.</p><p>Almost immediately, engagement dipped.</p><p>Nothing else changed. Same product. Same brand. Same program.</p><p>That&#8217;s when it became clear: the loyalty wasn&#8217;t to the brand. It was to the reward value. We hadn&#8217;t broken loyalty - we had simply tested it.</p><div><hr></div><p>We stopped treating all customers the same. We created a simple segment: people who came back twice without any discount or promotion. That group became our focus. We cut our first-time discount budget by ~30% and redirected it into things these repeat customers actually cared about - faster delivery windows, better support response times, smoother returns.</p><p>The ROI shift was real. Instead of burning budget on people who were never coming back anyway, we invested in a small group building actual lifetime value.</p><p>There are three types of loyalty worth thinking about: transactional, operational, and emotional. Discounts drive the first. Smooth, reliable experiences drive the second. And real connection - the kind that comes from feeling understood - drives the third. That last one is rare, but it&#8217;s the only one that actually lasts.</p><p>If you want customers to stick around, you have to go beyond the easy lever of discounts. Make them feel like they choose you - not because you&#8217;re cheaper, but because you work&#8230; and sometimes, because you feel right.</p><p>If you&#8217;re trying to &#8220;build loyalty,&#8221; start by finding your version of that 2% - the customers who come back even when you give them no reason to.</p><p>I don&#8217;t think this experience is unique. Most teams working on loyalty probably have a version of this story. The interesting part is understanding what kind of loyalty you&#8217;re actually building.</p><p></p>]]></content:encoded></item><item><title><![CDATA[Platform Migration: The Hidden Costs (Part 3)
]]></title><description><![CDATA[What to own and what to rent, and where teams get stuck.]]></description><link>https://opplearner.substack.com/p/platform-migration-the-hidden-costs-739</link><guid isPermaLink="false">https://opplearner.substack.com/p/platform-migration-the-hidden-costs-739</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Mon, 26 Jan 2026 12:04:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!r5OY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.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_!r5OY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r5OY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png 424w, https://substackcdn.com/image/fetch/$s_!r5OY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png 848w, https://substackcdn.com/image/fetch/$s_!r5OY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png 1272w, https://substackcdn.com/image/fetch/$s_!r5OY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r5OY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png" width="1411" height="841" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:841,&quot;width&quot;:1411,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1939074,&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://opplearner.substack.com/i/185402939?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.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_!r5OY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png 424w, https://substackcdn.com/image/fetch/$s_!r5OY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png 848w, https://substackcdn.com/image/fetch/$s_!r5OY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png 1272w, https://substackcdn.com/image/fetch/$s_!r5OY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf2b8e1-1a8d-4b41-89fb-11b4b3543ed6_1411x841.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In <a href="https://opplearner.substack.com/p/platform-lock-in-in-the-ai-era">Part 1</a>, we saw how migrations balloon from $150K estimates to $800K realities - and the data you lose that never shows up on spreadsheets.</p><p>In <a href="https://opplearner.substack.com/p/platform-migration-the-hidden-costs">Part 2</a>, we looked at why AI makes this worse, not better. Your platform&#8217;s AI learns from your data. When you leave, that intelligence stays behind.</p><p>So what do you actually do?</p><p>Stop asking &#8220;build or buy?&#8221; Start asking better questions.</p><div><hr></div><h2>Warning Signs You&#8217;re Already Trapped</h2><p><strong>The migration conversation becomes scary.</strong></p><p>Team estimates exceed 6 months. Multiple people say &#8220;that&#8217;s impossible to extract.&#8221; Vendor migration docs are vague or missing. You realize nobody knows what half the integrations actually do.</p><p><strong>Workarounds exceed native features.</strong></p><p>Your Shopify app count exceeds 15. You have scripts running nightly to &#8220;fix&#8221; platform limitations. Every feature request starts with &#8220;well, the platform can&#8217;t do that, but...&#8221;</p><p><strong>Data requests hit walls.</strong></p><p>&#8220;We need X data for analysis&#8221; &#8594; &#8220;That&#8217;s not exportable.&#8221; APIs have rate limits that block meaningful use. Reports come as PDFs, not raw data. Custom fields can&#8217;t be bulk-exported.</p><p><strong>The vendor feels like a partner you can&#8217;t fire.</strong></p><p>Upgrade pressure increases because they know you&#8217;re stuck. Support quality decreases. Pricing becomes less negotiable. Sales rep stops returning calls.</p><p><strong>Your team talks about the platform more than the business.</strong></p><p>Engineering stand-ups are 60% platform issues. Board meetings include &#8220;platform roadmap&#8221; as a topic. Product decisions get blocked by &#8220;platform limitations.&#8221;</p><p>If any of this sounds familiar, keep reading.</p><div><hr></div><h2>Three Questions That Actually Matter</h2><p><strong>If this platform disappeared tomorrow, how long to replace it?</strong></p><p>Be honest with yourself. If the platform went down for good tomorrow:</p><p>Back in a week? No real problem. Back in a few weeks? Painful, but manageable.<br>Back in a few months? You&#8217;re betting the business on this platform. No clear answer? That IS the answer. You&#8217;re trapped.</p><p><strong>If this component gets 10x better through AI, who benefits?</strong></p><p>Mostly you - you own the learning loop. Good. Split benefit - acceptable for commodities. Mostly them - you&#8217;re funding their competitive moat. Danger.</p><p><strong>What would we lose if we decided to leave in 2 years?</strong></p><p>List it. Customer behavioural data. Business logic and rules. AI model training and insights. Integration configurations. Historical performance data. Team knowledge.</p><p>If that list scares you, you&#8217;re already locked in.</p><div><hr></div><h2>The Ghost Data Exercise</h2><p>Run this with your team this week.</p><p>Step 1: List every piece of data or business logic in your platform.</p><p>Step 2: Mark each item - YOURS (you could export it fully and use it elsewhere), THEIRS (platform-specific, proprietary, or not exportable), UNCLEAR (you&#8217;re not sure who owns it).</p><p>Step 3: For everything marked THEIRS or UNCLEAR, ask: could we rebuild this from scratch in 3 months? Do we even know what this does or why it&#8217;s important?</p><p>Step 4: Calculate your lock-in score. If more than 50% is THEIRS, you&#8217;re highly locked in. If you marked lots of UNCLEAR, you&#8217;re trapped and don&#8217;t even know it.</p><p>The results are usually sobering.</p><div><hr></div><h2>What This Looks Like in Real Life</h2><p>We worked on a Magento Open Source to Shopify migration. Should have been straightforward - we estimated 3 months.</p><p>The store had dozens of extensions. Custom code everywhere. Worse: they&#8217;d modified the extension code itself. No documentation on what was changed or why.</p><p>As we started digging, we discovered the extensions were dumping data in different formats. There was no apple-to-apple mapping between Magento extensions and Shopify apps.</p><p>We were bound to lose data. The question was how much.</p><p>Six months later, the migration finished. But some data never made it. Customer interaction patterns from certain extensions. Custom pricing logic that was buried in modified code. Historical A/B test results that lived in a now-discontinued plugin.</p><p>They&#8217;re live on Shopify now. The business runs. But when someone asks &#8220;why did this customer segment convert better in Q2 2023?&#8221; - the answer is trapped in a Magento backup nobody can query anymore.</p><p>This is what &#8220;data loss&#8221; actually means. Not catastrophic failure. Just questions you can&#8217;t answer anymore.</p><div><hr></div><h2>What to Own vs. What to Rent</h2><p><strong>Always try and own these things:</strong></p><p>Customer data and behaviour. Not just contact info - interaction patterns, preferences, journey data. The raw data, not aggregated reports. In a format you control.</p><p>Decision logic. Your pricing rules, promotional strategies, product ranking, merchandising rules, personalization logic.</p><p>AI experimentation layer. The ability to test different models, keep training data and results, learn from experiments, track model performance history.</p><p>Business-critical integrations. Anything that touches customer experience, supply chain connections, inventory and fulfilment logic.</p><p><strong>Almost always rent wherever possible:</strong></p><p>Infrastructure like hosting, CDN, DDoS protection. These are commodities - switching cost is low, no learning advantage from owning.</p><p>Payment processing. PCI compliance is brutal to own. Switching payment processors takes days, not months. No competitive advantage here.</p><p>Commodity features. Basic search infrastructure (but own the ranking logic). Email delivery (not email strategy). Tax calculation engines. Shipping rate calculators.</p><p><strong>Be careful with anything that:</strong></p><p>Improves through machine learning using your data. Contains business logic you can&#8217;t easily replicate. Integrates deeply with multiple systems. Holds historical data you&#8217;ll need long-term. Your team doesn&#8217;t understand well enough to rebuild.</p><p>If you can&#8217;t clearly articulate the exit cost, you&#8217;re probably underestimating it.</p><div><hr></div><h2>When to Walk Away</h2><p>Sometimes you&#8217;re already on a platform and need to decide: stay or migrate?</p><p>Stay for now if migration cost exceeds 12 months of margin improvement, business is stable and platform issues are manageable, you&#8217;re not losing competitive ground, and team bandwidth is maxed on core business.</p><p>Start planning migration if platform costs are growing faster than revenue, competitors are shipping features you can&#8217;t because of platform limits, you&#8217;re losing customers due to performance gaps, AI capabilities you need aren&#8217;t on roadmap or are locked behind premium tiers, or exit cost will only get worse with time.</p><p>Migrate immediately if the platform is sunsetting or being acquired, you have security/compliance issues you can&#8217;t fix, costs have become unsustainable, or customer experience is suffering measurably.</p><p>If you&#8217;re spending more time managing platform issues than improving your business, the platform has become the problem.</p><div><hr></div><h2>The Hybrid Reality</h2><p>Most successful companies run in hybrid mode. They own the data layer, business logic, AI experimentation. They rent infrastructure, commodity tools, compliance-heavy features. They use marketplaces strategically for distribution, but not dependency.</p><p>Example: Shopify for storefront (replaceable in 4-6 weeks), AWS for data warehouse (portable), owned recommendation engine trained on your data, Stripe for payments (switchable), own customer data platform.</p><p>The key - nothing is so deeply embedded that exit takes more than 3 months.</p><div><hr></div><h2>What You&#8217;re Actually Trading</h2><p>Migration isn&#8217;t just hard. It&#8217;s lossy.</p><p>Especially if you&#8217;ve been with them for years and not everything is documented. There were &#8220;urgencies,&#8221; &#8220;quick-fix,&#8221; &#8220;need-today&#8221; moments not captured anywhere.</p><p>You leave data behind. Not because you don&#8217;t want it, but because the platform won&#8217;t let you take it, can&#8217;t convert it, or never really let you own it in the first place.</p><p>You don&#8217;t realize what you&#8217;ve lost until six months later when someone asks a simple question and the answer is trapped in a system you no longer use.</p><p>This is why the build vs. rent question isn&#8217;t about launch speed anymore.</p><p>It&#8217;s about what you&#8217;re willing to lose.</p><p>Not just features. Not just flexibility. Your learning. Your intelligence. Your ability to understand your own customers.</p><p>Because in the AI era, whoever owns the data owns the learning. And whoever owns the learning compounds competitive advantage quarter after quarter.</p><p>Choose dependencies you can afford to lose.</p><p>Because one day, you will need to.</p><div><hr></div><h2>What to Do This Week</h2><p>If you&#8217;re evaluating platforms: run the Ghost Data Exercise with your team, run the three-question test.</p><p>If you&#8217;re already on a platform: assess your lock-in score, look for the warning signs, make a plan.</p><p>The goal isn&#8217;t to avoid all platforms - it&#8217;s to go in with eyes open about what you&#8217;re trading and when that trade stops making sense.</p><div><hr></div><h2>Series Wrap-Up</h2><p>Over these three posts:</p><ul><li><p>Part 1 - how migrations actually work and why they cost 10x the estimate </p></li><li><p>Part 2 - why AI makes platform lock-in worse, not better</p></li><li><p>Part 3 - the decision framework that actually works (this post)</p></li></ul><p>Writing Part 3 took the longest, because exit costs are the part most teams avoid thinking about.</p><p>The pattern is clear. Entry costs are visible but exit costs are hidden. And in the AI era, the gap between them is getting wider.</p><p>Your move is to make ownership decisions that won&#8217;t backfire 18 months later.</p><div><hr></div><h2>Coming Soon</h2><p>Next up: how platform lock-in plays out specifically in the Indian market.</p><p>I&#8217;ll cover the Reliance/Jio ecosystem trap, quick commerce lock-in (Blinkit, Zepto, Swiggy), and why international platforms create different problems in India. If you&#8217;re building a D2C brand in India, you&#8217;ll want to read this.</p><p>&#128236; Subscribe to get it in your inbox when it drops.</p><p>Have questions about this series? Hit reply. I read every response.</p><div><hr></div><p><strong>Read the series:</strong><br>&#8592; <a href="https://opplearner.substack.com/p/platform-lock-in-in-the-ai-era">Part 1</a>: The $800K Migration Nobody Saw Coming<br>&#8592; <a href="https://opplearner.substack.com/p/platform-migration-the-hidden-costs">Part 2</a>: Why AI Makes Lock-In Worse</p><p>Thank you for reading this series. If it helped you think differently about platform decisions, share it with your team or someone evaluating platforms right now.</p>]]></content:encoded></item><item><title><![CDATA[Platform Migration: The Hidden Costs (Part 2)]]></title><description><![CDATA[Why AI makes platform lock-in worse, not better - Part 2 of 3]]></description><link>https://opplearner.substack.com/p/platform-migration-the-hidden-costs</link><guid isPermaLink="false">https://opplearner.substack.com/p/platform-migration-the-hidden-costs</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Thu, 22 Jan 2026 14:45:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rJh_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.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_!rJh_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rJh_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png 424w, https://substackcdn.com/image/fetch/$s_!rJh_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png 848w, https://substackcdn.com/image/fetch/$s_!rJh_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png 1272w, https://substackcdn.com/image/fetch/$s_!rJh_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rJh_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png" width="1022" height="713" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:713,&quot;width&quot;:1022,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1156159,&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://opplearner.substack.com/i/185397503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.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_!rJh_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png 424w, https://substackcdn.com/image/fetch/$s_!rJh_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png 848w, https://substackcdn.com/image/fetch/$s_!rJh_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png 1272w, https://substackcdn.com/image/fetch/$s_!rJh_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2147e98f-073d-4d6a-84a6-5cd8df815eb7_1022x713.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In <a href="https://opplearner.substack.com/p/platform-lock-in-in-the-ai-era">Part 1</a>, we have seen how a $150K migration turned into $800K - and why teams lose critical data they didn&#8217;t even know was at risk.</p><p>That was the old lock-in. You were trapped by their features.</p><p>The new lock-in is worse and you&#8217;re trapped by their learning<strong>.</strong></p><div><hr></div><h2>The Learning Lock-In</h2><p>When Shopify&#8217;s AI gets better at product search, all Shopify stores benefit. Including your competitors. Your customer data trains their models. Your buying patterns improve their recommendation engine.</p><p>When Amazon&#8217;s algorithm optimizes product rankings, Amazon learns. You just execute.</p><p>When the marketplace improves personalization, their AI gets smarter. You get access to the output, but zero insight into why it works or how to replicate it.</p><p><strong>Old world lock-in:</strong> You couldn&#8217;t change features easily. You had to wait for new features based on their roadmap.</p><p><strong>AI era lock-in:</strong> Your competitive intelligence goes to zero while the platform gets smarter using your data.</p><p>You&#8217;re paying them to train models on your customers, improve their AI with your behaviour data, build competitive moats using your insights, and sell those improvements back to you as &#8220;features.&#8221;</p><p>When you try to leave? All that learning stays behind.</p><div><hr></div><h2>The AI Migration Myth</h2><p>There&#8217;s a new assumption I keep hearing in platform discussions:</p><p><em>&#8220;Even if migration is painful, AI will make it faster and cheaper when the time comes.&#8221;</em></p><p>Sounds reasonable, right?</p><p>AI can read messy schemas, map fields, transform formats, generate migration scripts. So why worry about lock-in now? We&#8217;ll just use AI to migrate later.</p><p>This doesn&#8217;t work in reality.</p><p>AI helps with translation. It does not solve extraction, completeness, or trust. And those are the parts that dominate migration cost and risk.</p><div><hr></div><h2>Where AI Actually Helps</h2><p>AI does reduce effort in specific tasks:</p><p>Interpreting undocumented schemas and poorly named fields. Mapping old structures to new data models. Transforming data formats - flat to nested, JSON to relational. Cleaning inconsistent text. Migrating CMS content. Generating one-off scripts and reconciliation checks.</p><p>This saves time on mechanical work.</p><p>It doesn&#8217;t change the overall shape of the migration.</p><div><hr></div><h2>Where AI Actually Breaks Down</h2><h3>The Access Problem</h3><p>If the platform won&#8217;t give you raw behavioural events, historical personalization data, or experiment-level results, there&#8217;s nothing for AI to work with.</p><p>AI can&#8217;t magically extract data that was never made available.</p><p>If all you get are aggregated reports, PDFs, sampled datasets, or rate-limited APIs, then AI is working with lossy inputs. The result will be lossy too.</p><p>No model can reconstruct data that was never there in the first place.</p><h3>The Invisibility Problem</h3><p>AI migrates what it can see. It won&#8217;t warn you about what never arrived.</p><p>Six months later, someone asks:</p><p>&#8220;Why can&#8217;t we explain churn the way we used to?&#8221;<br>&#8220;Where&#8217;s the logic behind those customer segments?&#8221;<br>&#8220;Why do recommendations behave differently now?&#8221;</p><p>Only then do teams realize: Certain datasets were never exported. Key logic lived inside the platform. Parts of the system were out of scope without anyone noticing.</p><p>AI didn&#8217;t fail.</p><p>The assumption that &#8220;everything important will come over&#8221; failed.</p><h3>The Validation Problem</h3><p>Even with AI-assisted migration, teams still have to answer: Does this data mean the same thing as before? Are timestamps aligned correctly? Are nulls real, or introduced during transformation? Did business rules change subtly in the process? Do downstream systems behave the same way?</p><p>AI can suggest checks. It cannot certify correctness.</p><p>Most migration overruns happen here - during reconciliation, validation, and fixing edge cases that only show up under real traffic.</p><p>I watched one team spend three months on &#8220;the last 10%&#8221; because AI had migrated everything perfectly... except it had silently converted all their datetime fields to UTC, breaking every report that depended on local time zones.</p><h3>The Logic Problem</h3><p>Platforms don&#8217;t just store data. They execute decisions.</p><p>Ranking rules. Personalization thresholds. Pricing constraints. Fallback behaviours. Workflow conditions.</p><p>Much of this logic is configuration-driven, undocumented, and evolved incrementally over years. AI can read code if you have it. It cannot reconstruct logic that lived inside a black box.</p><p>Teams end up rebuilding by reverse-engineering behaviour, running systems in parallel, comparing outputs, guessing why results differ.</p><p>Slow. Expensive. Rarely perfect.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V9_F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V9_F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png 424w, https://substackcdn.com/image/fetch/$s_!V9_F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png 848w, https://substackcdn.com/image/fetch/$s_!V9_F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png 1272w, https://substackcdn.com/image/fetch/$s_!V9_F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V9_F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png" width="1024" height="549" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:549,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:898072,&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://opplearner.substack.com/i/185397503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.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_!V9_F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png 424w, https://substackcdn.com/image/fetch/$s_!V9_F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png 848w, https://substackcdn.com/image/fetch/$s_!V9_F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png 1272w, https://substackcdn.com/image/fetch/$s_!V9_F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F651baa74-3a30-4584-8b3f-a80e75f38551_1024x549.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>What AI Actually Changes</h2><p>AI reduces the cost per unit of effort.</p><p>It does not reduce the amount of effort required.</p><p>People assume AI will make migrations easier. It helps in some places&#8212;translating logic, mapping schemas - but it doesn&#8217;t solve the hard parts.</p><p>If the platform won&#8217;t let you extract something, AI can&#8217;t magically pull it out. And it definitely can&#8217;t tell you what you&#8217;re missing until it&#8217;s already broken in production.</p><p>Migration is still constrained by what you&#8217;re allowed to extract, how complete those extracts are, how much logic lives outside your control, and how confident you need to be in the final result.</p><p>In some cases, AI even increases risk by creating false confidence early in the process. The CTO sees AI migrate 80% of the data in a week and thinks, &#8220;Great, we&#8217;re almost done.&#8221; Then spends the next six months on the remaining 20%.</p><div><hr></div><h2>Better Question</h2><p>Instead of asking &#8220;Can we use AI to migrate this later?&#8221;</p><p>Ask: <strong>&#8220;If this platform limits what we can export, what will AI actually have to work with?&#8221;</strong></p><p>If the answer is reports, aggregates, summaries, or platform-defined schemas&#8212;AI won&#8217;t change the outcome.</p><p>You&#8217;re still locked in. Just with better tools when you try to leave.</p><div><hr></div><h2>The Core Problem</h2><p>AI doesn&#8217;t reduce platform lock-in.</p><p>It makes ownership decisions more important.</p><p>If you don&#8217;t own the raw data, the decision logic, and the historical context&#8212;AI helps you migrate the surface. The intelligence stays behind.</p><p>This is why the build vs. rent question isn&#8217;t about launch speed anymore. It&#8217;s about what you&#8217;re willing to lose when you eventually need to leave.</p><div><hr></div><h2>Coming Next: The Decision Framework</h2><p>Migration is brutal. AI makes lock-in worse. So what do you actually do?</p><p><strong>In Part 3</strong>, I&#8217;ll share the decision framework that actually works:</p><ul><li><p>When to own vs. when to rent</p></li><li><p>The three questions that reveal if you&#8217;re already trapped</p></li><li><p>What to do if you&#8217;re on a platform right now</p></li><li><p>How to make build vs. buy decisions that won&#8217;t backfire 18 months later</p></li></ul><p>&#128236; <strong>Subscribe to get Part 3 in your inbox next week</strong> - I&#8217;ll show you the exact framework for deciding what&#8217;s worth owning, and what you can safely rent without getting locked in.</p><p><strong>Already subscribed?</strong> Hit reply and tell me:</p><ul><li><p>Are you relying on your platform&#8217;s AI features?</p></li><li><p>Have you thought about what happens if you need to migrate?</p></li><li><p>What data would you lose that you don&#8217;t have access to export?</p></li></ul><div><hr></div><p><em>Part 2 of 3: The Migration Tax Nobody Talks About</em></p><p>&#8592; Read Part 1 <a href="https://opplearner.substack.com/p/platform-lock-in-in-the-ai-era">https://opplearner.substack.com/p/platform-lock-in-in-the-ai-era</a> </p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Platform Migration: The Hidden Costs (Part 1)]]></title><description><![CDATA[The $800K lesson and what you actually lose when you switch platforms]]></description><link>https://opplearner.substack.com/p/platform-lock-in-in-the-ai-era</link><guid isPermaLink="false">https://opplearner.substack.com/p/platform-lock-in-in-the-ai-era</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Wed, 21 Jan 2026 13:10:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uHH9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.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_!uHH9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uHH9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png 424w, https://substackcdn.com/image/fetch/$s_!uHH9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png 848w, https://substackcdn.com/image/fetch/$s_!uHH9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png 1272w, https://substackcdn.com/image/fetch/$s_!uHH9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uHH9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png" width="646" height="393" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:393,&quot;width&quot;:646,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:487033,&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://opplearner.substack.com/i/185275765?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.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_!uHH9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png 424w, https://substackcdn.com/image/fetch/$s_!uHH9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png 848w, https://substackcdn.com/image/fetch/$s_!uHH9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png 1272w, https://substackcdn.com/image/fetch/$s_!uHH9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8920c7d9-5c6c-4eea-a3b3-3073e5957c4e_646x393.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;ve sat through dozens of build vs. buy debates over the years. They all start the same way.</p><p>&#8220;We want to launch fast.&#8221;<br>&#8220;We want control.&#8221;<br>&#8220;We want to own our data.&#8221;<br>&#8220;But we don&#8217;t want to run infrastructure.&#8221;</p><p>Pick a platform, accept some limits, move on and that used to work since many years.</p><p>What nobody talks about is what happens two years later. Not during launch. Not during growth. But when the platform starts pushing expensive upgrades, performance slips, your custom workarounds break - and someone in leadership finally asks:</p><p><em>&#8220;What would it take to move?&#8221;</em></p><p>That&#8217;s when you find out what you actually signed up for.</p><p>Entry cost? That was on a spreadsheet. Clear. Budgeted.</p><p>Exit cost? Nobody mentioned that. And it&#8217;s usually 10x higher.</p><p>This is Part 1 of a short series about the migration tax that hits 18-24 months after you choose a platform. By then, it&#8217;s too late.</p><div><hr></div><h2><strong>The Pattern</strong></h2><p>I&#8217;ve watched this play out at least a dozen times:</p><p><strong>Month 0-6:</strong> Launch on Platform X. Fast, clean, everyone&#8217;s happy. Marketing runs campaigns, sales grow, the platform &#8220;just works.&#8221;</p><p><strong>Month 12-18:</strong> Performance starts degrading. Site gets slower. Platform says &#8220;you&#8217;ve outgrown the standard tier - time to upgrade to Enterprise.&#8221; New price: 3-5x what you&#8217;re paying now.</p><p><strong>Month 18-24:</strong> Custom integrations start breaking. The workarounds your team built stop working after platform updates. You need their premium support package.</p><p><strong>Month 24-36:</strong> Someone asks: &#8220;Should we consider switching platforms?&#8221;</p><p>You run the migration estimate.</p><p>You realize: you&#8217;re trapped.</p><div><hr></div><h2><strong>What Migration Actually Looks Like</strong></h2><p>Everyone talks about vendor lock-in. Almost no one talks about what migration actually looks like, which is the messy reality of moving data and content to a new platform.</p><p>I&#8217;ve watched teams spend 18 months and $800K trying to migrate. And they still left behind data they needed six months later.</p><h3><strong>The Optimistic Beginning</strong></h3><p><strong>Vendor estimate:</strong> &#8220;6-8 weeks for data migration, pretty straightforward&#8221;</p><p><strong>Your team estimate:</strong> &#8220;Maybe 3-4 months if we&#8217;re careful&#8221;</p><p><strong>Reality:</strong> 12-18 months. 3x budget. Team burned out.</p><h3><strong>The Data Negotiation</strong></h3><p>You start asking for your data.</p><p><strong>You:</strong> &#8220;We need to export our customer data.&#8221;<br><strong>Them:</strong> &#8220;Sure, here&#8217;s the standard export format.&#8221;</p><p><strong>You:</strong> &#8220;Where&#8217;s the customer behaviour history? The interaction patterns?&#8221;<br><strong>Them:</strong> &#8220;Different format. We can provide aggregated reports. Fixed format.&#8221;</p><p><strong>You:</strong> &#8220;What about the custom fields we added over the years?&#8221;<br><strong>Them:</strong> &#8220;Platform-specific extensions. Not included in standard export. Need additional efforts.&#8221;</p><p><strong>You:</strong> &#8220;The product recommendation performance data?&#8221;<br><strong>Them:</strong> &#8220;That&#8217;s generated by our proprietary algorithm. Not exportable.&#8221;</p><p><strong>You:</strong> &#8220;The A/B test results from the last 3 years?&#8221;<br><strong>Them:</strong> &#8220;We can give you summary PDFs. The raw experimental data stays in our analytics system.&#8221;</p><h3><strong>What You Actually Leave Behind</strong></h3><p>By the time migration is &#8220;complete,&#8221; what have you lost?</p><p>Eighteen to thirty-six months of customer interaction patterns. All your A/B test results - you get summaries, but the raw data? Still locked in their analytics system. The custom workflow logic you embedded over the years. Integration configs that &#8220;just worked&#8221; and nobody documented because they just worked.</p><p>Historical pricing data. Support ticket context. Seasonal buying patterns. Customer segments you spent years defining.</p><p>The list goes on.</p><p><strong>And here&#8217;s the tragedy: You don&#8217;t know what you&#8217;re losing until you need it.</strong></p><h3><strong>The &#8220;Support&#8221; Reality</strong></h3><p>The platform does provide &#8220;migration support.&#8221;</p><p>Translation: You get their export format. Good luck if it doesn&#8217;t match your new system. You get their schema - your new platform uses different structures. You get their timeline - migration requests processed in 5-7 business days. You get their terms: &#8220;We&#8217;ve provided the data export. Implementation is your responsibility.&#8221;</p><p>Want better migration support? Premium package: $25K-50K.</p><p>And even then, they won&#8217;t help you replicate custom logic, fix data integrity issues, or translate their proprietary features to something generic. If your original team is gone and nobody remembers what certain fields mean? Your problem. Anything that breaks after migration? Also your problem.</p><div><hr></div><h2><strong>The Ghost Data Problem</strong></h2><p>When you come back after six months of migration:</p><p><strong>Sales team:</strong> &#8220;Why can&#8217;t I see why Customer X stopped buying last year? We used to have that data.&#8221;<br><strong>You:</strong> &#8220;That behavioural data didn&#8217;t migrate. It was in their proprietary format.&#8221;</p><p><strong>Marketing:</strong> &#8220;Where&#8217;s the customer segmentation logic we spent 2 years building?&#8221;<br><strong>You:</strong> &#8220;It was embedded in their system. We couldn&#8217;t extract the rules.&#8221;</p><p><strong>Operations:</strong> &#8220;Our conversion rate dropped 15% after migration. Why?&#8221;<br><strong>You:</strong> &#8220;We lost the personalization rules. Trying to rebuild them but it&#8217;s guesswork.&#8221;</p><p><strong>Finance:</strong> &#8220;The pricing optimization isn&#8217;t working like before.&#8221;<br><strong>You:</strong> &#8220;The historical pricing performance data didn&#8217;t come over. We&#8217;re starting from scratch.&#8221;</p><p>You&#8217;re not just switching platforms.</p><p><strong>You&#8217;re lobotomizing your business intelligence.</strong></p><div><hr></div><h2><strong>A Real Example</strong></h2><p>Mid-size DTC brand. Five years on Platform A. $15M annual revenue.</p><p><strong>The problem:</strong> Platform performance was degrading and costs were increasing. They wanted more control over customer experience and AI capabilities.</p><p><strong>The decision:</strong> Migrate to Platform B for better flexibility and data ownership.</p><p><strong>The estimate:</strong> Four months. $150K. Manageable risk.</p><h4><strong>What actually happened:</strong></h4><p>Fourteen months later, they were still cleaning up. The budget had blown past $400K once you counted consultants, internal dev time, rework. At some point they stopped tracking everything.</p><p>The team was exhausted. Revenue took a $300K hit in the first six months because conversion rates dropped during the transition. And two years later, they&#8217;re still finding bugs from the incomplete migration.</p><p>But the worst part is that after eight months in, they discovered they&#8217;d lost the customer segment data that explained their entire seasonal buying strategy. Gone. It took another six months to rebuild from scratch.</p><p>It was never quite the same.</p><p><strong>Total real cost:</strong> 10x the initial estimate.</p><p><strong>Feature parity with what they had before?</strong> Still don&#8217;t have it.</p><p>I remember the quarterly review meeting where they had to explain this to the board. The CTO had a spreadsheet titled &#8220;Things We Lost in Migration&#8221; with 47 rows. They&#8217;d been on the new platform for three months.</p><p>Nobody asks about exit costs during the vendor pitch.</p><div><hr></div><h2><strong>Coming Next</strong></h2><p>Migration is already brutal.</p><p>But most teams don&#8217;t realize there&#8217;s a hidden factor that makes it 10x worse - and it&#8217;s getting worse every quarter.</p><p><strong><a href="https://opplearner.substack.com/p/platform-migration-the-hidden-costs">Part 2</a> </strong> explains why AI doesn&#8217;t make migration easier, but it amplifies the risk. You&#8217;ll see why relying on your platform&#8217;s AI features, their recommendation engine, or thinking &#8220;we&#8217;ll handle migration later with AI&#8221; backfires spectacularly.</p><p>&#128236; <strong>Subscribe to get it in your inbox</strong> - I&#8217;ll show you the exact moment teams realize what they actually lost, and why the &#8220;AI will make migration easy&#8221; assumption is dangerously wrong.</p><p><strong>Already subscribed?</strong> Hit reply and share your experience:</p><ul><li><p>Have you been through a platform migration?</p></li><li><p>What unexpected costs did you face?</p></li><li><p>What data did you lose that you didn&#8217;t expect?</p></li></ul><div><hr></div><p><em>Part 1 of 3: Platform Lock-In in the AI Era</em></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[When AI Isn’t Really Autonomous: A Practical Lens for Ecommerce Teams]]></title><description><![CDATA[A practical framework to understand AI in ecommerce - from simple bots to systems that make autonomous decisions.]]></description><link>https://opplearner.substack.com/p/when-ai-isnt-really-autonomous-a</link><guid isPermaLink="false">https://opplearner.substack.com/p/when-ai-isnt-really-autonomous-a</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Mon, 19 Jan 2026 10:55:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Vvp8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.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_!Vvp8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vvp8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png 424w, https://substackcdn.com/image/fetch/$s_!Vvp8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png 848w, https://substackcdn.com/image/fetch/$s_!Vvp8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png 1272w, https://substackcdn.com/image/fetch/$s_!Vvp8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vvp8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png" width="601" height="366" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:366,&quot;width&quot;:601,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:284207,&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://opplearner.substack.com/i/185042119?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.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_!Vvp8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png 424w, https://substackcdn.com/image/fetch/$s_!Vvp8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png 848w, https://substackcdn.com/image/fetch/$s_!Vvp8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png 1272w, https://substackcdn.com/image/fetch/$s_!Vvp8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a2b0eae-2720-4685-9d6f-9666dfab0717_601x366.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;Agentic AI&#8221; sounds exciting - systems that think, decide, and act for you. But what if most of what we call agentic today isn&#8217;t agentic at all and what if your &#8220;smart AI tool&#8221; is really just a bot in disguise?</p><p>Everyone is selling &#8220;agentic AI&#8221; now. But did you know that most of what vendors call &#8220;agentic&#8221; is just automation with better marketing?</p><p>If you&#8217;re a product manager, engineer, or ecommerce operator - someone who ships features, wrestles with trade-offs, and explains these concepts to leadership - this post is for you. We&#8217;ll explore familiar ecommerce problems and show how the same use case can look very different depending on its level of autonomy. Along the way, we&#8217;ll reference real-world examples from major platforms and industry leaders to keep the discussion grounded.</p><p>This post is a practical lens to bring clarity to a space full of fuzziness - and to give you language you can actually use.</p><p>In this post, you&#8217;ll see how the same ecommerce problem can be handled differently at four levels of AI capability - and why understanding that matters when you&#8217;re building products. These levels are not industry defined, but a simple way to group things. These are grouped as most "AI" falls into one of four categories. Understanding which one you're dealing with saves you from overpaying for glorified automation.</p><div><hr></div><h3><strong>A simple framework: four levels of AI</strong></h3><p>Think of AI not as a single label, but as a <strong>spectrum of capabilities</strong>:</p><blockquote><p><strong>Chatbots</strong> &#8211; responds when asked</p><p><strong>Automated Rules</strong>&#8211; acts when triggered by rules</p><p><strong>Workflow</strong> &#8211; orchestrates multiple steps with state</p><p><strong>Agentic</strong> &#8211; pursues goals and chooses actions autonomously</p></blockquote><p>Most real-world systems today operate between bots, automation, and workflows. That&#8217;s intentional. Commerce values predictability and trust far more than flashy autonomy.</p><p>We will talk about few use cases and classify them into the above framework to distinguish between AI and Agentic.  </p><div><hr></div><h3><strong>Use Case 1: Order Support &amp; Customer Service</strong></h3><p>The question &#8220;Where is my order?&#8221; seems simple, but how AI handles it changes drastically depending on autonomy.</p><p><strong>Chatbots:</strong> reactive and simple</p><p>Customer asks for order status and system fetches tracking info and responds<br><em>Stateless, no initiative, very low risk</em></p><p><strong>Automated Rules:</strong> triggered action</p><p>If delivery is delayed  &gt; 48 hours &#8594; send an apology email or coupon<br><em>Acts without being asked, but rule-based and predictable</em></p><p><strong>Workflow:</strong> orchestrated sequences</p><p>Detect delay &#8594; check carrier SLA &#8594; update inventory &#8594; notify customer &#8594; open support ticket if unresolved &#8594; escalate if necessary</p><p><em>Multiple systems coordinated, process is stateful, medium initiative, moderate risk</em></p><p><strong>Agentic:</strong> goal-directed resolution</p><p><strong>Goal</strong>: resolve customer issue with minimal cost and minimal churn</p><p>Chooses between refund, replacement, or proactive outreach. Factors in customer history and lifetime value and learns which actions reduce churn over time</p><p><em>High initiative, adaptive decision-making, higher risk - true agentic behaviour</em></p><p>The difference is not the technology - it&#8217;s <strong>what the system is trying to achieve and how independently it decides</strong>.</p><p>Which level do most of your tools fall into?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AhU6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AhU6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png 424w, https://substackcdn.com/image/fetch/$s_!AhU6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png 848w, https://substackcdn.com/image/fetch/$s_!AhU6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png 1272w, https://substackcdn.com/image/fetch/$s_!AhU6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AhU6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png" width="1430" height="859" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:859,&quot;width&quot;:1430,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:866443,&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://opplearner.substack.com/i/185042119?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.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_!AhU6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png 424w, https://substackcdn.com/image/fetch/$s_!AhU6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png 848w, https://substackcdn.com/image/fetch/$s_!AhU6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png 1272w, https://substackcdn.com/image/fetch/$s_!AhU6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5d15566-f514-48d2-a9fb-80f443031a54_1430x859.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Next, let&#8217;s look at content and catalog problems - another area where AI is everywhere but true autonomy is rare.</p><div><hr></div><h3><strong>Use Case 2: Catalog Enrichment &amp; Product Content</strong></h3><p>Content is king - but AI approaches differ drastically.</p><p><strong>Chatbots:</strong> generate a product description on request<br><strong>Automated Rules:</strong> automatically enrich new SKUs with descriptions or images<br><strong>Workflow:</strong> run content pipelines across multiple systems, check compliance, localize, and push to storefront<br><strong>Agentic:</strong> identify underperforming products, decide which content to improve, test variations, and iterate autonomously to optimize conversion</p><p>Real-world examples from industry leaders show that most deployments stop at automation or workflow. Agentic implementations remain rare, especially in production.</p><p>Could your team benefit from moving from automation to workflow, or is agentic too risky right now?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qeGm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qeGm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png 424w, https://substackcdn.com/image/fetch/$s_!qeGm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png 848w, https://substackcdn.com/image/fetch/$s_!qeGm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png 1272w, https://substackcdn.com/image/fetch/$s_!qeGm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qeGm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png" width="996" height="525" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:525,&quot;width&quot;:996,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:715090,&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://opplearner.substack.com/i/185042119?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.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_!qeGm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png 424w, https://substackcdn.com/image/fetch/$s_!qeGm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png 848w, https://substackcdn.com/image/fetch/$s_!qeGm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png 1272w, https://substackcdn.com/image/fetch/$s_!qeGm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9012a4e-42a9-4ae6-9ab1-8516463dabef_996x525.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3><strong>Use Case 3: Merchandising &amp; Optimization</strong></h3><p><strong>Chatbots:</strong> &#8220;Which products are trending?&#8221; &#8594; returns analytics<br><strong>Automated Rules:</strong> Boost high-conversion products, suppress out-of-stock items automatically<br><strong>Workflow:</strong> Coordinate pricing, inventory, and ranking updates across multiple systems<br><strong>Agentic:</strong> Optimize merchandising strategies dynamically based on conversion, margin, and churn, making autonomous trade-offs across the catalog</p><p>Again, most platforms today operate around workflows - true agentic autonomy remains aspirational for many ecommerce teams.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_n6H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_n6H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png 424w, https://substackcdn.com/image/fetch/$s_!_n6H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png 848w, https://substackcdn.com/image/fetch/$s_!_n6H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png 1272w, https://substackcdn.com/image/fetch/$s_!_n6H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_n6H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png" width="987" height="405" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:405,&quot;width&quot;:987,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:530523,&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://opplearner.substack.com/i/185042119?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.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_!_n6H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png 424w, https://substackcdn.com/image/fetch/$s_!_n6H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png 848w, https://substackcdn.com/image/fetch/$s_!_n6H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png 1272w, https://substackcdn.com/image/fetch/$s_!_n6H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff34906f5-3c04-4e80-a414-6bca1e9692f0_987x405.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h4><strong>Where the Big Platforms Actually Are</strong></h4><p>Honestly, looking at what what Shopify, BigCommerce, and Adobe Commerce actually offer, is not Agentic as of now:</p><blockquote><ul><li><p>Lots of chatbots (product recommendations, basic support)</p></li><li><p>Heavy automation (inventory sync, order routing, abandoned cart emails)</p></li><li><p>Some workflows (multi-step abandoned cart sequences, review request flows)</p></li><li><p>Almost zero true autonomy (because trust matters more than flash)</p></li></ul></blockquote><p>This isn&#8217;t a criticism. Ecommerce needs predictability. You can&#8217;t let an AI randomly decide to discount everything 50% because it &#8220;learned&#8221; that increases conversions.</p><p>Full autonomy isn&#8217;t always desirable. Predictability, auditability, and trust are more important in commerce than flashy agentic behaviour.</p><div><hr></div><h4><strong>Why the distinction matters</strong></h4><p>If you don&#8217;t know what level you&#8217;re operating at, things might go wrong:</p><p><strong>Your CEO thinks you bought autonomy. You bought automation.</strong><br>Now they expect the system to &#8220;handle it&#8221; when it really needs constant babysitting.</p><p><strong>You underestimate the testing required.</strong><br>Automation breaks in predictable ways. Autonomy breaks in creative, expensive ways.</p><p><strong>You blame &#8220;AI&#8221; when things fail.</strong><br>Maybe the AI is fine. Maybe your rules were shit.</p><p><strong>The Real Question Isn&#8217;t &#8220;Is This Agentic?&#8221;</strong></p><p>It&#8217;s &#8220;How much autonomy does this problem actually need?&#8221;</p><p>Customer support for high-value clients? Maybe you want autonomy.<br>Bulk catalog updates for commodity products? Automation is fine.<br>Anything involving refunds over $500? Keep humans in the loop.</p><p>The best systems mix all four levels. Chatbots for simple lookups. Automation for repetitive tasks. Workflows for complex coordination. Autonomy for high-stakes decisions where you have data and trust.</p><h4><strong>Final Thoughts</strong></h4><p>If a vendor says their tool is &#8220;fully autonomous&#8221; but won&#8217;t let you see the logic, won&#8217;t explain edge cases, and gets defensive about testing... it&#8217;s probably automation with a prompt.</p><p>Ask them: &#8220;What happens when it makes the wrong decision? How do I audit it? What can it do that I didn&#8217;t explicitly tell it to?&#8221;</p><p>If they dodge, you know what you&#8217;re getting.</p><div><hr></div><p><em>So where are your tools actually sitting? Probably Level 2, pretending to be Level 4.</em></p>]]></content:encoded></item><item><title><![CDATA[The $1M Ecommerce Myth: Why Scaling Still Feels Fragile in 2026]]></title><description><![CDATA[Cash-flow traps, frozen payouts, and AI/agent disruptions are real - the same founder pains dominating Reddit discussions.]]></description><link>https://opplearner.substack.com/p/the-1m-ecom-myth-why-scaling-still</link><guid isPermaLink="false">https://opplearner.substack.com/p/the-1m-ecom-myth-why-scaling-still</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Sun, 18 Jan 2026 11:09:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3FGp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.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_!3FGp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3FGp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png 424w, https://substackcdn.com/image/fetch/$s_!3FGp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png 848w, https://substackcdn.com/image/fetch/$s_!3FGp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png 1272w, https://substackcdn.com/image/fetch/$s_!3FGp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3FGp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png" width="666" height="549" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:549,&quot;width&quot;:666,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:632570,&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://opplearner.substack.com/i/184652761?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.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_!3FGp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png 424w, https://substackcdn.com/image/fetch/$s_!3FGp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png 848w, https://substackcdn.com/image/fetch/$s_!3FGp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png 1272w, https://substackcdn.com/image/fetch/$s_!3FGp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8250d7b9-82eb-4620-ba23-8ba486d0ad6d_666x549.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Everyone talks about the $1M milestone like it&#8217;s a finish line.<br>It&#8217;s actually not and it&#8217;s where a different kind of pain starts.</p><p>Your Shopify payouts suddenly come with a 5 to 10 % rolling reserve. Not because you did anything wrong - just because growth tripped a risk model.</p><div><hr></div><p>Inventory cash is sitting in containers you won&#8217;t see for months.<br>Support tickets climb faster than revenue.<br>Traffic is up, but attribution feels like guesswork as AI agents intercept discovery before customers even reach your site.</p><p>If this feels familiar, it&#8217;s because it is.</p><div><hr></div><p>These aren&#8217;t edge cases but they are the most upvoted complaints in r/ecommerce right now. The $1M+ stage looks glamorous from the outside. Inside, it&#8217;s often cashflow pressure, operational drag, and constant second-guessing.</p><p>One founder summed it up bluntly in a recent thread:<br>&#8220;Revenue doubled, cash disappeared. Stripe froze 7% of payouts, my supplier wants 50% upfront, and support is on fire. On paper we&#8217;re &#8216;winning.&#8217; In reality, it feels fragile.&#8221;</p><p>That tension clicked for me during a pre-sales call last quarter.<br>A founder walked me through their dashboard: ~$800K run-rate, processor holds freezing ~8% of inflows, support volume up ~40% month over month. We talked AI support layers and payment routing. But the real moment came later.</p><p>They weren&#8217;t asking for tools.<br>They were asking if this chaos was normal.</p><p>That&#8217;s the opportunity most content misses.</p><p>Founders don&#8217;t share posts because they found a clever tactic. They share them because someone finally named what they&#8217;re experiencing - clearly, accurately, without hype.</p><p>So I went back to one of those raw Reddit threads where founders ranked their biggest scaling pains and distilled them into 15 content plays. Not thought leadership. Practical formats that travel: how-to&#8217;s, listicles, contrarian takes, simple frameworks.</p><p>Use them in a newsletter. Turn them into X threads. Break them into LinkedIn carousels. Or use the pattern to hunt pain in your own niche.</p><h4><strong>Why this matters more in 2026</strong><br></h4><p>Agentic commerce is accelerating.<br>AI agents now handle research, comparison - even checkout.</p><p>But the fundamentals didn&#8217;t disappear.<br>Processors still lock funds when growth spikes.<br>Supply chains still break timelines.<br>Marketing attribution is getting worse, not better, as discovery goes zero-click.</p><p>As someone who&#8217;s architected retail stacks where AI agents now intercept 20&#8211;30% of early discovery, I&#8217;ve seen attribution black boxes widen - yet processor holds and inventory drag remain the real cash killers.</p><p>The winners aren&#8217;t just &#8220;using agents.&#8221;<br>They&#8217;re translating persistent human pain into content that builds trust before the agent acts.</p><p>If you can articulate the bottleneck better than the hype, you win attention when founders are most receptive.</p><p><strong>The 15 Plays</strong> (Grouped by format)</p><p><strong>How-To (Saved, not skimmed)</strong></p><ul><li><p><strong>Break the 5&#8211;10% Reserve Lock</strong> Negotiate processor holds using your own chargeback and volume data.</p></li><li><p><strong>Scale Support Without Hiring a Team</strong> Automate tier-1 with AI, outsource overflow intelligently.</p></li><li><p><strong>Audit Suppliers Like Compliance</strong> Quality gates that catch disasters before they ship.</p></li><li><p><strong>Unlock Trapped Inventory Cash</strong> Faster turns without starving stock.</p></li><li><p><strong>Find the Ad Spend Leak</strong> Why 25&#8211;35% of budget quietly stops working at scale.</p></li></ul><p><strong>Listicles (Fast, shareable, concrete)</strong></p><ul><li><p>Processor traps still draining ecommerce in 2026</p></li><li><p>Affordable tools that kill support overload</p></li><li><p>Sourcing failures that stalled growth (and how they recovered)</p></li><li><p>No-spend marketing shifts post-AI discovery</p></li><li><p>Brands that escaped cashflow hell at $1M+</p></li></ul><p><strong>Contrarian Takes (Debate starters)</strong></p><ul><li><p><strong>$1M Revenue at All Costs Is a Trap</strong> Cashflow &gt; vanity metrics.</p></li><li><p><strong>Big Processors Aren&#8217;t &#8220;Safer&#8221;</strong> Reserves protect them, not you.</p></li><li><p><strong>Cheap Overseas Sourcing Is Losing Its Edge</strong> Speed beats cost in an agent-driven funnel.</p></li></ul><p><strong>Frameworks (For repeatability)</strong></p><ul><li><p><strong>CASH Trap Breaker</strong> Calculate &#8594; Automate &#8594; Secure &#8594; Hedge</p></li><li><p><strong>SCALE Firewall</strong> Scan &#8594; Calibrate &#8594; Automate &#8594; Leverage &#8594; Evaluate</p></li></ul><p><strong>What actually changes</strong><br>Content stops being volume.<br>It becomes precision pain-naming.</p><p>Founders forward pieces that mirror their dashboard dread.<br>One clear how-to becomes the bookmarked reference.<br>One grounded contrarian take sparks the right debate.</p><p>This isn&#8217;t opportunistic farming.<br>It&#8217;s empathy plus pattern recognition.</p><p>Name the scream. Then draw the map.</p><p><strong>Where does this leave you?</strong><br>What&#8217;s the one metric on your dashboard that looks &#8220;successful&#8221; but is quietly hurting you?</p>]]></content:encoded></item><item><title><![CDATA[Agentic Commerce: Who Executes Intent in Retail?]]></title><description><![CDATA[Why emerging AI standards matter more than smarter recommendations]]></description><link>https://opplearner.substack.com/p/agentic-commerce-who-executes-intent</link><guid isPermaLink="false">https://opplearner.substack.com/p/agentic-commerce-who-executes-intent</guid><dc:creator><![CDATA[Om Prakash Pant]]></dc:creator><pubDate>Tue, 13 Jan 2026 14:47:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!f6dS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.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_!f6dS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f6dS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png 424w, https://substackcdn.com/image/fetch/$s_!f6dS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png 848w, https://substackcdn.com/image/fetch/$s_!f6dS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png 1272w, https://substackcdn.com/image/fetch/$s_!f6dS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f6dS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png" width="939" height="546" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:546,&quot;width&quot;:939,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:697473,&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://opplearner.substack.com/i/184437699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.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_!f6dS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png 424w, https://substackcdn.com/image/fetch/$s_!f6dS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png 848w, https://substackcdn.com/image/fetch/$s_!f6dS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png 1272w, https://substackcdn.com/image/fetch/$s_!f6dS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ecb039-27b2-4e45-94f6-5d9ee29b2e31_939x546.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Today, AI in retail mostly <em>advises</em>.<br>Very soon, it will <em>execute</em>.</p><p>The real shift in commerce isn&#8217;t smarter recommendations or better chat interfaces &#8212; it&#8217;s deciding who is allowed to act on intent, and under what rules.</p><p>Over the last year, most retail conversations around GenAI have followed a familiar path.</p><blockquote><p><em>Better recommendations.<br>Smarter search.<br>Nicer chatbots.<br>More productivity for teams.</em></p><p>Useful. Incremental. Safe.</p></blockquote><p>But quietly, something more structural has started to shift - and it has very little to do with how <em>intelligent</em> AI is.</p><p>It has to do with <em>who executes intent</em>.</p><p>Imagine telling your phone: &#8216;Book me the cheapest AC train ticket to Pune next Friday, under &#8377;1500, window seat if possible.&#8217; Today the AI suggests options &#8594; you pick and pay.<br>Agentic means: it searches, compares, books, and pays - but only because you already set rules like budget, preferred class, and card approval.</p><p>Until now, AI in retail has mostly <em>assisted</em> humans.<br>What&#8217;s emerging next is AI that can act - across discovery, decision, and transaction -  with far fewer human checkpoints in between.</p><p>That difference matters more than most people realise.</p><blockquote><p><strong>Search commerce:</strong> I browse, compare, decide, execute<br><strong>Agentic commerce:</strong> I declare intent, set constraints, approve outcomes</p></blockquote><div><hr></div><h3>Why this matters more <em>now</em></h3><p>This isn&#8217;t just about better models or another retail AI feature.</p><p>What&#8217;s changing right now is the plumbing.</p><p>We&#8217;re starting to see:</p><ul><li><p>shared commerce protocols</p></li><li><p>common ways for agents to discover products</p></li><li><p>standardized flows for carts, checkout, identity, and payments</p></li><li><p>clear separation between execution, trust, and control</p></li></ul><p>When platforms begin defining <em>how</em> agents are allowed to transact - not just <em>what</em> they can recommend - experimentation starts turning into infrastructure.</p><p>And when infrastructure hardens, behaviour changes.</p><p>Retail has lived through this before:</p><ul><li><p>Search reshaped discovery</p></li><li><p>Marketplaces reshaped distribution</p></li><li><p>Mobile reshaped conversion</p></li></ul><p>Agentic commerce reshapes execution.</p><div><hr></div><h3>A moment that made this click for me</h3><p>In multiple retail AI discussions recently, I&#8217;ve noticed the same pattern.</p><p>Teams talk about:</p><ul><li><p>improving search relevance</p></li><li><p>adding GenAI to customer support</p></li><li><p>using copilots for internal efficiency</p></li></ul><p>All valid.</p><p>But when the question comes up -<br><em>&#8220;Where does the decision actually get made?&#8221;</em> - the room goes quiet.</p><p>Because most current GenAI initiatives still assume:</p><blockquote><p>A human will decide.<br>A human will click.<br>A human will complete the journey.</p></blockquote><p>Agentic systems quietly challenge that assumption.</p><p>Not by removing humans - but by collapsing steps that used to require explicit human action.</p><p>And retail is full of those steps.</p><div><hr></div><p>Consider replenishment.<br>Not &#8220;discovery&#8221; or &#8220;inspiration&#8221; - just replenishment.</p><p>In an agentic model, the user doesn&#8217;t search or browse.<br>They define intent once: <em>brand preference, price ceiling, delivery window, substitution rules</em>.</p><p>From that point on, the system executes - repeatedly - without human clicks.</p><p>That silence usually happens because current tools still hand control back to humans - but emerging standards are quietly removing the need for that handoff.&#8221;</p><div><hr></div><h3>Why standards matter more than smarter agents</h3><p>This is why the most important shift in agentic commerce isn&#8217;t better models - it&#8217;s standards.</p><p>Google&#8217;s Universal Commerce Protocol (UCP) is a strong signal that the industry understands this. Instead of each agent inventing its own way to browse, negotiate, checkout, and pay, UCP defines clear boundaries between agents, merchants, and payment systems.</p><p>What&#8217;s notable is not the technology itself, but the intent: agents are treated as <em>participants in commerce</em>, not shortcuts around it. Discovery, cart creation, identity linking, checkout, and execution all happen through explicit protocols - not implicit trust.</p><p>Payments are where this becomes real - and where control matters most.</p><p>Networks like Mastercard are already defining standards for agent-initiated payments, where AI agents can act on behalf of users <em>without being allowed to act freely</em>. These frameworks focus on agent verification, cryptographic consent, spending limits, and auditable transactions.</p><p>The message is clear: agentic commerce is not about letting AI spend money. It&#8217;s about letting AI act within tightly defined, enforceable boundaries.</p><p>Think of it like giving your trusted family member your debit card with strict instructions: &#8216;You can spend up to &#8377;5000 on groceries this month, only at BigBasket or DMart, and send me the bill screenshot.&#8217; Mastercard-style rules do exactly that for AI agents - verify them, set limits, require your pre-consent - so nothing happens outside your guardrails.</p><div><hr></div><h3>What &#8220;agentic&#8221; really changes in retail</h3><p>This is where a lot of confusion comes in.</p><p><strong>Agentic &#8800; better chatbot</strong><br><strong>Agentic &#8800; smarter recommendations</strong></p><p>Agentic means the system can:</p><ul><li><p>understand intent</p></li><li><p>reason across constraints</p></li><li><p>take action across systems</p></li><li><p>and close the loop</p></li></ul><p><strong>For that to work at scale, agents need more than intelligence.</strong><br></p><p>Funnels example: Instead of scrolling Amazon for hours comparing earphones, you say &#8216;Get me noise-cancelling ones under &#8377;3000 with good reviews and fast delivery.&#8217; The agent picks, adds to cart, checks out - all while you make chai. Retailers now compete on how easy their data is for agents to understand and trust, not just on pretty photos.</p><p>They need coordination - clear rules for how discovery, checkout, identity, and payments are handled across platforms.</p><p>Humans don&#8217;t disappear in agentic commerce.<br>Their role shifts from <em>execution</em> to <em>intent design, constraint setting, and exception handling</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3TpF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3TpF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png 424w, https://substackcdn.com/image/fetch/$s_!3TpF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png 848w, https://substackcdn.com/image/fetch/$s_!3TpF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png 1272w, https://substackcdn.com/image/fetch/$s_!3TpF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3TpF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png" width="1013" height="1028" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1028,&quot;width&quot;:1013,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:703234,&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://opplearner.substack.com/i/184437699?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.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_!3TpF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png 424w, https://substackcdn.com/image/fetch/$s_!3TpF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png 848w, https://substackcdn.com/image/fetch/$s_!3TpF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png 1272w, https://substackcdn.com/image/fetch/$s_!3TpF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5a75718-f7a2-428b-9473-9d4c114df959_1013x1028.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Agents need coordination across systems - which is why protocols (not just better models) are the real unlock right now. That&#8217;s why protocols matter more than models at this stage.</p><p>In retail terms, this has four major implications.</p><div><hr></div><h4>1. Discovery shifts from &#8220;findability&#8221; to &#8220;eligibility&#8221;</h4><p>Search and SEO were designed for humans browsing.</p><p>Agents optimise for:</p><ul><li><p>structured, reliable product data</p></li><li><p>clear constraints (price, availability, delivery)</p></li><li><p>predictable fulfilment</p></li><li><p>confidence in outcomes</p></li></ul><p>If an agent can&#8217;t <em>interpret</em> or <em>trust</em> your product data, it won&#8217;t surface you - no matter how strong your brand is.</p><p>Visibility becomes a systems problem, not just a marketing one.</p><div><hr></div><h4>2. Funnels stop looking like funnels</h4><blockquote><p>Traditional retail funnels assume friction:<br>search &#8594; browse &#8594; compare &#8594; cart &#8594; checkout</p></blockquote><blockquote><p>Agent-mediated flows compress this into:<br>intent &#8594; decision &#8594; execution</p></blockquote><p>This doesn&#8217;t remove choice - but it reduces surface area and time.</p><p>Retailers who depend on mid-funnel persuasion (landing pages, nudges, visual storytelling) may find those moments shrinking unless they&#8217;re redesigned for agent-driven execution.</p><div><hr></div><h4>3. Conversion becomes less visible and harder to attribute</h4><p>When agents initiate carts and complete transactions on behalf of users:</p><ul><li><p>attribution gets fuzzy</p></li><li><p>&#8220;last click&#8221; loses meaning</p></li><li><p>influence matters more than interaction</p></li></ul><p>This isn&#8217;t just an analytics challenge.<br>It&#8217;s a mental model shift in how performance is understood.</p><div><hr></div><h4>4. Control quietly shifts upstream</h4><p>The biggest risk - and opportunity - is ownership.</p><p>If agents become the primary interface:</p><ul><li><p>who controls prioritisation?</p></li><li><p>who defines defaults?</p></li><li><p>who decides what &#8220;best&#8221; means?</p></li></ul><p>This is why the emergence of shared commerce standards - like Google&#8217;s Universal Commerce Protocol - is significant.<br>Not because of who published it, but because it signals where the industry is heading:<br>from bespoke integrations to agent-readable, standardized execution flows.</p><p>Retailers that treat this as &#8220;just another channel&#8221; may lose leverage without noticing.<br>Retailers that treat it as strategic infrastructure may help shape the rules.</p><div><hr></div><h3>What this does <em>not</em> mean</h3><p>This does not mean:</p><ul><li><p>websites disappear tomorrow</p></li><li><p>humans stop shopping</p></li><li><p>agents replace retail strategy</p></li></ul><p>It <em>does</em> mean:</p><ul><li><p>execution layers are changing</p></li><li><p>assumptions baked into retail stacks are being challenged</p></li><li><p>and &#8220;AI strategy&#8221; can no longer stop at copilots and content</p></li></ul><p>This is early.<br>But it&#8217;s directional &#8212; and direction matters.</p><div><hr></div><p>We&#8217;re starting to see this take shape across the ecosystem - not just one protocol, but a wave of them. </p><p>Google&#8217;s Universal Commerce Protocol (UCP), co-developed with Shopify, Target, Walmart, and endorsed by Visa, Mastercard, Stripe, Adyen, and others, is a strong merchant-facing signal. At the same time, </p><p>OpenAI and Stripe&#8217;s Agentic Commerce Protocol (ACP) is pushing agent-initiated flows from conversational interfaces, Microsoft is piloting agentic checkouts in Copilot experiences, and payment networks like Visa and Mastercard are layering in consent, limits, and auditability for agent actions. </p><p>The point isn&#8217;t which one wins outright. It&#8217;s that the infrastructure race is on, standards are emerging in parallel, and the real shift is happening where execution moves from human clicks to system-led decisions - quietly, but irreversibly.</p><div><hr></div><h3>One question retail leaders should start asking now</h3><p>Not:</p><blockquote><p>&#8220;Which AI tool should we use?&#8221;</p></blockquote><p>But:</p><blockquote><p>&#8220;Where, in our retail journey, could decision-making move from human-led to system-led - and are we ready for that?&#8221;</p></blockquote><p>That single question reframes:</p><ul><li><p>data priorities</p></li><li><p>architecture decisions</p></li><li><p>operating models</p></li><li><p>and even brand strategy</p></li></ul><p>You don&#8217;t need all the answers yet.</p><p>But if you&#8217;re not asking the question, someone else - or something else - will answer it for you.</p><div><hr></div><p>Agentic commerce isn&#8217;t about hype or headlines.<br>It&#8217;s about who executes intent in the next version of retail.</p><p>And that&#8217;s a shift worth paying attention to.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://opplearner.substack.com/p/agentic-commerce-who-executes-intent?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://opplearner.substack.com/p/agentic-commerce-who-executes-intent?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><p>The competitive advantage in agentic commerce won&#8217;t come from having the smartest model.<br>It will come from deciding <strong>where execution is allowed &#8212; and where it isn&#8217;t</strong>.</p><p>The real question for retailers is no longer <em>&#8220;How good is our AI?&#8221;</em><br>It&#8217;s <em>&#8220;What are we willing to let it do?&#8221;</em></p><blockquote><p>This is less about AI innovation &#8212; and more about commerce architecture.</p></blockquote><p><em>P.S. I&#8217;m spending more time exploring how agentic systems intersect with real retail constraints - especially data, trust, and ownership. More to come.</em></p>]]></content:encoded></item></channel></rss>