<?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[Agentic Analytics]]></title><description><![CDATA[Practical notes on data, AI and Analytics by Paras Doshi]]></description><link>https://www.insightextractor.com</link><image><url>https://www.insightextractor.com/img/substack.png</url><title>Agentic Analytics</title><link>https://www.insightextractor.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 11 Sep 2026 01:10:50 GMT</lastBuildDate><atom:link href="https://www.insightextractor.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Paras Doshi]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[insightextractor@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[insightextractor@substack.com]]></itunes:email><itunes:name><![CDATA[Paras Doshi]]></itunes:name></itunes:owner><itunes:author><![CDATA[Paras Doshi]]></itunes:author><googleplay:owner><![CDATA[insightextractor@substack.com]]></googleplay:owner><googleplay:email><![CDATA[insightextractor@substack.com]]></googleplay:email><googleplay:author><![CDATA[Paras Doshi]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Future-Proof Your Data Career: The AI-Era Playbook -- session slides and recording]]></title><description><![CDATA[Slides and recording for this session below:]]></description><link>https://www.insightextractor.com/p/future-proof-your-data-career-the</link><guid isPermaLink="false">https://www.insightextractor.com/p/future-proof-your-data-career-the</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Tue, 08 Sep 2026 18:41:33 GMT</pubDate><content:encoded><![CDATA[<p>Slides and recording for this <a href="https://maven.com/p/08d0e0/future-proof-your-data-career-the-ai-era-playbook">session</a> below: <br><br><strong>Slides:</strong> </p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Future Proof Data Career System Builder</div><div class="file-embed-details-h2">2.48MB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://www.insightextractor.com/api/v1/file/3b572bde-a89f-4bfb-96c5-72d3f60f4f9b.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://www.insightextractor.com/api/v1/file/3b572bde-a89f-4bfb-96c5-72d3f60f4f9b.pdf"><span class="file-embed-button-text">Download</span></a></div></div><p><strong>Recording:</strong> </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;28e6bc44-3e53-495b-a35c-161ed19dc7ad&quot;,&quot;duration&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[[Session slide & recording] Agentic Analytics in Production: What to Build First]]></title><description><![CDATA[Sesion landing page: Agentic Analytics in Production]]></description><link>https://www.insightextractor.com/p/session-slide-and-recording-agentic</link><guid isPermaLink="false">https://www.insightextractor.com/p/session-slide-and-recording-agentic</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Tue, 18 Aug 2026 23:32:10 GMT</pubDate><content:encoded><![CDATA[<h3>Sesion landing page: <a href="https://maven.com/p/4bb6b2/agentic-analytics-in-production-what-to-build-first">Agentic Analytics in Production</a><br><br>Slides </h3><p>They can be downloaded here: </p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Agentic Analytics In Production What To Build First</div><div class="file-embed-details-h2">1.1MB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://www.insightextractor.com/api/v1/file/9f5def56-fbd9-48e8-81e4-d4c2ae2900ea.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://www.insightextractor.com/api/v1/file/9f5def56-fbd9-48e8-81e4-d4c2ae2900ea.pdf"><span class="file-embed-button-text">Download</span></a></div></div><h3>Recording:</h3><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;84bc6c1f-99a9-4fb8-97ef-055f8e291c44&quot;,&quot;duration&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[9 learnings from running a Tiny AI Company]]></title><description><![CDATA[What four months of operating a tiny AI-run business taught me about distribution, reliability, agent hype, and learning by doing.]]></description><link>https://www.insightextractor.com/p/dont-spend-5000-on-an-ai-course-start</link><guid isPermaLink="false">https://www.insightextractor.com/p/dont-spend-5000-on-an-ai-course-start</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Mon, 17 Aug 2026 16:31:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IlBt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.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_!IlBt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IlBt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!IlBt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!IlBt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!IlBt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IlBt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2178241,&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://www.insightextractor.com/i/211471564?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.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_!IlBt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!IlBt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!IlBt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!IlBt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20c7835-5dd2-4978-b434-05daaf4d31fe_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A tiny AI-run company looks simple from the outside. The operating reality is much messier.</figcaption></figure></div><p>I could have taken another AI course. Instead, I spent roughly four months trying to run a tiny company with almost no routine human execution.</p><p>The company&#8217;s full catalog recorded 21 positive-dollar purchases, with no refunds in the ledger I reviewed. I am not claiming that the agent system caused every purchase. Along the way the system processed 12.43 billion reported tokens (most of them cached). At one point six seller agents were running and none of them was selling. The longest-running sales loop lasted 49.8 hours, produced 54 experiments and ended with zero purchases.</p><p>I learned more from that mess than I would have learned from another year of watching AI videos. Courses have their place. They are useful when you want somebody who already understands the field to organize it for you. I just know that I learn differently. I need to build the thing, watch it fail and figure out why my mental model was wrong.</p><p>That was the reason for using a real business. A demo that orders lunch badly is interesting for an afternoon. A business that produces 188 proof files while revenue stays at zero forces you to ask much better questions.</p><p>I wanted to see what happened after the keynote demo, when OpenClaw, Hermes, Codex, browser agents, scheduled jobs, analytics tools, commerce systems and a lot of small scripts had to work together. I am leaving the company, category and product anonymous on purpose. This is about the operating system I built around it, not about promoting the product.</p><p>The company had to do the normal work of a small internet business:</p><ul><li><p>package and improve a product;</p></li><li><p>maintain a storefront and landing pages;</p></li><li><p>create content;</p></li><li><p>find potential buyers;</p></li><li><p>distribute on public and owned channels;</p></li><li><p>operate browser and inbox workflows;</p></li><li><p>measure visits, calls to action, checkout intent, and purchases;</p></li><li><p>reconcile revenue;</p></li><li><p>learn from failure;</p></li><li><p>decide what to do next.</p></li></ul><p>The agents could do nearly all of this. What surprised me was how little that capability guaranteed. Building was easy; distribution was painfully hard. The frameworks helped, although far less than the hype suggested. Reliability only began to improve after I decomposed the revenue goal, moved the decision logic into a control plane and stopped letting the workers verify their own work.</p><p>The economics are also worth saying upfront. If I include my time and judge this only as a small business, I probably created a minimum-wage job for myself. If I include what I learned and where I can apply it next, the return feels closer to 1,000 times the revenue. Both are honest ways to look at the same experiment.</p><h2>The experiment in numbers</h2><p>These numbers cover roughly four months of repository history and Codex session telemetry. They are operating records, not benchmark results.</p><ul><li><p><strong>21 paid purchases overall.</strong> The full catalog had real demand. This does not by itself prove repeatable growth or profit.</p></li><li><p><strong>12.43B reported tokens.</strong> Most input was cached. The number mainly shows the context tax created by a large operating system.</p></li><li><p><strong>61 of 64 experiments said rewrite distribution.</strong> The system had built plenty. Its main problem was reaching and persuading buyers.</p></li><li><p><strong>Longest-running sales loop: 49.8 hours.</strong> It produced 54 experiments and zero purchases. A busy loop can remain commercially stationary.</p></li><li><p><strong>188 proof files, one verified public action.</strong> Artifact production had started impersonating external progress.</p></li><li><p><strong>40 task starts without a terminal marker.</strong> This is a proxy for silent or incomplete exits, not 40 confirmed commercial failures.</p></li><li><p><strong>Six seller agents, zero selling.</strong> Ownership coordinated in prose produced bureaucracy rather than execution.</p></li></ul><p>My favorite statistic is not tokens per dollar.</p><p>It is this:</p><p><strong>Six seller agents were running. Zero agents were selling.</strong></p><p>That single incident captures the difference between an AI demo and an AI-operated company.</p><h2>What I mean by a &#8220;zero-human company&#8221;</h2><p>&#8220;Zero-human company&#8221; is a provocative phrase. It is not a literal description. There was close to zero routine human execution across many recurring workflows. Agents could inspect the funnel, modify product pages, write code and tests, publish owned assets, prepare and sometimes execute distribution, triage authorized business inboxes, verify live routes, and reconcile paid outcomes.</p><p>Humans still owned:</p><ul><li><p>the objective;</p></li><li><p>capital allocation;</p></li><li><p>credentials and account recovery;</p></li><li><p>legal and safety boundaries;</p></li><li><p>public identity decisions;</p></li><li><p>permissions for cold outreach;</p></li><li><p>material changes outside the approved operating envelope;</p></li><li><p>responsibility for what the system did.</p></li></ul><p>That distinction matters because people often collapse four separate claims:</p><ol><li><p><strong>No routine human labor.</strong> The recurring work can run without a person doing every click.</p></li><li><p><strong>No human supervision.</strong> The system can notice, diagnose, and repair its own failures.</p></li><li><p><strong>No human governance.</strong> The system can choose objectives, spend money, create identities, and rewrite its boundaries.</p></li><li><p><strong>No human accountability.</strong> Nobody is responsible when the system causes harm.</p></li></ol><p>I was testing the first two. I was not trying to build the last two.</p><p>The experiment was not &#8220;Can an LLM be a legal entity?&#8221; It was a more useful question:</p><p><strong>How much of a small company&#8217;s recurring work can an agent system own before a human has to step in, and what infrastructure makes that ownership trustworthy?</strong></p><p>The answer was: more than I expected on execution, less than I expected on reliability, and much less than I expected on commercial judgment.</p><h2>Learning 1: Building got easy. Distribution did not.</h2><p>This became the first and most important lesson. The cost of producing software, pages, analysis, copy, images, workflows, tests, and digital products has collapsed. An operator who understands a customer problem can now rent enough intelligence to build what previously required a small technical team.</p><p>That is liberating, and it also raises the bar. When everyone can build, building is less differentiating. A functional website is not distribution. A polished landing page does not create demand. A finished product still needs a market, and thirty posts do not automatically add up to a channel.</p><p>The agents were astonishingly good at making things, which became a trap.</p><p>The repository grew. Product pages improved. New assets appeared. Tests passed. Content was produced. Run summaries sounded industrious. Revenue often stayed at zero. At one point, the operating harness contained 64 measured commercial experiments across social platforms, newsletters, communities, owned assets, video, and checkout.</p><p>The verdict was hard to miss: 61 of the 64 experiments said to kill or rewrite distribution. Only three pointed to clickthrough or purchase conversion.</p><p>The system was not telling me to build more. It was telling me that the market either was not seeing the offer, did not understand it, did not trust it, or did not want it enough. Those are different problems.</p><p>Agents frequently treated them as one generic request: create more content.</p><p>The longest-running sales loop lasted 49.8 hours. It generated 54 experiments and ended with no CTA clicks, trusted checkout intents or purchases. Server logs showed thousands of checkout redirects, but the volume was wildly inconsistent with trusted browser telemetry, so I excluded it. The first credible failure was still before checkout.</p><p>The system kept opening adjacent content, site and distribution work because those tasks were available and easy to complete. This is what activity bias looks like inside an agent organization. When people see an offer and nobody clicks, the right response is to change the explanation, proof, audience, CTA or handoff rather than publish another batch of the same content.</p><p>It was to change one commercial variable:</p><ul><li><p>the audience;</p></li><li><p>the problem;</p></li><li><p>the promise;</p></li><li><p>the proof;</p></li><li><p>the price;</p></li><li><p>the CTA;</p></li><li><p>the handoff;</p></li><li><p>the offer.</p></li></ul><p>Business people can build now. That does not mean every business person will win. It means problem selection, positioning, and distribution become more important. Your value proposition needs to be instantly legible to the person with the problem. The buyer should not have to study your site to understand why they should care. If the offer requires a five-minute explanation before the pain feels urgent, your agent can automate an enormous amount of work around something nobody wants.</p><p>The cost of building is approaching zero. The cost of choosing the wrong thing is not.</p><h2>Learning 2: I stopped giving the agents a revenue goal</h2><p>This was probably the most important systems-thinking change I made.</p><p>For a while the instruction was basically: make revenue. That sounds outcome-oriented, and it is certainly better than telling an agent to write five posts. The problem is that revenue is too far downstream to tell a worker what to do at 9:00 on a Tuesday morning. When the number was zero, every agent could form a different theory. One would rewrite the landing page. Another would create content. A third would inspect the checkout. All three could finish their task and still leave me with no idea which part of the system was broken.</p><p>I eventually stopped treating revenue as one goal and modeled it as a function:</p><blockquote><p><em>Revenue = f(X, Y, Z)</em></p></blockquote><p>In my version, X was qualified demand, Y was conversion and Z was execution reliability. A rough operating equation looked like this:</p><blockquote><p><em>Expected revenue &#8776; qualified demand &#215; conversion rate &#215; execution reliability &#215; net revenue per order</em></p></blockquote><p>It was not meant to be a perfect financial model. It was a routing model for the agents. If any major factor was effectively zero, revenue would be zero, and the control plane needed to work on that factor rather than whichever task was easiest to complete.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BPHY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BPHY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!BPHY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!BPHY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!BPHY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BPHY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111890,&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://www.insightextractor.com/i/211471564?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BPHY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!BPHY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!BPHY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!BPHY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30499936-af7e-4858-9fba-ff7e1620c8eb_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Revenue became easier to operate after I decomposed it into three factors</figcaption></figure></div><p>The operating contract then became much more concrete. A version of it looked like this:</p><p><strong>X: Qualified demand</strong></p><ul><li><p>Minimum work: Find a fresh buyer-authored problem, make a useful buyer-facing contribution, and create a legitimate route back to the offer.</p></li><li><p>Evidence: A trusted qualified exposure or visit, with source and timestamp.</p></li></ul><p><strong>Y: Conversion</strong></p><ul><li><p>Minimum work: Change one of the promise, proof, CTA, price or handoff; verify the live experience; inspect the next funnel event.</p></li><li><p>Evidence: A CTA click, checkout intent or a clearly measured zero at that rung.</p></li></ul><p><strong>Z: Reliability</strong></p><ul><li><p>Minimum work: Acquire single-flight ownership, execute through an approved tool, read the destination, and write a terminal state.</p></li><li><p>Evidence: Persistent destination state plus a fresh independent ledger or receipt.</p></li></ul><p>The exact quota changed as I learned. The decomposition mattered more than whether X required two actions or three. Each factor had an owner, a minimum amount of work, an acceptable proof source and a condition for moving to the next factor.</p><p>This changed the daily conversation with the system. A zero-revenue day no longer led to &#8220;do more marketing.&#8221; It led to a diagnosis:</p><ul><li><p>If qualified demand was zero, work on distribution. Do not touch the checkout.</p></li><li><p>If people saw the offer but did not click, change the problem framing, promise, proof or CTA.</p></li><li><p>If people reached checkout but did not buy, inspect price, trust, friction and handoff.</p></li><li><p>If an action could not be verified at the destination, treat the reliability factor as zero. Do not count the upstream activity.</p></li></ul><p>There was another useful consequence. The agents could no longer satisfy the broad revenue instruction by completing the part they liked. A coding agent could make a beautiful site change, but if X was the broken factor, the controller sent the work back toward distribution. A content agent could produce ten posts, but without qualified exposure they did not complete the demand requirement. A browser agent could click submit, but Z stayed open until the action survived readback.</p><p>This is where the separation between the control plane and execution plane became practical. The controller held the revenue equation, identified the first broken factor and selected the next move. The executor received a bounded task against that factor. The verifier checked the evidence. The learning layer recorded whether the intervention changed the factor.</p><p>Before this decomposition, I had a collection of capable agents. After it, I had the beginning of a system.</p><h2>Learning 3: Agent frameworks are plumbing, not the CEO</h2><p>I tried the tools people were excited about. OpenClaw. Hermes. Codex. Browser agents. MCP servers. Scheduled tasks. Multi-agent coordination. Persistent memory. Local runtimes. Cloud runtimes. Tool routers. I am glad I tried them.</p><p>I also think the agent frameworks were dramatically oversold. They can be useful infrastructure. They did not determine whether the business worked. An agent framework can help an agent wake up, call a tool, read a file, update state, or send work to another process. It cannot rescue a weak offer or create distribution out of nothing. It also will not know that exposures without clicks should trigger a message change unless the operating system contains that decision rule.</p><p>The early design asked too much from the runtime. OpenClaw and related agents were allowed to interpret the objective, inspect a large amount of state, decide what mattered, execute across several surfaces, verify their own work, write their own memory, and choose the next task. I had stuffed most of a company into one prompt. It worked on good days. On bad days, a temporary browser failure became a company-wide blocker, stale memory overruled a fresh result, or a scheduler showed green even though the prompt work had not run.</p><p>The most important architecture change was decoupling the control plane from the execution plane. Codex scheduled jobs became the control tower. They held the current objective, selected the next bounded move, acquired ownership, and defined the evidence required for completion. OpenClaw, Hermes, browser workers, command-line tools, and APIs became replaceable executors.</p><p>Then I added a third plane because two were not enough: independent verification.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y0S6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y0S6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!y0S6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!y0S6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!y0S6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y0S6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107294,&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://www.insightextractor.com/i/211471564?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y0S6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!y0S6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!y0S6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!y0S6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e956d54-f04d-41cc-bc46-84b96d534cfb_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The control plane decides. Replaceable workers execute. A separate verifier checks the destination</figcaption></figure></div><p>This separation improved reliability for a few reasons.</p><h3>The executor became replaceable</h3><p>If the browser route failed, the control plane could choose a CLI, API, or different approved route. The objective did not disappear with the worker.</p><h3>Failure domains became smaller</h3><p>A broken social integration blocked that surface. It did not automatically stop product work, an owned channel, commerce verification, or another distribution path.</p><h3>Retries became safer</h3><p>The controller knew whether an action had a terminal state and whether the destination confirmed the mutation. It could retry an unexecuted task without blindly duplicating an executed one.</p><h3>The system had one place to make tradeoffs</h3><p>Without a control plane, every worker locally optimizes. One improves the page. Another produces posts. Another refreshes analytics. All may be reasonable. None may be the best next move.</p><h3>Framework hype lost its power</h3><p>Once the runtime became an executor, I could evaluate it on mundane questions:</p><ul><li><p>Did it start?</p></li><li><p>Did it receive the right bounded task?</p></li><li><p>Could it use the required tool?</p></li><li><p>Did it write a terminal state?</p></li><li><p>Did the destination change?</p></li><li><p>How much did it cost?</p></li><li><p>Can I replace it?</p></li></ul><p>That gave me a much more useful way to evaluate agent infrastructure. I stopped asking which framework appeared most autonomous and started asking whether each executor could complete a bounded task, return evidence, recover cleanly and stay within budget.</p><h2>Learning 4: Agents count inputs because inputs are easy to prove</h2><p>Agents love things they can count:</p><ul><li><p>posts drafted;</p></li><li><p>pages edited;</p></li><li><p>tests passed;</p></li><li><p>messages prepared;</p></li><li><p>leads collected;</p></li><li><p>reports written;</p></li><li><p>proof files created;</p></li><li><p>tasks marked complete.</p></li></ul><p>Those are inputs. The business result lives farther down the ladder.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lxNL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lxNL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!lxNL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!lxNL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!lxNL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lxNL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75968,&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://www.insightextractor.com/i/211471564?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lxNL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!lxNL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!lxNL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!lxNL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdaff152-1e5b-4414-a99d-12d997c41be1_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Each rung is useful, but a lower rung cannot complete a higher-rung objective</figcaption></figure></div><p>Every step matters, but each proves something different. A draft does not prove publication, a submitted comment does not prove persistence, and a visit does not prove intent. Checkout and payment also need to remain separate, just as revenue needs to remain separate from profit.</p><p>The system repeatedly collapsed those differences because a flat completion model encouraged it to. On one day, it produced 188 Markdown proof files. The structured daily operating ledger contained one verified public action.</p><p>This was not a documentation problem. It was a data-model problem. A local render, a browser click, a deployment receipt, a public page, a human reply, and a payment all looked like artifacts. The system could report a large number of artifacts while the business result remained unchanged.</p><p>I eventually forced every action into an evidence hierarchy:</p><ol><li><p><strong>Prepared.</strong> A draft, local file, or proposed mutation exists.</p></li><li><p><strong>Attempted.</strong> The agent invoked the external action.</p></li><li><p><strong>Delivered.</strong> The destination confirms the change.</p></li><li><p><strong>Engaged.</strong> A qualified person responded or advanced.</p></li><li><p><strong>Commercial.</strong> A trusted checkout or paid event occurred.</p></li><li><p><strong>Financial.</strong> Revenue, fees, refunds, operating cost, and profit are reconciled.</p></li></ol><p>This sounds obvious when written down. It was one of the hardest lessons to make operational. Agents are optimized to produce a coherent answer. When the answer is a company update, they naturally construct the strongest coherent story available from the evidence.</p><p>The controller&#8217;s job is to make certain stories impossible.</p><h2>Learning 5: Silent failure became part of the operating model</h2><p>Forty task starts had neither a completion marker nor an abort marker. I call them silent or incomplete exits. That does not mean 40 commercial actions definitely failed; some may reflect interrupted logging, a killed process, schema changes or a task superseded somewhere else. But that ambiguity is exactly the failure.</p><p>If a task disappears without a terminal state, the next worker does not know whether to retry, reconcile, wait, or stop. Humans fill these gaps instinctively. Agents turn them into duplicate messages, abandoned work, stale locks, or false confidence.</p><p>External integrations created an even more dangerous version of silent failure. The browser would open the right page. The agent would type.</p><p>It would click submit.</p><p>Sometimes the interface showed an optimistic state. The agent would report success. After reload, the comment or message was gone.</p><p>The proof registry contains multiple transport-failure receipts for social or comment actions that appeared to execute but did not survive required readback. So I stopped treating &#8220;clicked&#8221; as a meaningful state.</p><p>The browser ladder became:</p><ol><li><p>Page opened.</p></li><li><p>Correct account and destination confirmed.</p></li><li><p>Content entered.</p></li><li><p>Submission attempted.</p></li><li><p>Mutation visible immediately.</p></li><li><p>Mutation survives reload.</p></li><li><p>Mutation is visible at the public or recipient destination.</p></li><li><p>Intended person engages.</p></li></ol><p>Most agent demos stop around step four. Commercial systems cannot.</p><p>The same rule applied everywhere:</p><ul><li><p>a populated composer was not a sent message;</p></li><li><p>an API acceptance was not destination state;</p></li><li><p>a success toast was not persistence;</p></li><li><p>a build receipt was not a production change;</p></li><li><p>a healthy schedule was not proof that prompt work executed;</p></li><li><p>a task summary was not a business outcome.</p></li></ul><p>Every mutation needed destination readback, and every task needed one terminal state:</p><ul><li><p>completed with evidence;</p></li><li><p>aborted with reason;</p></li><li><p>blocked with scope and retry condition;</p></li><li><p>superseded by a named task.</p></li></ul><h2>Learning 6: Browser and integration work is still flaky</h2><p>This deserves its own section because &#8220;the agent can use a browser&#8221; is often presented as a solved capability. It is not solved in the way a business operator means solved.</p><p>Over several iterations, browser automation failed because of:</p><ul><li><p>authentication state;</p></li><li><p>account identity ambiguity;</p></li><li><p>page layout changes;</p></li><li><p>elements that existed but were not interactable;</p></li><li><p>optimistic UI;</p></li><li><p>reload persistence;</p></li><li><p>anti-automation behavior;</p></li><li><p>tab assumptions;</p></li><li><p>cooldowns;</p></li><li><p>timeouts;</p></li><li><p>a stale failure report surviving after the route recovered;</p></li><li><p>a working route being treated as unavailable because no tab was pre-opened.</p></li></ul><p>The browser could work perfectly in a demo and fail during an unattended scheduled run. That distinction matters.</p><p>&#8220;Can complete the flow once while watched&#8221; is a product capability. &#8220;Can complete, verify, retry safely, and recover unattended&#8221; is an operating capability. It took repeated iterations before the browser became useful for real actions. Even then, I treated it as one executor among several, not the source of truth.</p><p>Where possible:</p><ul><li><p>APIs or CLIs handled deterministic reads;</p></li><li><p>browser automation handled UI-only actions;</p></li><li><p>the final destination handled verification;</p></li><li><p>the controller decided whether a different route remained available.</p></li></ul><p>A more subtle failure involved zero-result sensors. The agent would check an inbox, find nothing actionable and stop. Or it would find no pre-opened social tab, encounter a dirty worktree or hit a cooldown on one platform. Each observation was accurate; the mistake was turning a local condition into a reason for the entire company to stop.</p><p>This became a control-flow law:</p><blockquote><p><em>A zero-result sensor returns &#8220;nothing here.&#8221; It does not return &#8220;stop the company.&#8221;</em></p></blockquote><p>Blockers needed four fields:</p><ul><li><p>the exact route blocked;</p></li><li><p>the reason;</p></li><li><p>the expiry or retry condition;</p></li><li><p>the approved routes still open.</p></li></ul><p>Without that structure, one flaky integration became an organizational excuse.</p><h2>Learning 7: Multi-agent systems recreate bureaucracy at machine speed</h2><p>The funniest incident happened on a day when the scheduler launched seller tasks at six different times. Six seller agents appeared to be running. The prompt told them to elect one owner after launch.</p><p>Older tasks detected duplicates and yielded, but they were still allowed to perform cleanup, audits, handoffs, and state updates. The newest task waited for older tasks to become idle. The result was an ownership deadlock. Six AI agents spent their work window coordinating which AI agent was allowed to sell.</p><p>There were six sellers and zero selling. My first attempted fix was to add more prose to the prompt: &#8220;Elect one owner.&#8221; Of course that was already too late. Compute had started, shared state was open and side effects were possible.</p><p>The durable fix was mechanical:</p><ul><li><p>one persistent seller task;</p></li><li><p>one scheduler path;</p></li><li><p>one single-flight lease;</p></li><li><p>lease acquisition before any sensor read, browser action, or repository mutation;</p></li><li><p>no lease means no work;</p></li><li><p>lease denial is a complete no-op;</p></li><li><p>stale owners recover through expiry.</p></li></ul><p>This is basically a database lock. It is less exciting than a diagram of collaborating agents and it worked much better. I learned that you do not need humans to create bureaucracy.</p><p>You need:</p><ul><li><p>ambiguous ownership;</p></li><li><p>multiple launch paths;</p></li><li><p>locally rational workers;</p></li><li><p>weak admission control;</p></li><li><p>shared mutable state;</p></li><li><p>incentives that reward visible activity.</p></li></ul><p>Agent organizations can reproduce the worst parts of human organizations, only faster and with much more documentation. I had built an org-design problem before I had built a repeatable business.</p><h2>Learning 8: Stale truth is worse than missing truth</h2><p>Missing data often creates caution. Stale data creates confidence.</p><p>The system inherited:</p><ul><li><p>old browser failures after the browser recovered;</p></li><li><p>old revenue snapshots after a new paid event existed;</p></li><li><p>old scheduler states after ownership changed;</p></li><li><p>mirrors that disagreed with canonical files;</p></li><li><p>previous-day activity used against today&#8217;s objective;</p></li><li><p>historical paid events used to satisfy a new-sales goal.</p></li></ul><p>The naive answer was to refresh everything on every run. That created more cost, longer contexts, more races, and another place to fail. The better answer was source lineage.</p><p>Every important claim needed:</p><ul><li><p>a named source;</p></li><li><p>a timestamp;</p></li><li><p>an owner;</p></li><li><p>a decision window;</p></li><li><p>a freshness limit;</p></li><li><p>a canonical-source rule.</p></li></ul><p>The sales verifier, for example, became stricter than the operating dashboard. It required a new, paid, unrefunded event attributed to the correct business and occurring after a locked time floor. Historical revenue could not complete today&#8217;s sales goal. An entitlement could not impersonate a purchase.</p><p>A checkout could not impersonate settlement. Platform-net proceeds could not impersonate profit. That last distinction matters for this article.</p><p>The anonymous business has made real revenue through 21 paid purchases overall, and its cumulative catalog revenue covers several months of the recurring software stack. I am not attributing every purchase to the agent system, and I have not proved repeatable monthly profitability.</p><h2>Learning 9: Memory is useful. Automated &#8220;learning&#8221; is dangerous.</h2><p>The agents were very good at converting events into conclusions:</p><ul><li><p>&#8220;This is our strongest channel.&#8221;</p></li><li><p>&#8220;The audience needs more education.&#8221;</p></li><li><p>&#8220;The checkout needs repair.&#8221;</p></li><li><p>&#8220;We should double down on this format.&#8221;</p></li></ul><p>Most of those statements sounded plausible, which was exactly the risk. A channel can produce the most impressions and zero purchases. A page can be technically correct while nobody sees it. A checkout can work perfectly when no one wants the offer. Once an unsupported conclusion enters persistent memory, the next agent treats it as institutional knowledge and one weak inference can direct dozens of future runs.</p><p>I eventually made learning evidence-weighted:</p><ul><li><p>verified outcomes could become reusable strategy;</p></li><li><p>verified corrections could become guardrails;</p></li><li><p>regressions could become tests;</p></li><li><p>inconclusive activity stayed inconclusive;</p></li><li><p>repeated zero-outcome activity became suppression, not a playbook;</p></li><li><p>after measured zero, one commercial variable had to change.</p></li></ul><p>A broader reliability review found the same failure signatures repeatedly: &#8220;fake green&#8221; automation where the prompt work did not execute, drafts or renders counted as shipped, distribution tasks drifting into more site work, and reports replacing repair. The categories overlapped, but they pointed to the same issue: the system rewarded internally visible work more reliably than external outcomes.</p><h2>The architecture I would build now</h2><p>If I started again, I would begin with the decomposed revenue model and four practical layers around it. A swarm could come later, if the work actually required one.</p><h3>1. Control plane</h3><p>The control plane decides:</p><ul><li><p>the current business objective;</p></li><li><p>the metric and time window;</p></li><li><p>who owns the run;</p></li><li><p>the first unblocked move;</p></li><li><p>the allowed budget;</p></li><li><p>the commercial variable under test;</p></li><li><p>the proof required to close the task;</p></li><li><p>the next measurement time.</p></li></ul><p>This is where scheduled Codex jobs were most valuable. The control plane should be boring, explicit, and small. It should not load the company&#8217;s entire memory on every wake.</p><p>Its hot path should fit on one screen:</p><ol><li><p>Current goal.</p></li><li><p>Current outcome truth.</p></li><li><p>Current owner and lease.</p></li><li><p>First broken funnel rung.</p></li><li><p>Next move.</p></li><li><p>Proof contract.</p></li><li><p>Kill rule.</p></li><li><p>Next check.</p></li></ol><h3>2. Execution plane</h3><p>The execution plane does bounded work:</p><ul><li><p>run a command;</p></li><li><p>modify code;</p></li><li><p>deploy a page;</p></li><li><p>use a browser;</p></li><li><p>query an API;</p></li><li><p>send an approved message;</p></li><li><p>update a listing;</p></li><li><p>fetch analytics;</p></li><li><p>inspect a business inbox.</p></li></ul><p>This is where OpenClaw, Hermes, browser agents, shell tools, MCP integrations, and custom scripts belong. Executors should not decide whether their local success completed the company objective.</p><p>They should return:</p><ul><li><p>what they attempted;</p></li><li><p>what they observed;</p></li><li><p>the exact external identifier;</p></li><li><p>any error;</p></li><li><p>the terminal state.</p></li></ul><h3>3. Verification plane</h3><p>The verifier reads a source that is harder for the actor to manipulate casually.</p><p>Examples:</p><ul><li><p>public URL after reload;</p></li><li><p>recipient sent-state;</p></li><li><p>production page;</p></li><li><p>analytics event from the destination;</p></li><li><p>commerce ledger;</p></li><li><p>refund state;</p></li><li><p>external scheduler history;</p></li><li><p>a separate reconciliation process.</p></li></ul><p>The verifier must be stricter than the actor. If the same agent performs the action, interprets the evidence, writes the memory, and marks the goal complete, it will eventually grade itself generously.</p><h3>4. Learning plane</h3><p>The learning plane stores only what earned persistence.</p><p>It should preserve:</p><ul><li><p>verified outcomes;</p></li><li><p>corrected assumptions;</p></li><li><p>recurring failure signatures;</p></li><li><p>changed decision rules;</p></li><li><p>tests that prevent regression;</p></li><li><p>explicit open questions.</p></li></ul><p>It should reject:</p><ul><li><p>activity summaries presented as strategy;</p></li><li><p>an experiment with no exposure;</p></li><li><p>impressions presented as purchase evidence;</p></li><li><p>temporary tool errors presented as permanent constraints;</p></li><li><p>repeated zero-result behavior presented as discipline.</p></li></ul><p>The whole system should form a closed loop:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k3hk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k3hk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!k3hk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!k3hk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!k3hk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k3hk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:126802,&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://www.insightextractor.com/i/211471564?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k3hk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!k3hk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!k3hk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!k3hk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8711b9-7852-462b-9a87-8bf1d20ad434_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The loop matters more than which agent executes an individual step</figcaption></figure></div><p>That closed loop mattered more than which individual agent happened to execute a step.</p><h2>The tool stack that was enough</h2><p>One of my goals was to learn without creating an unlimited cloud bill. Because I paid for this personally, cost discipline was real.</p><p>My recurring software stack was roughly $240 per month:</p><ul><li><p>one premium Codex plan as the main control and coding environment;</p></li><li><p>one $20 Google AI plan;</p></li><li><p>one $20 Claude plan;</p></li><li><p>a Mac mini running 24/7 as the always-on local host.</p></li></ul><p>That figure excludes the Mac mini purchase price, electricity, domain costs, transaction fees, and the value of my time. I could easily have spent thousands per month by adding hosted agent platforms, premium browser services, multiple model APIs, vector databases, monitoring products, and one more orchestration framework every week. I did not need to.</p><p>The wider working stack included:</p><ul><li><p>Codex scheduled jobs for the control plane;</p></li><li><p>OpenClaw and Hermes as execution or routing components;</p></li><li><p>Git as the change and evidence backbone;</p></li><li><p>command-line tools for deterministic operations;</p></li><li><p>browser automation for UI-only work;</p></li><li><p>MCP services and connectors;</p></li><li><p>Cloudflare for web deployment and edge signals;</p></li><li><p>PostHog for trusted browser analytics;</p></li><li><p>a commerce-platform CLI for payment truth;</p></li><li><p>email and inbox integrations;</p></li><li><p>web search;</p></li><li><p>local Python and shell helpers;</p></li><li><p>test suites;</p></li><li><p>structured ledgers and proof registries.</p></li></ul><p>The telemetry was dominated by shell execution, browser and JavaScript work, process polling, file patches, planning, and automation management. That mix says more than another count table would: a supposedly simple agent business quickly became an integration problem. The model was rarely the only failure point.</p><h2>What 12.43 billion tokens taught me about cost</h2><p>The 12.43 billion figure needs context. Almost all of the reported input was cached, so the system did not write twelve billion tokens of new material. Persistent sessions repeatedly carried prompts, tool schemas, contracts, repository context, state and conversation history. The total also does not produce a defensible API-cost estimate because models, service tiers, cache behavior and subscription pricing varied.</p><p>What it did show me was context tax.</p><p>As the operating system accumulated:</p><ul><li><p>rules;</p></li><li><p>memories;</p></li><li><p>guardrails;</p></li><li><p>compatibility mirrors;</p></li><li><p>proof packets;</p></li><li><p>exceptions;</p></li><li><p>channel instructions;</p></li><li><p>stale blockers;</p></li></ul><p>every wake became heavier.</p><p>More context did not always increase reliability.</p><p>Sometimes it created contradiction:</p><ul><li><p>one file said continue;</p></li><li><p>another said wait;</p></li><li><p>one metric said traffic problem;</p></li><li><p>another said conversion problem;</p></li><li><p>one runbook required channel volume;</p></li><li><p>the learning system said kill the channel;</p></li><li><p>one prompt said one owner;</p></li><li><p>the scheduler launched six.</p></li></ul><p>The most useful token optimization was reducing organizational ambiguity. I now use the expensive model for judgment, scripts for deterministic validation, CLIs and APIs for clean reads, and the browser when the interface is genuinely the only route. Stable context gets cached; historical detail gets loaded when the current decision needs it. The budget also belongs in the control plane, before an executor wakes up.</p><h2>The uncomfortable economics</h2><p>If I evaluate the experiment as a small business, the return on my time was bad.</p><p>I spent many hours:</p><ul><li><p>inspecting silent failures;</p></li><li><p>repairing browser routes;</p></li><li><p>reconciling stale state;</p></li><li><p>rewriting prompts;</p></li><li><p>separating inputs from outcomes;</p></li><li><p>building strict verifiers;</p></li><li><p>cleaning up multi-agent coordination;</p></li><li><p>reading logs;</p></li><li><p>testing integrations;</p></li><li><p>asking why revenue was still zero.</p></li></ul><p>If I divide the business proceeds by my hours, this was a minimum-wage job at best and probably worse. As a commercial return, it was bad. As an education, it was unusually valuable.</p><p>I now have direct opinions about:</p><ul><li><p>which agent frameworks are useful and which are mostly theater;</p></li><li><p>where browser automation breaks;</p></li><li><p>when persistent memory helps;</p></li><li><p>how schedulers lie;</p></li><li><p>why control and execution must be decoupled;</p></li><li><p>how agents manufacture fake progress;</p></li><li><p>how to design proof contracts;</p></li><li><p>why distribution dominates building;</p></li><li><p>where humans remain essential;</p></li><li><p>how to manage cost;</p></li><li><p>what I would trust in an enterprise environment.</p></li></ul><p>I did not borrow those opinions from a vendor deck. I formed them by operating the system. That matters because enterprises are rarely on the true edge of agent tooling. They move more slowly for good reasons: security, compliance, integration depth, change management, reliability, and cost.</p><p>A personal business gave me a safe environment to try tools earlier, break them against real outcomes and build my own mental model. Revenue was the forcing function that kept the experiment honest. The resulting education feels 1,000 times more valuable to me because I can apply it to much larger systems, budgets and teams. That is subjective, but it is also why I would do the experiment again.</p><h2>Why this was better for me than a $5,000 course</h2><p>People learn differently.</p><p>Some learn best by reading. Some learn by listening to a teacher. Some learn by watching an expert compress ten years into ten hours.</p><p>I learn by building something I care about and then inspecting the gap between what I expected and what happened.</p><p>A course could teach me:</p><ul><li><p>what an agent loop is;</p></li><li><p>what MCP is;</p></li><li><p>how tool use works;</p></li><li><p>how to structure memory;</p></li><li><p>what an evaluator does;</p></li><li><p>how to call a browser;</p></li><li><p>how to orchestrate multiple workers.</p></li></ul><p>The business taught me:</p><ul><li><p>the loop may report success when the task never reached the destination;</p></li><li><p>MCP availability does not mean an integration is reliable;</p></li><li><p>persistent memory can preserve the wrong conclusion;</p></li><li><p>an evaluator that shares the actor&#8217;s incentives will pass weak evidence;</p></li><li><p>a browser click is only the beginning of verification;</p></li><li><p>multi-agent orchestration can create bureaucracy instead of leverage;</p></li><li><p>a perfect product does not create distribution;</p></li><li><p>zero is a decision signal, not an invitation to repeat the same work.</p></li></ul><p>You can understand the first list intellectually. The second list becomes real after you lose an afternoon to it. So my recommendation is less about becoming an entrepreneur and more about putting consequences into the learning environment. You need an external truth that the agent cannot negotiate away.</p><p>It could be:</p><ul><li><p>a paid product;</p></li><li><p>a real customer-support workflow;</p></li><li><p>a service with a response-time promise;</p></li><li><p>a newsletter with a growth target;</p></li><li><p>a data product used by a real team;</p></li><li><p>an open-source tool with actual users.</p></li></ul><p>Revenue is useful because it compresses several truths: somebody found you, understood the offer, trusted it and paid. It is not the only possible forcing function, but it is an honest one.</p><h2>A practical 30-day version</h2><p>You do not need four months or an operating system this large. Here is the smaller experiment I would recommend.</p><h3>Week 1: Choose one narrow, expensive problem</h3><p>Find a problem that:</p><ul><li><p>a specific person already knows they have;</p></li><li><p>occurs often enough to matter;</p></li><li><p>costs time, money, risk, or emotional energy;</p></li><li><p>can be improved with a small digital product or service;</p></li><li><p>has an audience you can actually reach.</p></li></ul><p>Do not begin with &#8220;What can agents build?&#8221; Begin with &#8220;Whose painful problem can I observe directly?&#8221; Talk to people before building. Search for buyer-authored language. Read complaints, questions, workarounds, and purchasing behavior.</p><p>Write one sentence:</p><blockquote><p><em>For this specific person in this specific moment, the product produces this specific result without this specific pain.</em></p></blockquote><p>If the sentence is fuzzy, the agent will automate fuzziness.</p><h3>Week 2: Ship the smallest paid result</h3><p>Build one offer rather than a platform, agent marketplace or general-purpose assistant. Aim for one finished result with:</p><ul><li><p>a clear promise;</p></li><li><p>a price;</p></li><li><p>a delivery mechanism;</p></li><li><p>a simple landing page;</p></li><li><p>one checkout;</p></li><li><p>one proof point;</p></li><li><p>one support route.</p></li></ul><p>Use rented intelligence aggressively.</p><p>Let the agents draft, code, test, package, and deploy. Keep the business logic small enough that you can still inspect it.</p><h3>Week 3: Build the outcome ladder</h3><p>Instrument only the events needed to locate the broken rung:</p><ul><li><p>qualified exposure;</p></li><li><p>CTA exposure;</p></li><li><p>CTA click;</p></li><li><p>checkout start;</p></li><li><p>purchase;</p></li><li><p>refund;</p></li><li><p>direct operating cost.</p></li></ul><p>Separate each level.</p><p>Define the source of truth and maximum acceptable age. Require destination readback for every external mutation. Give every scheduled task a terminal state.</p><h3>Week 4: Automate one closed loop</h3><p>Choose one recurring workflow:</p><ol><li><p>inspect current truth;</p></li><li><p>locate the first broken rung;</p></li><li><p>acquire single-flight ownership;</p></li><li><p>choose one bounded move;</p></li><li><p>execute;</p></li><li><p>verify at the destination;</p></li><li><p>record the result;</p></li><li><p>change one variable after measured zero;</p></li><li><p>schedule the next check.</p></li></ol><p>Do not add a second agent until one agent&#8217;s ownership and evidence are trustworthy. Do not add a second channel until the first channel has a real hypothesis and kill rule. Do not let the agent write &#8220;learning&#8221; unless the evidence earned it.</p><p>Set a monthly budget before starting. A badly scoped recurring loop can consume far more inference than the business can justify.</p><h2>The operating checklist I would use next time</h2><p>After four months, this is the list I would keep next to the control plane:</p><ol><li><p><strong>Treat distribution as part of the product.</strong> If I cannot explain how the right buyer will encounter the offer, I am not finished building.</p></li><li><p><strong>Decompose the revenue goal.</strong> The controller should know whether it is working on qualified demand, conversion or execution reliability, and what minimum action and proof are required for that factor.</p></li><li><p><strong>Define the outcome in a source the actor cannot casually edit.</strong> The seller should not be able to manufacture its own completion evidence.</p></li><li><p><strong>Keep activity, delivery, engagement, commerce and finance separate.</strong> A lower rung can inform the next decision, but it cannot close a higher-rung objective.</p></li><li><p><strong>Separate control from execution.</strong> The control plane chooses and budgets the move. Replaceable workers execute it.</p></li><li><p><strong>Use an independent verifier.</strong> The actor is trying to complete an action; the verifier is trying to reject weak evidence. Those incentives should stay separate.</p></li><li><p><strong>Acquire ownership before doing any work.</strong> Single-flight admission comes before sensors, browser work, repository changes and external writes.</p></li><li><p><strong>Make a denied lease a complete no-op.</strong> Cleanup, packet refreshes and &#8220;helpful&#8221; memory updates can recreate the same race the lease was meant to prevent.</p></li><li><p><strong>Read the destination after every mutation.</strong> I no longer trust the click, toast, API acceptance, local file or build receipt on its own.</p></li><li><p><strong>Give every task a terminal state.</strong> Completed, aborted, blocked with a retry condition or superseded by a named task are all acceptable. Disappearing is not.</p></li><li><p><strong>Scope blockers.</strong> A broken integration should stop that route, with a reason and retry condition. It should not stop the company while other approved routes remain.</p></li><li><p><strong>Let empty sensors fall through.</strong> Nothing in the inbox means move on to the next branch of the plan.</p></li><li><p><strong>Change one commercial variable after measured zero.</strong> I can change the audience, problem, promise, proof, price, CTA, handoff or offer. Repeating the same volume does not count as an experiment.</p></li><li><p><strong>Make learning earn its way into memory.</strong> Verified outcomes, corrections and regression fixes can become policy. A plausible summary cannot.</p></li><li><p><strong>Keep the hot path small and the tools replaceable.</strong> The current decision does not need the company&#8217;s full autobiography. It needs the goal, factor, owner, next move, budget, proof and next check.</p></li></ol><h2>So, was it worth it?</h2><p>If I judge the experiment as a path to efficient profit, the answer is no. If I judge it as a way to learn production AI, I would do it again.</p><p>It was humbling because zero-to-one stayed hard even after building became cheap. It was also liberating. A business operator can now rent intelligence, build a real product, instrument it and put it in front of customers without waiting for a large budget or a full technical team. More people can build, which puts even more weight on the choice of problem, the clarity of the offer and access to the buyer.</p><p>OpenClaw, Hermes and Codex each helped me execute parts of the system. None of them decided which factor in the revenue equation was broken. The business did that. Zero qualified visits meant one thing; visits with no clicks meant another; an action that disappeared after reload meant something else. Decomposing the goal gave the agents work they could own and gave me a way to tell whether the system was actually improving.</p><p>So yes, the title is intentionally provocative. A good course can save time and provide structure. For somebody who learns the way I do, I would rather cap the spend, launch a tiny paid offer and let a real outcome expose the gaps in my understanding.</p><p>After thirty days, you may have very little revenue. But if you have shipped one paid offer, diagnosed one real zero, caught one silent integration failure and changed the correct factor in the system, you will have learned something that is difficult to get from watching another demo.</p><h2>Method and evidence notes</h2><p>I reconstructed this essay from four months of Git history, structured revenue and experiment ledgers, dated incident reviews, reliability assessments, customer-facing proof registries, scheduler records, and Codex JSONL session telemetry.</p><p>The numbers are intentionally bounded:</p><ul><li><p>token totals are cumulative reported counters, not a cost estimate;</p></li><li><p>40 silent exits means unmatched task-start markers, not confirmed commercial failures;</p></li><li><p>the experiment and proof-file counts come from a live generated worktree and structured ledgers;</p></li><li><p>paid revenue proves paid demand, not profit;</p></li><li><p>the business recorded 21 paid purchases overall.</p></li></ul><p><em>The thinking and experiment are mine. This essay was written with help from <a href="https://github.com/parasdoshicom/your-voice">Your Voice</a>.<br><br>&#8212;- <br><br>APPENDIX. Slides and Recording Video from live <a href="https://maven.com/p/5ffff9/build-reliable-ai-systems-lessons-from-a-zero-human-company">maven lightning lesson</a> <br><br>1. slides can be downloaded below: </em></p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Build Reliable Ai Systems Lessons From A Zero Human Company Zero First Final</div><div class="file-embed-details-h2">394KB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://www.insightextractor.com/api/v1/file/1c7ec2dc-0def-487f-ace2-1abd90a69010.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://www.insightextractor.com/api/v1/file/1c7ec2dc-0def-487f-ace2-1abd90a69010.pdf"><span class="file-embed-button-text">Download</span></a></div></div><p><em>2. Video can be viewed here: </em></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;a3a84c01-f68e-403f-8e4c-ec55dfd2808a&quot;,&quot;duration&quot;:null}"></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Operating Model for Trustworthy Analytics AI Agents]]></title><description><![CDATA[A valid SQL query can produce the wrong answer when it starts from the wrong definition or source.]]></description><link>https://www.insightextractor.com/p/the-operating-model-for-trustworthy</link><guid isPermaLink="false">https://www.insightextractor.com/p/the-operating-model-for-trustworthy</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Sat, 15 Aug 2026 01:27:45 GMT</pubDate><content:encoded><![CDATA[<p>A valid SQL query can produce the wrong answer when it starts from the wrong definition or source.</p><p>That sentence is the entire problem with how most teams evaluate analytics agents. They measure whether the output is correct. They skip the harder question: did the agent use the right information to get there?</p><p>I have spent the past year building production analytics systems. One produces a daily executive briefing using five parallel agents. One investigates where customers drop off and produces fix-ready actions with owners and tickets. One brings investigative analytics into Slack using an intent router and tiered query controls.</p><p>Each system taught me something different about where analytical trust breaks. The executive briefing taught me that an answer needs a governed route with evidence, not just a plausible number. The investigation system taught me that every wrong answer has a specific failure class, and treating them all as &#8220;the agent got it wrong&#8221; makes diagnosis impossible. The conversational agent taught me that a confident wrong answer from the wrong table is worse than no answer at all.</p><p>Together they produced an operating model with three layers: when an agent must refuse to answer, how an answer earns and maintains trust, and how to diagnose exactly where things break.</p><p>OpenAI, Anthropic, and Meta have each published how they built internal analytics agents. Their architectures differ. But they keep running into the same operating constraint: a capable model is not enough when definitions, sources, and validation are weak.</p><p>---</p><h3>Part 1: When the agent must stop</h3><p>An analytics agent needs hard rules for when it must not answer. Without them, fluency fills the gap. The agent produces something that sounds right, and sounding right is dangerous when the number gets forwarded to an executive.</p><p>Every response should resolve to one of four states before the agent writes anything:</p><p>**Answer** when the route and validation checks pass. **Clarify** when the question lacks a period, segment, grain, or metric definition. **Review** when the route is plausible but the owner, benchmark, or validation remains unresolved. **Refuse** when the source is unsafe, stale, contradictory, or outside scope.</p><p>The refuse state needs hard gates. Here are the ones I use:</p><p>1. The requested source does not match the approved source for the metric</p><p>2. Freshness falls below the metric&#8217;s minimum requirement</p><p>3. Required filters or exclusions cannot be applied</p><p>4. Two approved artifacts conflict and no precedence rule exists</p><p>5. Arithmetic, reconciliation, or known-range checks fail</p><p>6. The request asks for action under unresolved high-impact ambiguity</p><p>7. Credentials, personal data, or restricted fields appear in the output path</p><p>8. The system has a plan but no evidence that the source actually ran</p><p>That last one catches a subtle failure I have seen repeatedly: the agent writes a query, describes what it would return, and presents the description as a result. A plan is not an execution.</p><p>When the agent refuses, it returns a structured record: which gate failed, what it observed, why answering would be unsafe, and the specific next step to resolve it. No hedged answer. No &#8220;here is a number but I am not sure.&#8221; The refusal is the output.</p><p>OpenAI addresses this through institutional knowledge layers that encode which tables are canonical across more than 3,500 internal users and 70,000 datasets. Anthropic builds procedural skills with explicit stopping conditions and reports that skills drove accuracy from roughly 21% to approximately 95%. Different solutions to the same problem: the agent needs something outside itself that tells it where to look and when to stop.</p><p>---</p><h3>Part 2: How an answer earns trust</h3><p>Refusal gates handle cases where the agent should not answer at all. The lifecycle handles everything else.</p><p>My executive briefing runs every morning. Five parallel agents each analyze a different dimension: core metrics and decomposition, daily trajectories and leading indicators, market context, internal communications for operational signals, and data freshness with prior briefings for continuity. A synthesis agent assembles their outputs into one executive narrative.</p><p>This system had to be right every day. That constraint produced a nine-stage lifecycle:</p><p>**Scope.** Define the metric, period, segment, and decision context. If something material is ambiguous, move to Clarify.</p><p>**Retrieve.** Pull the smallest set of approved context: definitions, source guidance, freshness rules. Precision matters more than volume.</p><p>**Bind source.** Commit to a named definition and approved table before seeing the result. This prevents the agent from shopping for the most convenient number after the fact.</p><p>**Execute.** Run the approved query. Record metadata. Distinguish between a proposed query and an executed one.</p><p>**Validate.** Check definition alignment, freshness, arithmetic, grain, filters, reconciliation against known ranges.</p><p>**Record evidence.** Save a compact record: the question, source, context used, checks performed, remaining uncertainty. A number without an audit trail is a guess with formatting.</p><p>**Review.** A named owner approves or corrects the answer and the proposed reusable route.</p><p>**Reuse.** Save the reviewed path (the method, not the number). On the next run, skip discovery but still validate freshness and record new evidence.</p><p>**Measure.** Track retrieval accuracy, application correctness, and answer state accuracy separately. A single accuracy number hides which stage broke.</p><p>Two clocks run on every saved path. A **freshness clock** tracks whether the underlying data is current enough. An **expiry clock** tracks whether the saved method, definition, and owner approval are still valid. A path can have fresh data and still be expired. The table loaded this morning, but the reusable route required quarterly owner review, and that approval lapsed. The agent routes back to Review.</p><p>OpenAI built cross-session memory that captures corrections at the institutional level. Anthropic grounds definitions in a semantic layer with explicit source-of-truth contracts. Both are solving pieces of the same two-clock problem: keeping the data current and keeping the method current.</p><p>---</p><h3>Part 3: Why it broke</h3><p>Standard evaluations ask: did the agent get the right answer? Context-path testing asks: did the agent use the right information to get there?</p><p>An agent can arrive at a correct number through the wrong path. That path will produce a wrong number when conditions change.</p><p>My investigation system caught this repeatedly. It would surface a pipeline silently failing, a conversion decline persisting across multiple cohorts, and a denominator bug distorting a metric leadership watched weekly. Each failure had a different root cause. The pipeline issue was a data freshness problem. The conversion decline was a real business change. The denominator bug was a definition error baked into the source.</p><p>To diagnose failures precisely, I track four context sets for every question:</p><p>**Required context:** the artifacts needed for a defensible answer, defined before the run.</p><p>**Eligible context:** the relevant artifacts available to the agent.</p><p>**Retrieved context:** what the agent actually pulled.</p><p>**Applied context:** what actually changed the answer.</p><p>Retrieved but ignored is a different failure from never retrieved. That distinction is the entire diagnostic value.</p><p>From there, every failure falls into one of six classes:</p><p>**Missing asset.** The required definition does not exist yet. No prompt engineering fixes this.</p><p>**Retrieval miss.** The artifact exists but the agent did not find it. An indexing or embedding problem.</p><p>**Context conflict.** Multiple sources disagree and the agent picked one without flagging it. Needs a precedence rule.</p><p>**Application error.** Right context retrieved, then ignored. A prompt structure problem.</p><p>**Query error.** Context was correct, the generated SQL was not.</p><p>**Source data error.** The underlying data did not load or returned corrupt results.</p><p>Adding more documents to context fixes none of these uniformly. It might help retrieval misses marginally while making retrieval precision worse, which creates new application errors.</p><p>I keep four metrics separate: retrieval recall (did the agent find required context), context precision (how much noise came with it), application rate (did retrieved context actually shape the answer), and conditional correctness (given good retrieval, was the answer right). Merging them into one accuracy score hides which stage broke.</p><p>Anthropic validates this approach through ablation testing: systematically removing context layers to identify which one caused the failure. Meta found that 88% of data-scientist queries rely only on tables the user queried within the preceding 90 days, which suggests that context-path reuse is the natural pattern when the right tables are already known. Both observations point to the same conclusion: &#8220;wrong answer&#8221; is not a diagnosis. Each failure class has a different fix.</p><p>---</p><h3>How these connect</h3><p>The refusal gates are the safety layer. They prevent the agent from delivering answers it should not have attempted.</p><p>The lifecycle is the quality layer. It defines how an answer earns trust and how that trust degrades gracefully.</p><p>Context-path testing is the diagnostic layer. It tells you exactly where things broke and what kind of fix each failure needs.</p><p>OpenAI built multi-layered context and institutional memory across 70,000 datasets and more than 600 petabytes of data. Anthropic built a semantic layer with procedural skills that drove self-service analytics accuracy from roughly 21% to approximately 95%. Meta built an analytics agent adopted weekly by 77% of their data scientists and data engineers. Their architectures differ. The shared constraint is the same: a fluent model cannot substitute for governed definitions, validated routes, and honest failure handling.</p><p>The playbooks are open on GitHub: </p><p><a href="https://github.com/parasdoshicom/ai-plus-data/blob/main/playbooks/when-an-analytics-agent-should-not-answer.md">when-an-analytics-agent-should-not-answer</a></p><p><a href="https://github.com/parasdoshicom/ai-plus-data/blob/main/playbooks/trusted-answer-lifecycle.md">trusted-answer-lifecycle</a> </p>]]></content:encoded></item><item><title><![CDATA[What data science professionals need to do now to stay relevant]]></title><description><![CDATA[Prompting is becoming table stakes. The durable opportunity is building analytics systems that know what the data means, what they can do, and when to stop.]]></description><link>https://www.insightextractor.com/p/what-data-science-professionals-need</link><guid isPermaLink="false">https://www.insightextractor.com/p/what-data-science-professionals-need</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Mon, 03 Aug 2026 19:00:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y-jA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The data science role as most people learned it is being compressed, and the replacement is not what most career advice suggests.</p><p>The standard advice right now is to &#8220;learn AI tools&#8221; or &#8220;get good at prompting.&#8221; I understand why people say this. It is easy to act on, it feels productive, and there are a hundred courses that will happily take your money to teach it.</p><p>But prompting is becoming a feature inside every product. It is table stakes, much like SQL became table stakes. SQL never stopped mattering. It simply stopped differentiating you on its own once everyone was expected to know it. The same compression is happening with prompting, only faster.</p><p>So what actually matters?</p><p>I will answer that through one concrete example, because the abstraction is where most of this advice goes wrong.</p><h2>One agent, end to end</h2><p>Say you are a data scientist at a company with a few hundred dashboards. Leadership asks, &#8220;Why did conversion drop in the Southeast last week?&#8221; Today, someone opens three dashboards, pulls data into a notebook, cross-references it with a marketing calendar, and writes a summary. That takes a few hours if you know where everything is, longer if you do not.</p><p>Now imagine building an agent that can investigate that question. I do not mean a chatbot that generates SQL. I mean an agent that knows which tables contain conversion data, understands that &#8220;Southeast&#8221; maps to a specific set of state codes in your schema, checks whether a marketing campaign was running in that region, and assembles a coherent answer with the right caveats. It should show its evidence, distinguish likely drivers from proven causes, and say when the available data cannot support a reliable answer.</p><p>Building that agent teaches you things that prompting never will.</p><p>The first thing you discover is that the agent fails immediately if your semantic layer is messy. If &#8220;conversion&#8221; means three different things in three different tables, the agent may pick one and confidently give you the wrong answer. So you have to define your metrics cleanly, not for a dashboard, but for a system that reasons over them. That is a different standard of clarity. A human analyst can resolve some ambiguity from experience. An agent needs the ambiguity removed or an explicit rule for handling it.</p><p>Then there is the question of constraints. A naive agent will attempt arbitrary joins, invent filters that seem plausible, and present the result with perfect confidence. The fix is not to &#8220;add guardrails&#8221; in the abstract. You have to decide which joins are valid for a given metric, which filters the agent may apply, and which combinations it should reject rather than attempt. You are encoding business logic into the system&#8217;s boundaries instead of hoping the model figures it out.</p><p>Metric selection works the same way. The agent should not choose among three definitions of conversion. That choice should already be made in the semantic layer, and the agent should operate within it.</p><p>The system also has to respect the same data permissions as the person asking the question, check whether its sources are fresh, expose the query and evidence behind its answer, and route high-risk or ambiguous results to a human. Those are not compliance details to bolt on later. They determine whether anyone can safely use the system.</p><p>This is system design work. It is closer to building a product than writing a prompt.</p><p>Then there is evaluation, which is still the least discussed part of this work. Before you ship an agent that answers business questions, you need to know when it is wrong.</p><p>That means building a set of test questions where you know the metric definition, valid sources, expected joins and filters, numerical result, and evidence the answer should cite. Not every analytical question has one fixed expected response, so test the parts separately. Did it choose the right metric? Did it preserve the filter? Did it use a valid join? Did it cite enough evidence? Did it separate observation from causation?</p><p>Some test cases should be questions the agent cannot answer with the data it can access. Knowing when to say &#8220;I do not have enough information to answer this reliably&#8221; matters as much as generating a correct response.</p><p>You also need explicit failure conditions. What does a wrong join look like in the output? What does a silently dropped filter look like? What does a hallucinated metric look like? If you cannot detect these failures in testing, you will not detect them when a stakeholder is making a decision based on the answer.</p><p>The hardest part is not the model call. It is everything around it: the data catalog, permissions, context management, orchestration, source freshness, and error handling when a query returns nothing. The model matters, but much of the work moves into data engineering, analytics engineering, product design, and operating discipline that many data science roles did not previously require.</p><p>This is what I mean by becoming a builder of agentic analytics systems. Not a theoretical understanding. The actual experience of making one work, watching it break, and figuring out why.</p><h2>Where the durable value is shifting</h2><p>Routine analysis, the kind where someone </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y-jA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y-jA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg 424w, https://substackcdn.com/image/fetch/$s_!y-jA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg 848w, https://substackcdn.com/image/fetch/$s_!y-jA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!y-jA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y-jA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:242114,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.insightextractor.com/i/209426687?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!y-jA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg 424w, https://substackcdn.com/image/fetch/$s_!y-jA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg 848w, https://substackcdn.com/image/fetch/$s_!y-jA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!y-jA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde460cb2-f75a-49a3-8f3d-b0048cf2fc8a_1672x941.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>pulls numbers, makes a chart, and summarizes what happened, is getting easier to automate. It is not fully automated today, and it may not be for a while. But the direction is clear enough that building a career on that work alone feels like a narrowing bet.</p><p>The work that remains difficult is the layer underneath: defining what metrics mean in a specific business context, encoding the domain knowledge that tells you which data to trust, designing workflows that can run without a human reviewing every output, and evaluating whether the output deserves to be trusted at all.</p><p>I have seen this firsthand. At Opendoor, I led a program that retired more than 1,400 dashboards as we consolidated metric definitions into a semantic layer and built custom AI-assisted workflows. It was not a one-for-one replacement exercise. The dashboards were not the hard part. The hard part was making sure &#8220;conversion,&#8221; &#8220;active user,&#8221; and &#8220;revenue&#8221; meant one thing, precisely defined, across every surface that consumed them.</p><p>That work required people who understood the business deeply enough to make those calls. No model was going to do that for us.</p><p>Data professionals who can define the metrics, encode the context, design the system, and evaluate its outputs are operating at an intersection that still has relatively few practitioners. Not because the work is impossibly hard, but because most people have not built one of these systems yet.</p><h2>What to actually do this month</h2><p>Pick one recurring question your team gets asked. Not the most complex one. Something like, &#8220;What happened with [metric] last [time period]?&#8221; Build an agent that can investigate it.</p><p>Use whatever harness you want: Claude Code, Codex, etc. The harness matters less than the exercise. What matters is going through the full loop: define the question, connect to approved or sanitized data, handle the failure modes, build a small evaluation set, and get the system to a point where you would trust the answer enough to send it to a stakeholder.</p><p>You will get stuck. The agent will do something confidently wrong, and you will spend an hour figuring out why. That hour is the most valuable part. That is where you learn what production agentic systems require.</p><p>Then write about it publicly, on LinkedIn or a blog. Do not write a polished tutorial. Write about what broke and what surprised you. Write about the gap between what you expected and what happened.</p><p>That kind of writing forces you to understand what you built. It also signals to the market that you build, rather than waiting to be told what to learn next.</p><h2>The semantic layer piece</h2><p>If you do not understand semantic layers yet, start there.</p><p>A semantic layer sits between raw data and the agent&#8217;s reasoning. It defines metrics, relationships, valid filters, and access rules in a machine-readable form. Without that layer, an agent has to reconstruct business logic every time it answers a question.</p><p>The dbt semantic layer or snowflake cortext are different ways to formalize parts of this. The specific tool matters less than the concept: your data needs a machine-readable description of what it means and you can learn more on OSI home page <a href="https://open-semantic-interchange.org/">here</a>.</p><p>That was the lesson from the Opendoor work. Once the definitions and permissions were reliable and reusable, each new interface became easier to build. Without that foundation, we would have created a faster way to produce wrong answers.</p><p>If you can define a clean semantic layer and build agents that reason over it, you are working on the part of analytics that matters most right now. A real project will teach you more, and differentiate you more, than another prompting certificate.</p><h2>Where to go deeper</h2><p>I teach a live Maven workshop called <a href="https://maven.com/paras-doshi/agentic-analytics-in-production">World-Class Agentic Analytics in Production</a>. Bring one real analytics use case from your company. During the workshop, we will define the agent&#8217;s job, map the context it needs, design its proof and evaluation system, and set the line where a human must step in.</p><p>You will leave with a written 30-day production plan and get a private 60-minute follow-up session with me to review it. The full syllabus and next cohort schedule are on the course page.</p><p>P.S. If you are navigating a job search, I also offer <a href="https://topmate.io/parasdoshi">1:1 mock interview coaching for data roles</a>. All proceeds from my interview help are donated.</p>]]></content:encoded></item><item><title><![CDATA[3 things data professionals shouldn't outsource to AI]]></title><description><![CDATA[A lot of AI career advice ends with two words: judgment and taste.]]></description><link>https://www.insightextractor.com/p/3-things-data-professionals-shouldnt</link><guid isPermaLink="false">https://www.insightextractor.com/p/3-things-data-professionals-shouldnt</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Wed, 22 Jul 2026 20:00:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!J9dD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.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_!J9dD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J9dD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!J9dD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!J9dD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!J9dD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J9dD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1992421,&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://www.insightextractor.com/i/208110578?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.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_!J9dD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!J9dD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!J9dD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!J9dD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a9e027d-a02e-4601-82b1-0064fbec39cd_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A lot of AI career advice ends with two words: judgment and taste.</p><p>Most advice stops there, leaving data professionals with nothing concrete to change.</p><p>Assume you know your domain and can do strong analytical work. The practical version comes down to three things: (a) choose work tied to a real decision (b) turn useful work into something others can reuse and (c) build trust with the people who act on your recommendations.</p><h3><strong>1. Choose work that changes a decision</strong></h3><p>AI makes it cheap to answer more questions, which can fill your backlog with interesting requests that nobody will act on.</p><p>My bet is that half of your analysis requests disappear if you force each one to name two things:</p><p>Decision: the choice someone needs to make.</p><p>Action: what that person may do after seeing the answer.</p><p>If you cannot fill in both lines, put the request on hold until someone can explain why it matters.</p><p>Use your knowledge of the business to identify who will make the call and what is at stake. Run the analysis only when the answer could change a decision.</p><p>Once the problem deserves attention, let AI help with execution and stay responsible for what happens next.</p><h3><strong>2. Turn useful work into something others can reuse</strong></h3><p>Save useful analysis as something your teammates can run without you.</p><p>Keep the definition and logic, then package them in a dashboard, workflow, or AI agent. AI can use that context to answer the next version of the same question without forcing someone to wait for you or rebuild the analysis.</p><p>Your teammates can build on your work while you spend time on a new decision.</p><h3><strong>3. Build trust with decision makers</strong></h3><p>Trust is the primary currency of a data team.</p><p>Decision makers act on your recommendations when they trust your judgment and know you understand their business.</p><p>Use one-on-ones and staff meetings to learn what they need to accomplish. Explain your reasoning in plain language. Be honest about what you do not know. After a decision, ask what happened.</p><p>Spend some of the time AI saves on these relationships. Decision makers who trust you involve you before a request reaches the backlog. You can shape the question with context that never makes it into the ticket.</p><p>Open your current backlog and add a decision and action to each request. Put work with no business consequence on hold. Turn one repeated analysis into a self-service workflow, then spend the saved time learning what a decision maker needs to accomplish this quarter.</p>]]></content:encoded></item><item><title><![CDATA[[Session slide & recording] 3 Things Data Professionals Should Never Outsource to AI]]></title><description><![CDATA[Slides are below:]]></description><link>https://www.insightextractor.com/p/session-slide-and-recording-3-things</link><guid isPermaLink="false">https://www.insightextractor.com/p/session-slide-and-recording-3-things</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Wed, 22 Jul 2026 15:57:46 GMT</pubDate><content:encoded><![CDATA[<p>Slides are below: </p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">3 Things Data Professionals Should Never Outsource To Ai</div><div class="file-embed-details-h2">2.68MB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://www.insightextractor.com/api/v1/file/fce9cdbe-ee4c-4d99-b421-9d545d70b023.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://www.insightextractor.com/api/v1/file/fce9cdbe-ee4c-4d99-b421-9d545d70b023.pdf"><span class="file-embed-button-text">Download</span></a></div></div><p><br>Recording of the <a href="https://maven.com/p/bcd3c8/3-things-data-professionals-should-never-outsource-to-ai">session</a> below: </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;7ba29e73-3685-4292-a37b-bcf673e83448&quot;,&quot;duration&quot;:null}"></div><p><br><br></p>]]></content:encoded></item><item><title><![CDATA[[Session slide & recording] Build 3 AI Harnesses for Trustworthy Analytics]]></title><description><![CDATA[Slides can be downloaded here:]]></description><link>https://www.insightextractor.com/p/session-slide-and-recording-build</link><guid isPermaLink="false">https://www.insightextractor.com/p/session-slide-and-recording-build</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Thu, 16 Jul 2026 00:50:38 GMT</pubDate><content:encoded><![CDATA[<p>Slides can be downloaded here: </p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Build 3 Ai Harnesses For Trustworthy Analytics</div><div class="file-embed-details-h2">925KB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://www.insightextractor.com/api/v1/file/c04ec353-b782-4432-b631-1a0d42353cbb.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://www.insightextractor.com/api/v1/file/c04ec353-b782-4432-b631-1a0d42353cbb.pdf"><span class="file-embed-button-text">Download</span></a></div></div><p>Recording for the <a href="https://maven.com/p/6d43d4/build-3-ai-harnesses-for-trustworthy-analytics">session</a> is below: </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;ade38f1b-396c-450b-bfd9-b4758c3d77c6&quot;,&quot;duration&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[What OpenAI, Anthropic, and Meta learned after putting data agents to work]]></title><description><![CDATA[A valid query can still produce the wrong business answer. Each company built a different context system to reduce that risk.]]></description><link>https://www.insightextractor.com/p/what-openai-anthropic-and-meta-learned</link><guid isPermaLink="false">https://www.insightextractor.com/p/what-openai-anthropic-and-meta-learned</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Mon, 13 Jul 2026 23:12:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VTVo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I read the internal data-agent write-ups from <a href="https://openai.com/index/inside-our-in-house-data-agent/">OpenAI</a>, <a href="https://claude.com/blog/how-anthropic-enables-self-service-data-analytics-with-claude">Anthropic</a>, and <a href="https://medium.com/@AnalyticsAtMeta/inside-metas-home-grown-ai-analytics-agent-4ea6779acfb3">Meta&#8217;s analytics team</a> side by side.</p><p>One problem runs through all three: the agent has to know which table matters, what the metric means, whether the result makes sense, and what evidence a human needs before acting.</p><p><em>Note: Every figure below is a self-reported internal result. The companies used different users, questions, and evaluation methods. Treat the figures as clues, not a leaderboard. Each system combines several kinds of context. The labels above show the clearest difference in emphasis.</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_!VTVo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VTVo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!VTVo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!VTVo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!VTVo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VTVo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:133639,&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://www.insightextractor.com/i/206930948?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VTVo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!VTVo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!VTVo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!VTVo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc63ec7-5afc-4d2b-b759-a2c86183cc80_1600x900.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Same problem, different starting point</h2><h3>OpenAI reads the code</h3><p>OpenAI&#8217;s data platform serves more than 3,500 internal users and spans more than 600 petabytes across 70,000 datasets. Its data agent combines six context layers: table usage, human annotations, code enrichment, institutional knowledge, memory, and live warehouse inspection. <a href="https://openai.com/index/inside-our-in-house-data-agent/">OpenAI&#8217;s write-up</a> explains each one.</p><p>Code enrichment is the interesting part. Codex reads the code that produces a table and recovers assumptions, freshness logic, and business intent that may never appear in the schema.</p><p>The goal is to answer two very analyst questions: &#8220;what&#8217;s in here&#8221; and &#8220;when can I use it?&#8221;</p><h3>Anthropic governs the meaning</h3><p>Anthropic starts with a semantic layer owned by humans, then uses skills to steer Claude toward the right source and analysis process.</p><p>In <a href="https://claude.com/blog/how-anthropic-enables-self-service-data-analytics-with-claude">Anthropic&#8217;s internal evaluations</a>, accuracy did not exceed 21% without skills. With skills, aggregate accuracy stayed above 95%.</p><p>Then the documents went stale.</p><p>Offline accuracy fell from roughly 95% to roughly 65% over a month. Anthropic now updates the skill document in the same pull request that changes the data model.</p><p>The definitions have to ship with the data.</p><h3>Meta starts with the analyst</h3><p>Meta&#8217;s warehouse has millions of tables, but an individual analyst usually works within a few dozen.</p><p>Its agent uses personal query history and offline summaries to bound the working domain. Shared knowledge comes through <a href="https://medium.com/@AnalyticsAtMeta/inside-metas-home-grown-ai-analytics-agent-4ea6779acfb3">Cookbooks, Recipes, and Ingredients</a>, including semantic models, documentation, snippets, and memories.</p><p>Meta&#8217;s starting question is personal: what does this analyst already work on?</p><h2>Old SQL can point. It cannot decide.</h2><p><a href="https://medium.com/@AnalyticsAtMeta/inside-metas-home-grown-ai-analytics-agent-4ea6779acfb3">Meta found</a> that 88% of data-scientist queries used only tables that person had queried in the preceding 90 days.</p><p>Recent history can narrow the search space.</p><p>Anthropic tested something else. It gave Claude raw access to thousands of old dashboard, transformation, and notebook queries. <a href="https://claude.com/blog/how-anthropic-enables-self-service-data-analytics-with-claude">Accuracy moved by less than one percentage point</a>. For about 80% of the missed questions, the answer was somewhere in that corpus.</p><p>The findings answer different questions.</p><p>Meta measured how well recent table use describes an analyst&#8217;s working set. Anthropic measured whether a large raw query archive improved answer accuracy.</p><p>OpenAI uses query history as one of six context layers, then combines it with code and human annotations.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rt64!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rt64!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!rt64!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!rt64!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!rt64!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rt64!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132927,&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://www.insightextractor.com/i/206930948?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rt64!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!rt64!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!rt64!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!rt64!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbd391e0-b31f-4ce3-9094-89b0ec2617e2_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>These are separate internal findings, not a benchmark comparison.</em></p><p>Old SQL can show the neighborhood. It cannot choose the official metric. Someone still has to turn repeated patterns into approved definitions and trusted sources.</p><h2>The shared loop</h2><p>My synthesis of the three systems is simple:</p><p><code>QUESTION &#8594; CONTEXT &#8594; QUERY &#8594; EVIDENCE &#8594; CORRECTION</code></p><p>OpenAI and Meta describe agents that run SQL, inspect the result, and adjust. Anthropic puts more weight on governed sources and verification before the answer reaches a user.</p><p>All three keep the evidence close:</p><ul><li><p>Meta places SQL front and center with each data point.</p></li><li><p>OpenAI summarizes assumptions and execution steps, then links the underlying results.</p></li><li><p>Anthropic shows the source tier, freshness, and owner in a provenance footer.</p></li></ul><p>They also preserve corrections.</p><p>OpenAI saves memories. Meta adds reusable team knowledge through Cookbooks. Anthropic turns stakeholder corrections into documentation changes and evaluation cases.</p><p>A correction should change the next run.</p><h2>A useful place to start</h2><p>Pick one question that returns every week: &#8220;Why did conversion drop?&#8221;</p><p>Give the agent four things:</p><ul><li><p>an approved metric definition</p></li><li><p>a trusted source and query path</p></li><li><p>the evidence required beside the answer</p></li><li><p>a place to save the correction</p></li></ul><p>Run it again next week. If someone repeats the same filter, caveat, or source choice, the system did not learn.</p><p>This is the design I am building into <a href="https://getchatdata.com">ChatData</a>: approved metric context, proof receipts, review state, and reusable answer paths.</p><p>A trusted answer should make the next answer faster to produce and easier to defend.</p><p><strong>AI can do the analysis. You own the answer.</strong></p>]]></content:encoded></item><item><title><![CDATA[[Session slide & recording] Assess Your AI Data and Analytics Capabilities ]]></title><description><![CDATA[Recording from the session below:]]></description><link>https://www.insightextractor.com/p/session-slide-and-recording-assess</link><guid isPermaLink="false">https://www.insightextractor.com/p/session-slide-and-recording-assess</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Mon, 13 Jul 2026 22:42:09 GMT</pubDate><content:encoded><![CDATA[<p><strong>Recording</strong> from the <a href="https://maven.com/p/157b01/assess-your-ai-data-and-analytics-capabilities-in-30-minutes">session</a> below: </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;400f32aa-f194-4036-8f7e-3deff36853a7&quot;,&quot;duration&quot;:null}"></div><p><strong>Slides can be downloaded below: </strong></p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Assess Your Ai, Data &amp; Analytics Capabilities In 30 Minutes (1)</div><div class="file-embed-details-h2">2.11MB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://www.insightextractor.com/api/v1/file/1f517506-6f0a-466c-ae0e-9a4a99f9656e.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://www.insightextractor.com/api/v1/file/1f517506-6f0a-466c-ae0e-9a4a99f9656e.pdf"><span class="file-embed-button-text">Download</span></a></div></div><p><br>Sign up for the next lighning session here: <br><a href="https://maven.com/p/6d43d4/build-3-ai-harnesses-for-trustworthy-analytics">Build 3 AI harnesses for Trustworthy analytics. </a></p><p></p>]]></content:encoded></item><item><title><![CDATA[[Session slide & recording] Catch 7 AI Analysis Mistakes Before They Drive Decisions ]]></title><description><![CDATA[Please see the Recording below:]]></description><link>https://www.insightextractor.com/p/maven-session-slide-deck-download</link><guid isPermaLink="false">https://www.insightextractor.com/p/maven-session-slide-deck-download</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Fri, 10 Jul 2026 18:18:53 GMT</pubDate><content:encoded><![CDATA[<p><strong>Please see the Recording below:</strong></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;98e3cd22-32a4-464d-b0b2-1a3fb1307ee5&quot;,&quot;duration&quot;:null}"></div><p><strong>Please download the deck from the link below:</strong> </p><div class="file-embed-wrapper" data-component-name="FileToDOM"><div class="file-embed-container-reader"><div class="file-embed-container-top"><image class="file-embed-thumbnail-default" src="https://substackcdn.com/image/fetch/$s_!0Cy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Fattachment_icon.svg"></image><div class="file-embed-details"><div class="file-embed-details-h1">Catch 7 Ai Analysis Mistakes Vf</div><div class="file-embed-details-h2">629KB &#8729; PDF file</div></div><a class="file-embed-button wide" href="https://www.insightextractor.com/api/v1/file/162a46cb-90f0-42da-9c25-6bde530522be.pdf"><span class="file-embed-button-text">Download</span></a></div><a class="file-embed-button narrow" href="https://www.insightextractor.com/api/v1/file/162a46cb-90f0-42da-9c25-6bde530522be.pdf"><span class="file-embed-button-text">Download</span></a></div></div><p>The checks we covered are practical, but implementing them takes work. You can build the metric contracts, validation rules, proof receipts, and approved rerun paths yourself. Or you can use ChatData to give Claude Code, Cursor, and Codex that infrastructure out of the box: <a href="https://getchatdata.com">https://getchatdata.com</a><strong><br><br>Upcoming (free) lighning sessions:</strong> <br>1. <a href="https://maven.com/p/157b01/assess-your-ai-data-and-analytics-capabilities-in-30-minutes">Assess Your AI Data and Analytics Capabilities in 30 Minutes</a><br>2. <a href="https://maven.com/p/6d43d4/build-3-ai-harnesses-for-trustworthy-analytics">Build 3 AI Harnesses for Trustworthy Analytics</a><br></p><p> </p>]]></content:encoded></item><item><title><![CDATA[The 4 levels of an AI-native data team]]></title><description><![CDATA[Most companies are not behind because they lack artificial intelligence tools. They are behind because their learning does not compound.]]></description><link>https://www.insightextractor.com/p/the-4-levels-of-an-ai-native-data</link><guid isPermaLink="false">https://www.insightextractor.com/p/the-4-levels-of-an-ai-native-data</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Fri, 03 Jul 2026 18:53:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ex8Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.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_!Ex8Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ex8Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Ex8Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Ex8Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Ex8Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ex8Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1130125,&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://www.insightextractor.com/i/204960326?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.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_!Ex8Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Ex8Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Ex8Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Ex8Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010327f2-5e54-406f-8214-b03a9bb338bc_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most companies are not behind because they lack artificial intelligence tools.</p><p>They are behind because their learning does not compound.</p><p>A data analyst asks ChatGPT for help writing a database query.<br>A product manager asks Claude to summarize a dashboard.<br>A data lead uses artificial intelligence to clean up metric docs.</p><p>Useful.</p><p>But the company still starts over every time someone asks:</p><p>&#8220;Why did this number change?&#8221;</p><p>That is the gap.</p><p>An AI-native data team is not a team where everyone uses chatbots.</p><p>It is a team where every trusted answer makes the next answer faster, safer, and easier to reuse.</p><p>There are four levels.</p><h2>Level 1: one person gets faster</h2><p>This is where most teams start.</p><p>People use artificial intelligence for:</p><p>writing database queries<br>summarizing dashboards<br>cleaning up metric definitions<br>drafting analysis<br>checking logic before a meeting</p><p>This is worth doing.</p><p>But the knowledge is private.</p><p>It lives in one chat, one notebook, one analyst&#8217;s head, or one meeting thread that disappears after the decision.</p><p>The test is simple:</p><p>Can someone else run the same task next week and get the same standard of answer?</p><p>If not, the team is still at level 1.</p><h2>Level 2: repeated work becomes an agent</h2><p>At level 2, the team stops treating artificial intelligence like a helper for random tasks.</p><p>It gives agents repeatable jobs.</p><p>A query review agent checks whether the logic makes sense.<br>A metric definition agent checks the owner, grain, filters, and caveats.<br>A dashboard quality agent checks whether the chart matches the trusted source.<br>An experiment readout agent checks whether the conclusion follows from the setup and the data.</p><p>This is the move from prompt to workflow.</p><p>The agent has a job.<br>It has inputs.<br>It has tools.<br>It has a review standard.</p><p>This is where teams start to feel fast.</p><p>It is also where they start to create new problems.</p><p>Because a fast agent with weak context can produce confident answers that disagree with each other.</p><p>One agent uses the product team&#8217;s definition of activation.<br>Another uses the sales team&#8217;s definition.<br>One checks the dashboard.<br>Another checks the raw database table.<br>One remembers the caveat.<br>Another misses it.</p><p>Now you have more output, but less trust.</p><p>That is not leverage.</p><p>That is cleanup work with better branding.</p><h2>Level 3: the company stops re-teaching the same facts</h2><p>At level 3, agents stop working from isolated prompts.</p><p>They pull from shared company context:</p><p>approved metric definitions<br>trusted data sources<br>dashboard lineage<br>business rules<br>known caveats<br>owner notes<br>prior accepted answers</p><p>This is where artificial intelligence analytics starts to compound.</p><p>An analyst clarifies a metric once. Future agents can reuse it.</p><p>A data owner approves a caveat once. It stops getting lost in chat.</p><p>A recurring business question gets answered with proof once. The next answer starts from that approved path instead of rediscovering the logic.</p><p>This layer is not glamorous.</p><p>It is also the difference between &#8220;AI helped me&#8221; and &#8220;the company learned.&#8221;</p><p>Without it, you do not have an AI-native data team.</p><p>You have faster guessing.</p><h2>Level 4: answers improve the system</h2><p>Level 4 is the real shift.</p><p>The answer is no longer the finish line.</p><p>A business question creates an answer.<br>The answer includes evidence.<br>A human reviews or corrects it.<br>The correction updates the definition, dashboard, checklist, or owner note.<br>The next agent starts from the improved version.</p><p>That is a closed loop.</p><p>The data team stops acting like a request queue.</p><p>It becomes decision infrastructure.</p><p>Not because it has more dashboards.</p><p>Because the company gets better at asking and answering the same important questions.</p><p>The mature system tracks things like:</p><p>Was the right definition used?<br>Was the right source checked?<br>Was the evidence strong enough?<br>Was the answer accepted, corrected, saved, or reused?<br>Did the correction improve the next answer?<br>Did the system ask for clarification instead of guessing?</p><p>That is the new scoreboard.</p><p>Not how many charts were viewed.</p><p>How many trusted answers were created.<br>How many were corrected before they caused damage.<br>How many became reusable.<br>How many repeated questions stopped interrupting the data team.</p><h2>The hidden failure</h2><p>Many companies will think they are at level 3 because they have a metric catalog, a semantic layer, or a folder full of documentation.</p><p>That is not enough.</p><p>A definition sitting in a doc is not company memory.</p><p>A dashboard nobody trusts is not a source of truth.</p><p>A chat answer that solved the problem once but never became reusable is not leverage.</p><p>It is residue.</p><p>The compounding asset is the reviewed answer path.</p><p>For every recurring question, the system should know:</p><p>what the metric means<br>which source to trust<br>which filters matter<br>which caveats change the answer<br>who owns the definition<br>what evidence makes the answer reusable<br>when the agent should ask a clarifying question<br>when the agent should send the answer to a human for review<br>when the agent should refuse to answer</p><p>That is how a data team scales without turning every AI answer into another review burden.</p><h2>The 30-day move</h2><p>Do not start with the whole data warehouse.</p><p>Start with one recurring question.</p><p>Something like:</p><p>&#8220;Why did self-serve conversion drop last week?&#8221;</p><p>Then build the loop around it.</p><p>Week 1: write the exact question, the metric, the decision it supports, and what would make the answer wrong.</p><p>Week 2: build one narrow agent with a clear job and review standard.</p><p>Week 3: create the context packet: definition, grain, source, owner, caveats, and examples of accepted answers.</p><p>Week 4: close the loop. Save the evidence. Save the answer path. Turn corrections into future checks. Update the docs and dashboards.</p><p>That is enough to show whether the company is serious.</p><p>The test is not:</p><p>&#8220;How many agents do we have?&#8221;</p><p>The test is:</p><p>Can the business ask better questions, get trusted answers faster, and make the next answer better because of what it learned this time?</p><p>If yes, artificial intelligence is compounding.</p><p>If no, it is just a prettier dashboard help desk.</p><p>What level is your company at right now?</p><p>And what is the biggest blocker between where you are and level 4?</p>]]></content:encoded></item><item><title><![CDATA[[Upcoming webinar] Catch 7 AI Analysis Mistakes Before They Drive Decisions]]></title><description><![CDATA[One thing I keep seeing: AI is pretty good at producing analysis that looks done.]]></description><link>https://www.insightextractor.com/p/upcoming-webinar-catch-7-ai-analysis</link><guid isPermaLink="false">https://www.insightextractor.com/p/upcoming-webinar-catch-7-ai-analysis</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Wed, 01 Jul 2026 01:51:52 GMT</pubDate><content:encoded><![CDATA[<p>One thing I keep seeing: AI is pretty good at producing analysis that looks done.</p><p>That&#8217;s also the problem.</p><p>You get a clean summary, a number that sounds precise, and a recommendation that feels reasonable. Then someone asks, &#8220;Wait, what definition of conversion did it use?&#8221; and the whole thing gets shaky.</p><p>I&#8217;m teaching a free Maven Lightning Lesson on the 7 mistakes that make AI analysis untrustworthy before it drives a decision.</p><p>Very practical. Metric definitions, denominators, source paths, caveats, and the quick review check I wish more teams used before forwarding AI output.</p><p>Friday, July 10 at 12 PM PT.  If you can&#8217;t make it live, sign up anyway so you get the recording/transcript after.</p><p>Signup Link: <a href="https://maven.com/p/399386/catch-7-ai-analysis-mistakes-before-they-drive-decisions">https://maven.com/p/399386/catch-7-ai-analysis-mistakes-before-they-drive-decisions</a></p>]]></content:encoded></item><item><title><![CDATA[Why 15+ Data Job Titles Will Collapse Into Just 2 by 2027 (And It's Already Happening)]]></title><description><![CDATA[The data industry's job title chaos is about to end. Here's why the consolidation is inevitable and what it means for your career.]]></description><link>https://www.insightextractor.com/p/why-15-data-job-titles-will-collapse</link><guid isPermaLink="false">https://www.insightextractor.com/p/why-15-data-job-titles-will-collapse</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Tue, 16 Jun 2026 22:14:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Obax!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3><strong>The Job Title Circus That Got Out of Hand</strong></h3><p>This post was originally written in Sep 2025 (<a href="https://www.linkedin.com/pulse/why-15-data-job-titles-collapse-just-2-2027-its-already-paras-doshi-qcjqc/?trackingId=%2F%2B%2Bq3d26SimSBp6xWCpYQA%3D%3D">here</a>), and I am cross-posting here since I had a conversation just yesterday which made it obvious that this transformation is accelerating. <br><br>I&#8217;ve been watching this mess unfold for years now.</p><p><strong>Data Engineer, Analytics Engineer, Business Intelligence Developer, Data Analyst, Business Intelligence Analyst, Decision Scientist, Applied Scientist, Research Scientist, ML Engineer, MLOps Engineer, Data Scientist, Quantitative Analyst, Product Analyst, Growth Analyst, Marketing Analyst...</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.insightextractor.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Insight Extractor! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Stop.</p><p>We&#8217;ve created a job title circus that serves nobody. Not companies. Not professionals. Not the industry.</p><p><strong>And it&#8217;s about to collapse.</strong></p><p>I&#8217;m calling it now: By 2027, this chaos consolidates into 2 clear job families. The companies that figure this out first will dominate. The professionals who adapt early will thrive. Everyone else is going to get left behind in the confusion.</p><div><hr></div><h3><strong>Why My LinkedIn Comment Exploded (And What It Tells Us)</strong></h3><p>last week, I commented that we need to go from ~15 job families to 2 in data. That comment exploded (in a good way).</p><p>Why? Because everyone knows it&#8217;s true, but nobody wants to say it out loud.</p><p><strong>Here&#8217;s what&#8217;s really happening:</strong></p><p>Companies are drowning. They post jobs for &#8220;Senior Data Analysts with ML experience and Python skills who can build data pipelines and present to executives.&#8221; That&#8217;s not a data analyst. That&#8217;s three different roles mashed together because nobody knows how to define what they actually need.</p><p>Professionals are stuck in title limbo. I see resumes with 5 different job titles for the same work. &#8220;Data Scientist&#8221; at one company equals &#8220;Business Analyst&#8221; at another. It&#8217;s complete madness.</p><p>Career paths are broken. How do you grow from &#8220;Analyst&#8221; to &#8220;Principal Data Scientist&#8221;? Nobody knows because we made up half these roles in the last 5 years.</p><p>Salaries are all over the place. Same work, different titles, $50K gaps. The market can&#8217;t price what it can&#8217;t define.</p><p><strong>The chaos is unsustainable. And market forces are already fixing it.</strong></p><div><hr></div><h3><strong>The AI Reality Check</strong></h3><p>Everyone&#8217;s debating whether AI will replace data analysts. Wrong question.</p><p>The right question: <strong>Which data roles add unique human value when AI handles the routine stuff?</strong></p><p>Here&#8217;s what I&#8217;ve learned watching AI transform workflows at multiple companies:</p><h3><strong>What AI eliminated:</strong></h3><ul><li><p>Manual data cleaning and prep</p></li><li><p>Basic visualization creation</p></li><li><p>Standard reporting and dashboards</p></li><li><p>Simple statistical analysis</p></li><li><p>Code debugging and optimization</p></li></ul><h3><strong>What AI amplified:</strong></h3><ul><li><p>Strategic problem solving with business context</p></li><li><p>Complex decision maker management and communication</p></li><li><p>Creative experimentation and hypothesis generation</p></li><li><p>Systems thinking and architectural decisions</p></li><li><p>Ethical AI governance and bias detection</p></li></ul><p><strong>The result?</strong> Most data roles are converging into two categories based on what humans uniquely provide.</p><div><hr></div><h3><strong>The 2 Job Families That Will Survive</strong></h3><p>After analyzing hundreds of job descriptions and actual work responsibilities, the consolidation is obvious:</p><h3><strong>Data Builders &#128295;</strong></h3><p><em>Implementation &amp; Data platform Specialists</em></p><p><strong>What they do:</strong></p><ul><li><p>Build and maintain data systems that work at scale</p></li><li><p>Implement ML models and automation workflows</p></li><li><p>Ensure data quality, security, and performance</p></li><li><p>Create tools that enable everyone else to succeed, including AI</p></li></ul><p><strong>Current job titles merging here:</strong> Data Engineer, Analytics Engineer, MLOps Engineer, Platform Engineer</p><p><strong>Why they matter:</strong> These are the people who make data work. They&#8217;re the builders.</p><div><hr></div><h3><strong>Data Strategists &#129504;</strong></h3><p><em>The Insight and Decision Specialists</em></p><p><strong>What they do:</strong></p><ul><li><p>Solve complex business problems using data and AI</p></li><li><p>Drive strategic decisions through analysis and experimentation</p></li><li><p>Translate between technical capabilities and business needs</p></li><li><p>Design experiments that move key metrics</p></li></ul><p><strong>Current job titles merging here:</strong> Data Scientist, Business Analyst, Product Analyst, Decision Scientist, Research Scientist</p><p><strong>Why they matter:</strong> These are the people who turn data into business impact. They&#8217;re the thinkers.</p><div><hr></div><h3><strong>Why This Consolidation Is Inevitable</strong></h3><p><strong>Follow the money.</strong></p><p>Companies are tired of managing 15 different data roles with overlapping responsibilities. They want clear hiring criteria, predictable career paths, efficient team structures, and measurable impact.</p><p><strong>The consolidation isn&#8217;t coming. It&#8217;s already here.</strong></p><p>Smart companies are quietly restructuring their data teams around these two core functions. The job boards just haven&#8217;t caught up yet.</p><p>I&#8217;m seeing startups hire &#8220;Data Engineers&#8221; and &#8220;Data Scientists&#8221; with genuinely distinct responsibilities. Tech companies organize around &#8220;Data Platform&#8221; and &#8220;Data Science&#8221; teams with clear interfaces. Traditional enterprises finally invest in both infrastructure and strategy capabilities separately.</p><div><hr></div><h3><strong>What This Means for Your Career Right Now</strong></h3><h3><strong>If you&#8217;re currently infrastructure focused:</strong></h3><ul><li><p>Double down on systems thinking and architecture</p></li><li><p>Master AI/ML deployment and monitoring</p></li><li><p>Focus on automation and scalability</p></li><li><p>Understand business impact of technical decisions</p></li></ul><h3><strong>If you&#8217;re currently strategy focused:</strong></h3><ul><li><p>Develop deeper business and industry knowledge</p></li><li><p>Master experimental design and causal inference</p></li><li><p>Become exceptional at communication and influence</p></li><li><p>Learn to leverage AI tools for analysis</p></li></ul><h3><strong>If you&#8217;re somewhere in between:</strong></h3><p><strong>Pick a side as an IC.</strong> The generalist &#8220;data analyst who does everything&#8221; role is disappearing fastest.</p><p>Learn both as a data leader.</p><div><hr></div><h3><strong>The Uncomfortable Truth</strong></h3><p>Most data professionals cling to outdated role definitions because change is scary.</p><p>But here&#8217;s the thing about market consolidation: You can be part of it, or you can be disrupted by it.</p><p>The professionals who recognize this shift early will have their pick of opportunities. The ones who keep debating whether they&#8217;re a &#8220;Senior Business Intelligence Analyst&#8221; or a &#8220;Principal Marketing Data Scientist&#8221; will get left behind.</p><div><hr></div><h3><strong>What Happens Next</strong></h3><p><strong>2025:</strong> Early adopters start restructuring teams</p><p><strong>2026:</strong> Consulting firms publish best practices (catching up to reality)</p><p><strong>2027:</strong> The consolidation becomes industry standard</p><p><strong>By 2030:</strong> We&#8217;ll look back at our current job title chaos like we look back at having 47 different types of &#8220;webmaster&#8221; in the late 90s.</p><div><hr></div><h3><strong>The Bottom Line</strong></h3><p>This consolidation isn&#8217;t a prediction. <strong>It&#8217;s already happening.</strong></p><p>The question isn&#8217;t whether this will occur. The question is whether you&#8217;ll adapt proactively or get dragged along reactively.</p><p>The future belongs to data professionals who understand that <strong>impact matters more than job titles</strong>.</p><p>Impact comes from doing one of two things exceptionally well: Building data systems that scale, or using data to drive business results.</p><p>Everything else is noise.</p><div><hr></div><p><strong>Originally written in Sep 2025 on Paras&#8217;s <a href="https://www.linkedin.com/pulse/why-15-data-job-titles-collapse-just-2-2027-its-already-paras-doshi-qcjqc/?trackingId=%2F%2B%2Bq3d26SimSBp6xWCpYQA%3D%3D">linkedin newsletter</a>. </strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Obax!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Obax!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Obax!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Obax!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Obax!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Obax!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:152000,&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://www.insightextractor.com/i/202353172?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.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_!Obax!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Obax!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Obax!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Obax!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8414337-ac0a-41a4-ad0b-4242c0c2a613_1280x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.insightextractor.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Insight Extractor! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Semantic Models Are Not Dead]]></title><description><![CDATA[Every few weeks, someone says semantic models are dead.]]></description><link>https://www.insightextractor.com/p/semantic-models-are-not-dead</link><guid isPermaLink="false">https://www.insightextractor.com/p/semantic-models-are-not-dead</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Sun, 14 Jun 2026 01:55:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vAMF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.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_!vAMF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vAMF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png 424w, https://substackcdn.com/image/fetch/$s_!vAMF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png 848w, https://substackcdn.com/image/fetch/$s_!vAMF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png 1272w, https://substackcdn.com/image/fetch/$s_!vAMF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vAMF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png" width="1114" height="627" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:627,&quot;width&quot;:1114,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:161431,&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://www.insightextractor.com/i/201936876?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.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_!vAMF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png 424w, https://substackcdn.com/image/fetch/$s_!vAMF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png 848w, https://substackcdn.com/image/fetch/$s_!vAMF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png 1272w, https://substackcdn.com/image/fetch/$s_!vAMF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98c317ca-00f4-4f3a-9870-1f0fd7779436_1114x627.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every few weeks, someone says semantic models are dead.</p><p>The argument usually sounds something like this: AI can query raw data, figure out joins, and answer questions in plain English, so why spend time modeling metrics at all?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.insightextractor.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Insight Extractor! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I get why that sounds appealing.</p><p>But at least from where I sit right now, it is the wrong conclusion.</p><p>AI is absolutely making analytics faster. What it is not doing is magically creating shared business meaning.</p><p>That is still the hard part.</p><p>A human analyst can look at messy data and bring judgment to it. They know which revenue definition leadership actually uses. They know which table is technically available but operationally wrong. They know which segment should be excluded, which timezone matters, and which &#8220;right&#8221; answer will still cause confusion in the room.</p><p>AI does not automatically inherit that judgment.</p><p>So if you put AI on top of raw tables, fragmented dashboards, and inconsistent KPI logic, you do not eliminate confusion. You scale it.</p><p>That is why I do not think semantic models are dead.</p><p>If anything, AI makes them more important.</p><p>Because the bottleneck is no longer query writing. The bottleneck is trust.</p><p>A semantic model is not just BI plumbing. It is the layer that tells both humans and machines what a metric officially means. It creates one governed definition, reusable logic, and a more stable path between a business question and a trustworthy answer.</p><p>Without that layer, AI can still answer quickly. It just cannot answer consistently.</p><p>And in analytics, inconsistency is what kills trust.</p><p>The real risk is not only hallucination. It is metric drift.</p><p>One prompt pulls from one source. Another prompt pulls from another. A dashboard says one thing. A spreadsheet says another. An executive asks a simple question, and suddenly the meeting turns into a debate about definitions instead of a decision about the business.</p><p>That is not an AI problem in isolation.</p><p>That is a definition problem.</p><p>Semantic models help reduce that ambiguity. They give the business, the data team, and now the AI layer a shared contract for what counts.</p><p>To be clear, I do not think a semantic model solves everything.</p><p>You still need business context, caveats, approved answer paths, and operating judgment around how metrics should be used. But that is exactly the point: semantic models are not the whole solution, yet they are still a foundational part of the solution.</p><p>So my current POV is simple: AI makes natural-language analytics easier. It does not make semantic discipline optional.</p><p>The teams that win will not be the ones with the cleverest prompts. They will be the ones with the clearest definitions, the strongest trust layer, and the discipline to keep AI grounded in governed business meaning.</p><p><em>POV is mine; AI helped shape the final draft.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.insightextractor.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Insight Extractor! Subscribe for free to receive new posts:</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Landing a Data Role in 2026: 9 AI-Era Tactics from 100+ Interviews]]></title><description><![CDATA[After interviewing hundreds of data professionals in past 12 months, I&#8217;ve noticed clear patterns separating candidates we move forward with from those who don&#8217;t get the call.]]></description><link>https://www.insightextractor.com/p/landing-a-data-role-in-2026-9-ai</link><guid isPermaLink="false">https://www.insightextractor.com/p/landing-a-data-role-in-2026-9-ai</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Thu, 11 Jun 2026 21:09:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8UXf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.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_!8UXf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8UXf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!8UXf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!8UXf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!8UXf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8UXf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1501305,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insightextractor.substack.com/i/201660191?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!8UXf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!8UXf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!8UXf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!8UXf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc419ce6-097f-4122-a3ef-140f5f7e1513_1280x720.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>After interviewing hundreds of data professionals in past 12 months, I&#8217;ve noticed clear patterns separating candidates we move forward with from those who don&#8217;t get the call. It&#8217;s not always about credentials, it&#8217;s about how you show up in the process itself.</p><p>Here are the 9 tactics that candidates we actually hire demonstrate, organized around three core qualities: agency, accountability, and adaptability.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.insightextractor.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Insight Extractor! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong>AGENCY: Take Ownership of Your Search</strong></h3><p><strong>Tip #1: Build Something Real</strong></p><p>Don&#8217;t polish your portfolio forever. Candidates who move forward build a functional project this week that solves a real problem, even if it&#8217;s rough. Use a public dataset, ship a GitHub repo, deploy a live dashboard. Employers want evidence you can execute, not just interview well.</p><p><strong>Tip #2: Show Up With Opinions</strong></p><p>Generic interview answers don&#8217;t stick. The candidates we hire come prepared with specific perspectives: &#8220;Here&#8217;s how I&#8217;d approach your churn problem using causal inference rather than standard cohort analysis&#8221; or &#8220;I&#8217;d restructure your metrics layer using dbt semantic models.&#8221; You don&#8217;t need to be right, you need to demonstrate you think.</p><p><strong>Tip #3: Make Yourself Visible Before the Interview</strong></p><p>Engage publicly. Comment thoughtfully on LinkedIn posts from data leaders. Write one substantive post about an industry trend. When I interview someone whose thinking I&#8217;ve already seen online, they&#8217;re immediately credible. You&#8217;re not building fame, you&#8217;re building proof that you know what you&#8217;re talking about.</p><div><hr></div><h3><strong>ACCOUNTABILITY: Prove Impact With Numbers</strong></h3><p><strong>Tip #4: Quantify Every Win in Your Resume</strong></p><p>Replace &#8220;Led analytics initiatives&#8221; with &#8220;Built attribution model that optimized $75M in annual marketing spend, reducing CAC by 18% and accelerating payback period from 16 to 9 months.&#8221; Candidates I hire share &gt;5 specific, quantified impact stories.</p><p><strong>Tip #5: Own Your Failures</strong></p><p>In interviews, when asked about mistakes, candidates we advance take real accountability: &#8220;I missed the forecast by 15%. Here&#8217;s the root cause, what I should have done differently, and the monitoring system I built to prevent it from happening again.&#8221; We&#8217;re hiring for judgment and accountability, not perfection.</p><p><strong>Tip #6: Prepare Your Impact Narrative</strong></p><p>Before any interview, write a one-page summary of 3 major projects with: (1) the business problem, (2) your specific contribution, (3) the measurable outcome, (4) what you learned. Reference this throughout the interview. This shows you think in outcomes, not just outputs.</p><div><hr></div><h3><strong>ADAPTABILITY: Show You&#8217;re Built for Tomorrow</strong></h3><p><strong>Tip #7: Demonstrate You Can Learn Fast</strong></p><p>The candidates we hire don&#8217;t say &#8220;I&#8217;m learning AI&#8221;, they say &#8220;I shipped a multi-agent system using Claude.&#8221; Spend this week building something with a modern AI tool. Deploy it. Show you can move quickly in an evolving ecosystem.</p><p><strong>Tip #8: Highlight Your Pivots</strong></p><p>If you&#8217;ve evolved your role, own it confidently. &#8220;I was hired as an analytics engineer but recognized the team needed data infrastructure, so I taught myself Airflow and restructured our pipeline architecture&#8221; shows adaptability and initiative. Companies in 2026 need people who can wear multiple hats.</p><p><strong>Tip #9: Know Where the Industry is Heading</strong></p><p>Candidates we hire reference new frameworks, tools, and industry trends in conversations. They mention semantic layers, causal inference, or agent-based architectures casually, not as jargon, but as genuine familiarity. Show you&#8217;re reading, listening to podcasts, and thinking forward.</p><div><hr></div><h3><strong>Put It Into Practice</strong></h3><p>Before your next interview:</p><p>&#10003; Agency: Build something tangible. Ship a real project.</p><p>&#10003; Accountability: Quantify your three biggest wins. Know your numbers.</p><p>&#10003; Adaptability: Learn one new AI tool. Show proof you built with it.</p><p>The difference between &#8220;qualified&#8221; and &#8220;we&#8217;re hiring this person&#8221; often comes down to these signals, especially in an AI-native environment where the rules are still being written.</p><h3><strong>Live 1:1 Practive</strong></h3><p>For a limited time, I am offering live 1:1 mock interviews (all proceeds are donated). <a href="https://topmate.io/parasdoshi">https://topmate.io/parasdoshi </a></p><div><hr></div><p> Disclaimer: This post was edited by AI, but the core ideas, framework, and thinking were fed to the AI by Paras</p><div><hr></div><p>Which of these 9 resonates most with your job search right now? DM me your biggest challenge. I&#8217;m here to help.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.insightextractor.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Insight Extractor! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Data Leader’s Secret Weapon: The Deprecation-First Rule for Managing Technical Debt]]></title><description><![CDATA[Technical debt has evolved from a developer&#8217;s headache into a strategic business crisis.]]></description><link>https://www.insightextractor.com/p/the-data-leaders-secret-weapon-the-deprecation-first-rule-for-managing-technical-debt</link><guid isPermaLink="false">https://www.insightextractor.com/p/the-data-leaders-secret-weapon-the-deprecation-first-rule-for-managing-technical-debt</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Thu, 31 Jul 2025 17:28:12 GMT</pubDate><content:encoded><![CDATA[<p>Technical debt has evolved from a developer&#8217;s headache into a strategic business crisis. If you&#8217;re a data leader drowning in unused dashboards, outdated models, and forgotten pipelines, you&#8217;re not alone. According to recent research, organizations are spending 30% of their IT budget on technical debt while allocating 20% of their IT resources just to manage it. (<a href="https://www.protiviti.com/us-en/global-technology-executive-survey-tech-debt-major-burden">source</a>)</p><p>The impact is staggering: nearly 70% of organizations report that technical debt significantly impairs their ability to innovate. Every unused dashboard and dusty model creates drag, making every new release harder and slower.</p><h2>The Solution: Embrace the &#8220;Deprecation-First&#8221; Rule</h2><p>Here&#8217;s the game-changing principle that successful data teams are using: <strong>To build something new, you must retire something old.</strong></p><p>The rule is elegantly simple:</p><ul><li><p>New dashboard &#8594; deprecate one</p></li><li><p>New metric &#8594; deprecate one</p></li><li><p>New pipeline or model &#8594; same rule applies</p></li></ul><p>Start with a 1:1 ratio, then scale to 1:3 or 1:5 as your team builds the muscle and focus for systematic cleanup.</p><h2>How to Make It Work</h2><p>Successful implementation requires four key elements:</p><p><strong>1. Establish the Baseline Rule</strong><br>Make it non-negotiable: no new asset gets built without retiring an old one.</p><p><strong>2. Track Your Progress</strong><br>Count additions versus deletions in every sprint. This simple metric keeps the team accountable and shows progress over time.</p><p><strong>3. Protect Cleanup Time</strong><br>Dedicate approximately 15% of your sprint capacity specifically to debt cleanup. This isn&#8217;t overhead; it&#8217;s an investment in future velocity.</p><p><strong>4. Celebrate Success</strong><br>Give team recognition for retiring dashboards, deprecating metrics, and cleaning up technical debt. What gets celebrated gets repeated.</p><h2>Why This Matters More Than Ever</h2><p>Technical debt isn&#8217;t just a maintenance issue; it&#8217;s an innovation killer. Every piece of unused infrastructure steals budget and slows down your team&#8217;s ability to deliver value. By systematically reducing complexity while building new capabilities, you create a virtuous cycle of increased agility and reduced maintenance overhead.</p><h2>Ready to Get Started?</h2><p>The beauty of this approach is that it requires no massive overhaul. Simply pair your next new build with something you can clean up. Ask your team: what could we deprecate this week?</p><p>The path to managing technical debt isn&#8217;t about perfect planning or comprehensive audits. It&#8217;s about building sustainable habits that prevent debt from accumulating faster than you can pay it down. Start small, stay consistent, and watch as your team&#8217;s velocity and innovation capacity begin to improve.</p>]]></content:encoded></item><item><title><![CDATA[Rise of Super IC]]></title><description><![CDATA[The Old Data Playbook Is Dead.]]></description><link>https://www.insightextractor.com/p/rise-of-super-ic</link><guid isPermaLink="false">https://www.insightextractor.com/p/rise-of-super-ic</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Mon, 28 Jul 2025 22:05:02 GMT</pubDate><content:encoded><![CDATA[<h3>The Old Data Playbook Is Dead. It&#8217;s Time for the Super IC.</h3><p>When I took over data at Opendoor 3 years ago, I walked into a classic problem: a lot of smart, junior people spread way too thin. Everyone was solving the same problems in their own little corners. It was organized chaos, with duplicated work and no single source of truth.</p><p>My first move wasn&#8217;t to hire more people. It was to hire <em>different</em> people. I stopped hiring pods of junior analysts and instead brought on senior IC&#8217;s for each major business area. We centralized the team but kept them embedded in the business. The signal instantly got clearer than the noise. We went from fighting fires to shaping strategy.</p><p>Fast forward to now: Hiring senior IC&#8217;s isn&#8217;t enough. We are in the Super IC era.</p><h3>Forget 10x. We&#8217;re in the 100x Era Now.</h3><p>We used to get excited about the mythical &#8220;10x engineer.&#8221; That&#8217;s ancient history. In 2025, with AI in everyone&#8217;s toolkit, the best people aren&#8217;t 10x. They&#8217;re 100x. One great data scientist can now do the work of an entire team.</p><p>The gap between an average contributor and a superstar has become a canyon. This isn&#8217;t just about being a faster coder. It&#8217;s about strategic thinking. It&#8217;s the difference between someone who can answer your question, and someone who tells you the question you <em>should</em> be asking.</p><h3>Stop Taking Orders, Start Driving Outcomes.</h3><p>This is why the old &#8220;service desk&#8221; model for data teams is so broken. If your team is just sitting around waiting for tickets, you&#8217;ve already lost. You&#8217;re a support function, not an engine for growth.</p><p>I pushed my team at Opendoor to think like product owners. Find the problem, build the solution, own the outcome. Don&#8217;t just deliver a report; build a data product that makes the report unnecessary. If you&#8217;re an IC, your job is to be proactive. Find the opportunity before your manager even knows it exists.</p><h3>Your Best Ideas Now Have an Expiration Date.</h3><p>Here&#8217;s another hard truth: speed is everything. With AI, that brilliant insight you have today could be an automated feature for your competitor next quarter. You can&#8217;t afford to wait for permission or polish a proposal for weeks.</p><p>Build the ugly prototype. Get it in front of people. Show, don&#8217;t just tell. A good idea launched this week is infinitely better than a perfect one you&#8217;re still planning next year.</p><h3>What to Do If You&#8217;re Not at a FAANG Company</h3><p>Of course, this has created a crazy talent war. You see headlines about multi-million dollar packages for AI researchers, and it&#8217;s not just hype. One person really can change the game, and companies are paying for it.</p><p>So what can you do if you&#8217;re at a more traditional company? Act like a super IC anyway.</p><ul><li><p><strong>Be a self-starter.</strong> Don&#8217;t wait for permission to fix something that&#8217;s broken.</p></li><li><p><strong>Make AI your superpower.</strong> Automate the boring stuff so you can focus on what matters.</p></li><li><p><strong>Think like the business.</strong> Connect every line of code to a customer problem or a dollar sign.</p></li><li><p><strong>Learn out loud.</strong> Share what you&#8217;re working on online or internally. You&#8217;ll be surprised who&#8217;s listening.</p></li></ul><p>For leaders, the job is to find these people, pay them what they&#8217;re worth (and yes you may have to battle with your CFO about this!), and give them the two things they crave most: autonomy and interesting problems to solve.</p><p>Ultimately, this isn&#8217;t about humans vs. AI. It&#8217;s about a new kind of team: talented people using incredibly powerful tools. The future isn&#8217;t scary; it&#8217;s an upgrade. Don&#8217;t be afraid of the super IC. Figure out how to become one.</p><p>(<em>Note: written with the help of AI tools for editing)</em></p>]]></content:encoded></item><item><title><![CDATA[[Video] Building Sustainable Data Led Organizations]]></title><description><![CDATA[I presented at Select Star&#8217;s Inner Join Forum on &#8220;Building Sustainable Data Led organizations&#8221;.]]></description><link>https://www.insightextractor.com/p/video-building-sustainable-data-led-organizations</link><guid isPermaLink="false">https://www.insightextractor.com/p/video-building-sustainable-data-led-organizations</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Wed, 02 Jul 2025 23:32:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/rcGtfP5LZvs" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I presented at Select Star&#8217;s Inner Join Forum on &#8220;Building Sustainable Data Led organizations&#8221;.</p><div class="captioned-image-container"><figure><div id="youtube2-rcGtfP5LZvs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;rcGtfP5LZvs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/rcGtfP5LZvs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></figure></div><p>Session Overview:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0459!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0459!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png 424w, https://substackcdn.com/image/fetch/$s_!0459!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png 848w, https://substackcdn.com/image/fetch/$s_!0459!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png 1272w, https://substackcdn.com/image/fetch/$s_!0459!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0459!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&#128680;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="&#128680;" title="&#128680;" srcset="https://substackcdn.com/image/fetch/$s_!0459!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png 424w, https://substackcdn.com/image/fetch/$s_!0459!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png 848w, https://substackcdn.com/image/fetch/$s_!0459!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png 1272w, https://substackcdn.com/image/fetch/$s_!0459!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1bf96b-7ea2-4f5c-b780-508784edc892_72x72.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><p> Data isn&#8217;t the hard part. Sustaining its impact is.<br><br>Too many data teams succeed in shipping dashboards but stall when it comes to lasting influence. Why? Because impact doesn&#8217;t scale without intention.<br><br>At the next Inner Join, I&#8217;m hosting <a href="https://www.linkedin.com/in/doshiparas/">Paras Doshi</a>, Head of Data at <a href="https://www.linkedin.com/company/opendoor-com/">Opendoor</a>, to unpack a field-tested framework for building data-led organizations that last.<br><br>He calls it the 3 Ps framework:<br><br>1. People: How to centralize data culture while empowering teams<br>2. Platform: Why discoverability, trust, and governance need to be built in&#8212;not bolted on<br>3. Process: Moving from service desk to product mindset (with examples)<br><br></p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ijVb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ijVb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png 424w, https://substackcdn.com/image/fetch/$s_!ijVb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png 848w, https://substackcdn.com/image/fetch/$s_!ijVb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png 1272w, https://substackcdn.com/image/fetch/$s_!ijVb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ijVb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&#128204;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="&#128204;" title="&#128204;" srcset="https://substackcdn.com/image/fetch/$s_!ijVb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png 424w, https://substackcdn.com/image/fetch/$s_!ijVb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png 848w, https://substackcdn.com/image/fetch/$s_!ijVb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png 1272w, https://substackcdn.com/image/fetch/$s_!ijVb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0f5403e-285d-4421-b29a-4227b91db2eb_72x72.png 1456w" sizes="100vw"></picture><div></div></div></a><p>&nbsp;Plus: How Paras&#8217; team turns ad-hoc requests into repeatable assets&#8212;and measures long-term data value.</p><p>&#8212;-</p><p>Additionally, I have written about centralized vs de-centralized data teams <a href="https://insightextractor.com/2025/03/06/structuring-a-high-impact-data-team-centralized-vs-decentralized-models/">here</a> if you want to double click into structuring data org&#8217;s.</p>]]></content:encoded></item><item><title><![CDATA[The Interview Mistake I’ve Seen in 1000+ Interviews Even Smart Candidates Make]]></title><description><![CDATA[After taking >1000 interviews for data roles, I&#8217;ve noticed one pattern that separates good candidates from great ones.]]></description><link>https://www.insightextractor.com/p/the-interview-mistake-ive-seen-in-1000-interviews-even-smart-candidates-make</link><guid isPermaLink="false">https://www.insightextractor.com/p/the-interview-mistake-ive-seen-in-1000-interviews-even-smart-candidates-make</guid><dc:creator><![CDATA[Paras Doshi]]></dc:creator><pubDate>Fri, 20 Jun 2025 01:00:00 GMT</pubDate><content:encoded><![CDATA[<p>After taking &gt;1000 interviews for data roles, I&#8217;ve noticed one pattern that separates good candidates from great ones.</p><p>Great candidates don&#8217;t just talk about the project they&#8217;re most excited about. They talk about the project I (as the interviewer) care about.</p><p>Here&#8217;s what I mean.</p><p>Years ago, before Microsoft acquired LinkedIn, I interviewed there. I thought I had done well. I had strong technical rounds, clear communication, and relevant experience. But I didn&#8217;t get the offer.</p><p>A mentor who worked at LinkedIn took 30 minutes to debrief with me. His feedback changed the way I think about interviews.</p><p>He said, &#8220;Paras, you probably passed the tech and case study rounds. But in the other interviews, you kept talking about healthcare projects. That&#8217;s where you were working at the time, but LinkedIn isn&#8217;t a healthcare company. You had relevant tech experience too, but it didn&#8217;t come through. The stories didn&#8217;t land.&#8221;</p><p>He was right. I had done good work in tech, but I didn&#8217;t choose the right stories for that audience. I talked about what I had done <em>recently</em>, not what was <em>relevant</em> to them.</p><p>This is the mistake I see over and over again. Candidates tell stories that matter to them, not stories that match what the company is hiring for.</p><p>If you want to improve your chances of converting interviews into offers, here&#8217;s what you can do:</p><ul><li><p>Look up what problems the company is solving</p></li><li><p>Ask the recruiter what the hiring manager cares most about</p></li><li><p>Tailor your talking points to those themes</p></li><li><p>Use examples from your past that mirror the challenges they&#8217;re facing</p></li></ul><p>Interviewing is hard enough. Don&#8217;t make it harder by being generic.</p><p>Tell the stories that resonate. Relevance beats recency. Every time.</p><p>(Note: written w/ the help of AI tools for polishing/editing language, but the core points and personal story is raw/mine)</p>]]></content:encoded></item></channel></rss>