<?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[On the Edge by Blueprint]]></title><description><![CDATA[Real-time dispatches from a GTM engineer building with tools that didn't exist six months ago. Free subscribers get the frameworks. Paid subscribers get the build guides. Annual members get the tools.]]></description><link>https://edge.blueprintgtm.com</link><image><url>https://substackcdn.com/image/fetch/$s_!grl5!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70d5899-0706-4e6e-b77e-77c92ea86702_1280x1280.png</url><title>On the Edge by Blueprint</title><link>https://edge.blueprintgtm.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 28 May 2026 09:33:40 GMT</lastBuildDate><atom:link href="https://edge.blueprintgtm.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Jordan Crawford]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[gtmontheedge@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[gtmontheedge@substack.com]]></itunes:email><itunes:name><![CDATA[Jordan Crawford]]></itunes:name></itunes:owner><itunes:author><![CDATA[Jordan Crawford]]></itunes:author><googleplay:owner><![CDATA[gtmontheedge@substack.com]]></googleplay:owner><googleplay:email><![CDATA[gtmontheedge@substack.com]]></googleplay:email><googleplay:author><![CDATA[Jordan Crawford]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Automated 3 Deep Research Agents (Claude, ChatGPT, Gemini) — $0 API costs]]></title><description><![CDATA[One question fans across three engines. A wave of Claude agents fact-checks every citation. The disagreements that survive &#8212; claims only one engine surfaced &#8212; are the actually useful intel.]]></description><link>https://edge.blueprintgtm.com/p/automated-3-deep-research-agents</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/automated-3-deep-research-agents</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Wed, 27 May 2026 16:16:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!anql!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.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_!anql!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!anql!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!anql!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!anql!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!anql!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!anql!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Three deep research engines fanning one question, with the disagreements that survive a hostile fact-check as the asymmetric edge&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="Three deep research engines fanning one question, with the disagreements that survive a hostile fact-check as the asymmetric edge" title="Three deep research engines fanning one question, with the disagreements that survive a hostile fact-check as the asymmetric edge" srcset="https://substackcdn.com/image/fetch/$s_!anql!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!anql!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!anql!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!anql!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11b8e0a8-e4f3-4333-b131-cd7efe540c0d_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Ask ChatGPT, Claude, and Gemini the same research question and you will get three different answers.</p><p>Each engine indexes a different slice of the web and reasons through it with a different model. Each one catches things the others miss.</p><p>The places where all three agree just confirm what Wikipedia would tell you anyway. The places where exactly one engine found a claim &#8212; and that claim survives a hostile fact-check &#8212; are where the actually useful intel lives.</p><p>That set-difference between the three engines is the asymmetric edge.</p><p>Capturing it in practice has been almost impossible until now. Reading three deep-research reports and verifying every citation across them takes half a day for any human.</p><p>Triple Deep Research is the tool I built to do that work for you.</p><p>It takes one question, fans it across ChatGPT, Claude, and Gemini at the same time, and runs a wave of Claude agents that fact-checks every cited link in all three reports. What comes back is one synthesized report where every claim cites a stable identifier in the raw text &#8212; and where the disagreements that survived verification lead the report as the asymmetric edge.</p><h2>What it does</h2><p>You feed Triple one question.</p><p>Something like <em>"What state-level rules passed in 2025 affect Medicare Advantage reimbursement?"</em> Or <em>"Which B2B SaaS companies shipped AI agent products in the last year and then publicly walked them back?"</em></p><p>The tool fans that question to all three engines at the same time. ChatGPT runs its deep research on its own slice of the web. Claude runs its deep research on its own index. Gemini runs its deep research on the Google corpus.</p><p>Three engines. Three models. Three separate cross-sections of the open web &#8212; all working the same question in parallel.</p><p>Once the reports come back, a wave of Claude agents takes them apart.</p><p>The first agent breaks every claim into its smallest factual unit and labels each one by how many engines surfaced it. Three more agents work in parallel &#8212; one per platform &#8212; and each opens every cited URL to decide whether the page actually supports the claim.</p><p>A fourth agent catches the date errors the engines tend to miss. A judge ranks every surviving claim by how much it actually shifts your thinking.</p><p>A final writer synthesizes everything into one report where every claim cites a stable identifier you can resolve back to the raw page text.</p><p>A run takes 15 to 55 minutes, gated by whichever engine is slowest.</p><p>The cost is nothing on the deep research itself. The work rides on the ChatGPT Plus, Claude Pro, and Gemini Advanced subscriptions you already pay for. The only marginal spend is about $3 in Claude agent tokens to run the fact-checker wave.</p><h2>Why three engines, not one</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FVHN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FVHN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!FVHN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!FVHN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!FVHN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FVHN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Three deep research engines overlapping in a Venn diagram; the slice that only one engine produced &#8212; the set-difference &#8212; is the asymmetric edge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three deep research engines overlapping in a Venn diagram; the slice that only one engine produced &#8212; the set-difference &#8212; is the asymmetric edge" title="Three deep research engines overlapping in a Venn diagram; the slice that only one engine produced &#8212; the set-difference &#8212; is the asymmetric edge" srcset="https://substackcdn.com/image/fetch/$s_!FVHN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!FVHN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!FVHN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!FVHN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb82ec7d-d888-484c-8b5d-358bfe3878ca_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The three engines do not see the same web.</p><p>ChatGPT runs on the Bing index. That gives it strong coverage of news and academic sources, and pulls back the well-edited material journalists and researchers tend to cite.</p><p>Claude runs on its own index. It is strongest on long-form blogs and has been sharpening fast on primary documents &#8212; court filings, government reports, things like that.</p><p>Gemini sits on the full Google index, which has the largest surface area of the three by a wide margin. It routinely reaches obscure corners of the web &#8212; niche forums, regional publications, vendor PDFs &#8212; that no other engine touches.</p><p>Running a question through one engine gives you one cross-section of the web's knowledge on that question. Running the same question through all three gives you the <strong>set-difference</strong> &#8212; the gold sitting between the cross-sections.</p><p>The all-three-agree claims tend to be the consensus you could have found in any general search. They are a useful baseline, but they are not insight.</p><p>The one-of-three claims &#8212; the things that only one engine surfaced &#8212; are where the asymmetric value lives. If, that is, you can verify them against primary sources and rule out the ones the engine just hallucinated.</p><p><strong>The asymmetric value is the set-difference.</strong> Everything else is just an answer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cRbJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cRbJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!cRbJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!cRbJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!cRbJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cRbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The asymmetric value is the set-difference&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The asymmetric value is the set-difference" title="The asymmetric value is the set-difference" srcset="https://substackcdn.com/image/fetch/$s_!cRbJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!cRbJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!cRbJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!cRbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2cacaf4-9184-4b30-8fed-df3133769514_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The proof point: 1 link &#8594; 60 citations</h2><p>Two paths exist for reading a deep-research report off these platforms. One returns almost nothing. The other returns everything.</p><p>The naive path scrapes the page's visible HTML &#8212; the DOM &#8212; and extracts whatever text and links you can see. The problem: what you see is almost never what is actually there.</p><p>On Claude, a DOM scraper gets back <strong>1 link out of the 427 sources</strong> the page itself shows next to the report. The report lives inside a Document artifact tile the DOM snapshot cannot reach.</p><p>On ChatGPT, a DOM scraper gets back <strong>0 characters of the report</strong>. ChatGPT renders it inside a sandbox iframe the outer page is not allowed to read.</p><p>On Gemini, the citations come back as redirect URLs the DOM never resolves. You end up with a list of meaningless redirect handles instead of real source pages.</p><p>The path that actually works asks the platform for its own data, the same way the platform's own page asks for it.</p><p>Each engine ships an undocumented data feed that the page itself calls to load the report. From inside the page &#8212; meaning from inside a real browser tab the user is already signed into &#8212; you can call that same feed and the platform hands you the data back as plain text.</p><p>On Claude, that call pulls <strong>the full 31,213-character report and all 60 citations in 157 milliseconds</strong>.</p><p>On ChatGPT, the report comes back as plain text from the same conversation feed the website's own React app reads.</p><p>On Gemini, the redirect-only citation URLs resolve to their real destinations. You can fetch them from inside the real browser tab, and Cloudflare passes you through &#8212; because you actually are a real browser tab.</p><p>Same conversation. Same question. Different read path. One returns roughly 0% of the information. The other returns 100%.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eKfP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eKfP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!eKfP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!eKfP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!eKfP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eKfP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;1 link of 427 sources via DOM scraper, versus the full 31,213-character report and all 60 citations via the page's own data feed in 157 milliseconds&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="1 link of 427 sources via DOM scraper, versus the full 31,213-character report and all 60 citations via the page's own data feed in 157 milliseconds" title="1 link of 427 sources via DOM scraper, versus the full 31,213-character report and all 60 citations via the page's own data feed in 157 milliseconds" srcset="https://substackcdn.com/image/fetch/$s_!eKfP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!eKfP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!eKfP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!eKfP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9775c9-d1bf-4653-bfe8-b89a8608e42a_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Every library you'd reach for is broken</h2><p>No off-the-shelf scraper handles all three platforms cleanly. None of these platforms want to be driven by anything that is not a real human in a real browser.</p><p>They have layers of defenses. Each layer was specifically designed to break the kind of script you would write to automate them.</p><p>ChatGPT runs a real-time signal-validation system inside the page. It watches for things a script would never do &#8212; patterns of clicks, keystrokes, and timings that a human produces but a bot does not. It silently flags any session that fails the test.</p><p>On top of that, every write to ChatGPT's interface hits a math puzzle the page itself computes before sending. A normal request cannot pass without running the page's own code.</p><p>On top of <em>that</em>, Cloudflare runs its bot challenge &#8212; the same test that decides whether to throw up a "verify you are human" page. The challenge token regenerates every few seconds.</p><p>Each of those three layers will reject a naive script the moment it tries.</p><p>Claude has a different problem.</p><p>The first time you drive a deep-research session in Claude, the page pops up a modal asking which "connectors" you want to allow &#8212; file system, GitHub, Drive, and the rest. The page refuses to run the research until the modal is dismissed.</p><p>A second modal then asks you to clarify the scope of your research before submitting. A scraper that does not handle those two modals dies at the door &#8212; and most do not.</p><p>Gemini wraps every response inside a serialized envelope format that Google uses internally. The envelope arrives in the network log as a chunked stream.</p><p>The chunks expire seconds after the network event fires. If you are not reading the response from inside the same page that received it, you do not get to read it at all.</p><p>The open-source libraries around all three are broken, as you would expect from that list.</p><p>The most popular Gemini scraper on GitHub has six open critical bugs nobody has fixed in months. ChatGPT exporters break every time Cloudflare rotates its challenge &#8212; which is every few seconds.</p><p>Claude scrapers cannot make it past the connector modals because they were built for the old chat surface, not the deep-research workflow that ships those modals.</p><p>You can spend a week patching one of those libraries every time a platform shifts its UI. Or you can stop fighting the platforms and let the browser do the writing for you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LuM4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LuM4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png 424w, https://substackcdn.com/image/fetch/$s_!LuM4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png 848w, https://substackcdn.com/image/fetch/$s_!LuM4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!LuM4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LuM4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Two ways to read a deep-research report: the DOM scraper that breaks on every platform versus reading the page's own data feed from inside the page&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two ways to read a deep-research report: the DOM scraper that breaks on every platform versus reading the page's own data feed from inside the page" title="Two ways to read a deep-research report: the DOM scraper that breaks on every platform versus reading the page's own data feed from inside the page" srcset="https://substackcdn.com/image/fetch/$s_!LuM4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png 424w, https://substackcdn.com/image/fetch/$s_!LuM4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png 848w, https://substackcdn.com/image/fetch/$s_!LuM4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!LuM4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed0b271a-6b48-48b3-939a-1c7f8bb1c9ba_2400x1800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The insight: browser owns writes, JSON owns reads</h2><p>The trick is to stop pretending you are not a browser.</p><p>Use the user's real signed-in Chrome &#8212; the actual browser with the actual cookies and the actual login session &#8212; and drive that. Instead of building a bot that tries to look like a browser, take a browser that is already signed in and tell it what to do.</p><p>When you drive the real Chrome, every defense the platform built falls away on its own.</p><p>The math puzzle gets computed by the platform's own page code &#8212; the page is the thing computing it. The bot-challenge tokens come along for free, because they are generated inside the page session you are inside of.</p><p>The IP address Cloudflare sees is the user's real IP. The handshake is the user's real handshake. Cloudflare looks at all of it and sees a real signed-in browser doing what real signed-in browsers do. It lets the request through.</p><p>That is the write path. Every input goes through the real browser.</p><p>For the read path, you ask the same page for its data, from inside the page. Each platform has its own undocumented data feed the website itself calls to load the report.</p><p>From a real tab with real cookies, that feed returns the report as plain text.</p><p>No DOM scraping. No screenshot tricks. No envelope-unwrapping from outside the page.</p><p><strong>Browser owns writes. JSON owns reads.</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_!K5rx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K5rx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!K5rx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!K5rx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!K5rx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K5rx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Browser owns writes. JSON owns reads.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Browser owns writes. JSON owns reads." title="Browser owns writes. JSON owns reads." srcset="https://substackcdn.com/image/fetch/$s_!K5rx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png 424w, https://substackcdn.com/image/fetch/$s_!K5rx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png 848w, https://substackcdn.com/image/fetch/$s_!K5rx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!K5rx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c2b9de-8956-4bc7-981c-4560f5e999e7_2400x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Type into the real browser, then ask the real browser for the data back.</p><p>One more piece matters: the extraction step is decoupled from the browser run.</p><p>The browser saves the raw page and the raw response to disk before the extractor touches anything. The extractor then reads from disk, not from the live browser.</p><p>If a platform ships a UI change next week and breaks the extractor, you re-run only the extractor against the raw page you already saved. You do not re-pay for another 30-minute deep-research run &#8212; which would cost both wall time and quota against your weekly limits across all three platforms.</p><h2>How the fact-checker wave defends every claim</h2><p>Once the three reports are on disk, a wave of Claude agents takes them apart and verifies every claim.</p><p>The waves run in a specific order, because each one builds on what the previous wave wrote. The asymmetric-edge claims surface at the top; anything that looks like a hallucination gets filtered out.</p><ul><li><p><strong>Cross-Corroborate.</strong> One Sonnet agent reads all three reports and breaks every claim into its smallest factual unit &#8212; one fact, one subject, one source. Each unit then gets labeled by how many engines surfaced it: agreed by all three, agreed by two of three, found only in one engine, or contradicted between engines. That labeling is the substrate everything else depends on.</p></li><li><p><strong>Link &amp; Fact Skeptic, three at the same time.</strong> One Sonnet agent runs per platform, with all three in parallel. Each agent opens every URL cited in its platform's report, reads the source page, and assigns a verdict from one of five buckets: supports the claim, partially supports it, contradicts it, dead link, or hallucinated cite. Every link gets saved &#8212; including the dead ones &#8212; so the receipts stay visible.</p></li><li><p><strong>Date Skeptic.</strong> One Sonnet agent works across all three reports looking for the date errors deep-research engines are notoriously bad at. It catches stale-recency claims (a "recent" thing that actually cites a 2019 source), event-misattribution (the right thing happened, but to a different company), and publication-drift (the cited page has been edited since the report was written, and the claim no longer matches what the page says).</p></li><li><p><strong>Usefulness Judge.</strong> One Opus agent reads everything the skeptics wrote and ranks every surviving claim on four axes &#8212; does it advance the goal you asked about, does it surface information the other engines missed, can you actually do something with it, and can you sort your buyer list by it. Claims that scored high on asymmetry (only one engine found them) get a bonus weighting <em>if</em> they also passed the fact-check, because those are the ones that represent the actual edge.</p></li><li><p><strong>Final Synthesizer.</strong> One Opus agent reads everything written above it &#8212; the original three reports, the corroboration labels, every skeptic's verdicts, the usefulness ranking &#8212; and writes the final report. Every claim cites back to a stable identifier like <em>[claude-042]</em> or <em>[chatgpt-014]</em> that resolves to the raw page text on disk. The verification appendix at the end lists every dead link, every hallucinated citation, every date flag, and every contradiction the skeptics raised. Receipts visible.</p></li></ul><p>By the time a claim makes it into the final report, it has been atomized, labeled, fact-checked against its source, date-validated, ranked for usefulness, and tagged with its provenance.</p><p>The claims that survived AND came from only one engine lead the report &#8212; that is the asymmetric edge, made automatic.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!szNl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!szNl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png 424w, https://substackcdn.com/image/fetch/$s_!szNl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png 848w, https://substackcdn.com/image/fetch/$s_!szNl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!szNl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!szNl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Five Claude agents in sequence: Cross-Corroborate, Link &amp; Fact Skeptic x 3 in parallel, Date Skeptic, Usefulness Judge, Final Synthesizer&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Five Claude agents in sequence: Cross-Corroborate, Link &amp; Fact Skeptic x 3 in parallel, Date Skeptic, Usefulness Judge, Final Synthesizer" title="Five Claude agents in sequence: Cross-Corroborate, Link &amp; Fact Skeptic x 3 in parallel, Date Skeptic, Usefulness Judge, Final Synthesizer" srcset="https://substackcdn.com/image/fetch/$s_!szNl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png 424w, https://substackcdn.com/image/fetch/$s_!szNl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png 848w, https://substackcdn.com/image/fetch/$s_!szNl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!szNl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feba73b68-43c0-4aa9-bedf-39c2254b6e20_2400x1800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Fail-fast partial Triple</h2><p>One platform failing does not block the run.</p><p>If Gemini times out at submit, or ChatGPT hits a weekly Deep Research quota you are bumping up against, or Claude's connector modal takes too long to clear &#8212; that platform exits with a clear terminal status. The other two keep going.</p><p>The fact-checker wave then runs on whatever 1, 2, or 3 platforms succeeded.</p><p>The asymmetric-edge thesis still works with two of three engines. You just have less to compare against.</p><p>It even works with one of three. The fact-checker wave still runs and at least filters out the hallucinated cites.</p><p>Partial Triple is degraded, but it is still useful.</p><h2>When NOT to invoke</h2><p>Situations where Triple is the wrong call:</p><ul><li><p><strong>Quick factual lookups.</strong> If your question is something like "What's the population of Boise?" &#8212; one engine is fine. Do not burn 45 minutes on it.</p></li><li><p><strong>Code search.</strong> Use Grep. Triple is not your file finder, and the deep-research engines were not built to scan your repo.</p></li><li><p><strong>Account-specific research.</strong> If you want to know what is happening inside a single account &#8212; the CRM history, the call notes, the billing trail &#8212; use the Dossier Builder skill instead. Triple is for the open web, not for the data you already own.</p></li><li><p><strong>Anything where wall-clock under five minutes matters.</strong> Triple is 15 to 55 minutes by the clock. If you need the answer right now, ask one engine and move on.</p></li></ul><div><hr></div><p>Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.</p><p>Or don't. Annual subscribers install the tool I actually built with one command &#8212; every tool I ship, all 3 courses, weekly office hours.</p><p>&#8594; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/automated-3-deep-research-agents">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[A Tool That Audits All of Your Customer Data]]></title><description><![CDATA[Most customer data is quietly broken. I built a tool that catches it before you waste a day on a wrong report.]]></description><link>https://edge.blueprintgtm.com/p/audit-the-data-before-you-trust-the</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/audit-the-data-before-you-trust-the</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Tue, 26 May 2026 02:07:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3j0E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>May 25, 2026 &#183; Build log</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_!3j0E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3j0E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!3j0E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!3j0E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!3j0E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3j0E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Calligrapher's workshop with an unfinished audit on the page&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/199266994?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Calligrapher's workshop with an unfinished audit on the page" title="Calligrapher's workshop with an unfinished audit on the page" srcset="https://substackcdn.com/image/fetch/$s_!3j0E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!3j0E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!3j0E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!3j0E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6909937-cbae-4af6-90f0-429e054438c7_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The short version</h2><p>I built a new tool. It checks customer data before you try to build anything with it. If the data is broken, the tool stops you. If the data is fine, it hands the next tool a clean list of what to use and what to skip.</p><p>That's it. The rest of this post explains why it matters and how it works.</p><h2>First: what's a customer dossier?</h2><p>Think of it like a one-page report for a single customer. It pulls in everything you know about them &#8212; from your CRM, your billing system, your call recordings, your product analytics, your support tickets &#8212; and lines it up on a timeline. Then it tells you the truth about that account in plain English. Are they active? Are they about to churn? Who do they actually talk to?</p><p>I have a tool called <strong>Dossier Builder</strong> that makes these reports. Point it at a customer's data, and it gives you the dossier.</p><p>But Dossier Builder only works if the data going in is good. And the data is almost never good.</p><h2>Why dossiers usually break</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j382!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j382!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!j382!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!j382!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!j382!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j382!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Three things that wreck dossiers: bad joins, duplicate revenue columns, identity confusion&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/199266994?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three things that wreck dossiers: bad joins, duplicate revenue columns, identity confusion" title="Three things that wreck dossiers: bad joins, duplicate revenue columns, identity confusion" srcset="https://substackcdn.com/image/fetch/$s_!j382!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!j382!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!j382!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!j382!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb620df-3dca-4e69-bb37-493be841f1fd_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Three problems show up in almost every customer's data. Let me explain each one in plain English.</p><h3>Problem 1: Data that doesn't actually match</h3><p>Most companies have multiple systems. A CRM. A billing tool. A call recorder. These systems are supposed to talk to each other. The CRM has a customer ID. The billing tool has a customer ID. Match them up, and you can see one customer across both systems.</p><p><strong>Except the matching is often wrong.</strong> The CRM ID column might point at customers that don't exist in the billing tool. Or the matching rule might be "same email address" &#8212; but two unrelated people have the same email at a big company.</p><p>At one customer I worked with, 282 customer records got matched to the wrong account because of a sloppy email rule. Nobody noticed. Every report built on top of that data was wrong.</p><h3>Problem 2: Too many columns saying the same thing</h3><p>Open a typical Salesforce account, and you'll find six columns that all claim to be "revenue." <em>Annual Revenue</em>. <em>MRR</em>. <em>Monthly Revenue Summary</em>. <em>Reported Revenue</em>. <em>Subscription Revenue</em>. <em>Annual Revenue Range</em>.</p><p>They don't agree with each other. Most of them haven't been updated in 18 months. <strong>None of them are labeled as the "real" one.</strong></p><p>If Dossier Builder picks the wrong column, the dossier shows the wrong revenue. The CEO closes the report. You lose.</p><h3>Problem 3: The same company shows up three times</h3><p>One company can appear in your CRM under three names: the legal name, a brand name, and a "doing business as" name. Each one looks like a separate account. Each one shows half the activity. The real picture is split across all three.</p><p>Sometimes the data is even worse &#8212; a company gets listed as its own parent company, which makes no sense.</p><h2>The fix: check the data first</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UwXw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UwXw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!UwXw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!UwXw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!UwXw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UwXw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A checker stands at the gate, refusing to let the builder pass until the data is clean&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/199266994?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A checker stands at the gate, refusing to let the builder pass until the data is clean" title="A checker stands at the gate, refusing to let the builder pass until the data is clean" srcset="https://substackcdn.com/image/fetch/$s_!UwXw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!UwXw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!UwXw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!UwXw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1867fe8f-cda2-479a-88ba-1e4693655702_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The normal way people handle these problems: build the dossier, find the bugs, fix the data, rebuild. That wastes a whole day.</p><p><strong>My new tool reverses the order.</strong> It runs first. It looks for all three problems. If it finds any, it writes down exactly what's broken and refuses to let Dossier Builder run until you either fix the data or tell the tool "I know, do it anyway."</p><p>I call it the <strong>Dossier Data Auditor</strong>.</p><p>The auditor and the builder talk to each other through a single file. The auditor writes the file. The builder reads it. No human has to copy anything by hand.</p><h2>What it caught when I tested it</h2><p>Before I let the auditor near any real customer data, I tested it against a fake dataset I made up. I deliberately put broken stuff in the fake data. Here's what it caught:</p><ul><li><p><strong>60% of the matches were wrong.</strong> A column that was supposed to connect two tables actually only worked 40% of the time. The auditor labeled this as a hard failure. Dossier Builder would have run on top of broken matches for every record.</p></li><li><p><strong>One company was listed as its own parent.</strong> The auditor caught the loop and flagged that one row for repair.</p></li><li><p><strong>A revenue column that should never be used got picked.</strong> I put a column called <em>Monthly Revenue Summary</em> in the data and marked it as do-not-use. The auditor read the rule, skipped that column, and picked the right one (<em>MRR</em>) instead.</p></li></ul><p><strong>Each catch is the kind of thing that would have broken a real dossier.</strong></p><h2>The rule that makes it trustworthy</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qM3b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qM3b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!qM3b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!qM3b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!qM3b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qM3b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/296740e5-1456-4768-8734-193218d64e45_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Math goes on the bottom. AI reasoning sits on top of the numbers&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/199266994?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Math goes on the bottom. AI reasoning sits on top of the numbers" title="Math goes on the bottom. AI reasoning sits on top of the numbers" srcset="https://substackcdn.com/image/fetch/$s_!qM3b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!qM3b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!qM3b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!qM3b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F296740e5-1456-4768-8734-193218d64e45_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>The auditor does math first, then asks the AI to make a call.</strong> Never the other way around.</p><p>Why this matters: if you let an AI compute numbers directly, it's roughly right most of the time and wrong in unpredictable ways the rest of the time. You can't tell which is which.</p><p>So the auditor does it like this. <strong>Step one</strong>: a small Python script counts how many records in column A have a match in column B. It writes the answer to a file. The answer is a real number. You can check it by hand.</p><p><strong>Step two</strong>: an AI reads that file. The AI's only job is to look at the number and call it <em>pass</em>, <em>warning</em>, <em>soft fail</em>, or <em>hard fail</em>. The AI is allowed to have an opinion. It is not allowed to invent the number.</p><p>This is the load-bearing rule. The math is on disk. The AI is making a judgment call. You can audit either one.</p><h2>The order matters too</h2><p>The auditor checks things in a strict sequence. Each step has to pass before the next one starts.</p><ul><li><p><strong>1. Domains first. </strong>Figure out the real website for each company. Is it the brand site or the corporate site? Both? Neither? Some companies own multiple domains. The auditor uses a stack of tools to ground-truth this.</p></li><li><p><strong>2. Joins second. </strong>Check the matches between systems. Throw out matches that don't survive a real test.</p></li><li><p><strong>3. Revenue third. </strong>Pick the canonical revenue column. Skip the do-not-use ones. Make sure the picked column actually has data in it.</p></li><li><p><strong>4. Sanity last. </strong>Look for impossible combinations. Customers with positive revenue but zero calls in six months. Columns nobody has updated in years. Self-referencing parent companies.</p></li></ul><p><strong>You can't flip this order.</strong> You can't compare revenue across two systems if you don't trust the matches between them. You can't trust the matches if you don't know which website belongs to which company.</p><h2>What it costs to run</h2><p>The math part is free. No AI tokens, no API calls. Just Python running on your laptop.</p><p>The AI part &#8212; eleven small AI helpers, each reading a different number and making a call &#8212; runs about <strong>$8 to $15 per customer-data folder.</strong> A real dossier build costs many times that. So the audit pays for itself the first time it catches anything.</p><p><em>&#8212; Jordan</em></p><p><em>Written with Claude Opus 4.7</em></p><div><hr></div><p>Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.</p><p>Or don't. Annual subscribers install the tool I actually built with one command &#8212; every tool I ship, all 3 courses, weekly office hours.</p><p>&#8594; <a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a>  &#183;  <a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a> <em>(most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/audit-the-data-before-you-trust-the">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Where AI Go-To-Market Is Headed]]></title><description><![CDATA[Intent died. Personalization died. What's coming next is the only thing that compounds.]]></description><link>https://edge.blueprintgtm.com/p/where-ai-go-to-market-is-headed</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/where-ai-go-to-market-is-headed</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Wed, 20 May 2026 16:19:53 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/198141400/45f1937b-5faf-482f-bea4-a719303b501a/transcoded-00001.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_!O-rH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O-rH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!O-rH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!O-rH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!O-rH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O-rH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A sumi-e brush-painted scene at dawn &#8212; dark earth meeting a violet horizon, a single brush stroke crossing into golden light. The frontier where intent and personalization end.&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="A sumi-e brush-painted scene at dawn &#8212; dark earth meeting a violet horizon, a single brush stroke crossing into golden light. The frontier where intent and personalization end." title="A sumi-e brush-painted scene at dawn &#8212; dark earth meeting a violet horizon, a single brush stroke crossing into golden light. The frontier where intent and personalization end." srcset="https://substackcdn.com/image/fetch/$s_!O-rH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!O-rH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!O-rH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!O-rH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83b67efd-3df5-4b05-abcd-829fd0953a15_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Chapters</h2><ul><li><p><strong>00:00</strong> &#8212; Intro</p></li><li><p><strong>01:00</strong> &#8212; Why intent and personalization died</p></li><li><p><strong>05:30</strong> &#8212; The asymmetry engine</p></li><li><p><strong>08:00</strong> &#8212; The librarian who only buys in December</p></li><li><p><strong>11:00</strong> &#8212; Housecall Pro and the vertical data moat</p></li><li><p><strong>13:00</strong> &#8212; Aligning price to customer outcome</p></li><li><p><strong>15:30</strong> &#8212; FundraiseUp and the 7% animated heart</p></li><li><p><strong>18:50</strong> &#8212; A five-day edge on global resin</p></li><li><p><strong>19:50</strong> &#8212; Where this is going</p></li></ul><p>A founder I know sells software to plastic manufacturers. Four thousand of them in the country. Eighty percent of the price of plastic is the cost of resin.</p><p>I asked him what he knew about the cost of resin that his customers didn't.</p><p><em>I know the price five days before they do.</em></p><p>Wall Street has paid billions of dollars to shave nanoseconds off the route between Chicago and New York. He has a five-day gap on a global commodity. I told him to stop building software and become a day trader.</p><p>That's the purest example of where AI go-to-market is going. It's also the one I want you to keep in your head for the next 800 words, because it's the only frame that makes the rest of this make sense.</p><h2>The two dead memes</h2><p>Intent data and personalization both invaded our culture for the same reason. Both of them are dressed up as caring about the buyer. Neither one actually was.</p><p>The original goal of intent was good. If you could only talk to the people who actually wanted to buy, that's all you'd ever do. The problem was the implementation. The category got built on de-anonymizing buyer traffic &#8212; a thing no buyer would ever opt into if you asked. The data was dodgy. You couldn't inspect it. And the message it produced was <em>Hey Jordan, I saw you on our website.</em> Nobody replies to that, because it's not a gift. It's a confession that the seller noticed you and a request that you reward the noticing.</p><p>Personalization went the same way. The B2C version is real. Instagram knows what you click. Amazon knows your size. That's good personalization. The B2B version is <em>Hey Jordan, congratulations on the new role.</em> If you knew I spent only a minute and forty-eight seconds brushing my teeth this morning, that would be a very personal piece of information. It would also have nothing to do with my desire to buy your product.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Oibd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Oibd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Oibd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Oibd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Oibd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Oibd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A pair of tarnished mirrors side-by-side, one labelled \&quot;intent\&quot; and the other \&quot;personalization,\&quot; each reflecting an empty inbox. Two memes that promised buyer-centricity and delivered noise.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A pair of tarnished mirrors side-by-side, one labelled &quot;intent&quot; and the other &quot;personalization,&quot; each reflecting an empty inbox. Two memes that promised buyer-centricity and delivered noise." title="A pair of tarnished mirrors side-by-side, one labelled &quot;intent&quot; and the other &quot;personalization,&quot; each reflecting an empty inbox. Two memes that promised buyer-centricity and delivered noise." srcset="https://substackcdn.com/image/fetch/$s_!Oibd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Oibd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Oibd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Oibd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc45a3b01-bbdf-418d-bdc3-bf47cf2ce662_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Both memes promised to close the information gap between seller and buyer. Both of them did the opposite. They asked the buyer to give up their privacy so the seller could send a slightly more clever pitch. The buyer figured that out years ago. The ad blockers are the receipt.</p><h2>The asymmetry engine is what replaces them</h2><p>I wrote the <a href="https://edge.blueprintgtm.com/p/the-asymmetry-engine">deep doctrine on this last week</a>. Here's the one-paragraph version.</p><p>Sales is a power game. Power flows from information asymmetry. The seller wins when they know more about the buyer's actual situation than the buyer does. Pre-AI, only the top one percent of reps could pull this off &#8212; the ones who'd lived inside one customer for years. Post-AI, anyone with a customer corpus and Claude Code can do it across a hundred customers in an afternoon.</p><p>Your customer transcripts are sitting somewhere. Your back-end has a schema and a few hundred thousand rows. The public web around each customer is one Serper query away. None of it is in the LLM's training set. None of it can be replicated by the recruiter sending <em>cheap labor in the Philippines, 40% off</em> &#8212; and the recruiters sending that exact email outnumber atoms in the universe by a rounding error. They're competing in the saturation zone. You don't have to.</p><p>The asymmetry engine is the machine that turns your private corpus into messages that can't be replicated. That's the whole game.</p><h2>Three companies that already do it</h2><p>Roland runs a company called Housecall Pro. Their pros have worked on one in every three homes in the country. He's said that publicly. Think about what that means. If a new pro signs up tomorrow and ingests their customer list, the platform could turn around and say <em>twenty percent of the homes you worked on, the homeowner has moved &#8212; go figure out where. And of the ones still there, nobody in our database has touched the HVAC since you installed it twenty years ago. Here's a twenty-thousand-dollar job per house. The neighbors are buying this specific unit.</em></p><p>That's not personalization. That's information the pro could not have produced themselves. It is programmatically delivered. It is the asymmetry engine running over a vertical SaaS data moat.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!o33R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!o33R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!o33R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!o33R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!o33R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!o33R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A row of identical houses with golden threads connecting their basements underground, only some glowing &#8212; Housecall Pro's pros have touched one in three. The corpus is the moat.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A row of identical houses with golden threads connecting their basements underground, only some glowing &#8212; Housecall Pro's pros have touched one in three. The corpus is the moat." title="A row of identical houses with golden threads connecting their basements underground, only some glowing &#8212; Housecall Pro's pros have touched one in three. The corpus is the moat." srcset="https://substackcdn.com/image/fetch/$s_!o33R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!o33R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!o33R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!o33R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe6ae4f6-a874-4321-9e5f-fbb2830cc685_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>FundraiseUp is the second one. They collect donations for nonprofits. UNESCO is on the platform. Their founder told me on stage that they don't charge a flat fee. They charge a percentage of donations collected. So every lever they can pull always points the same direction &#8212; increase the customer's conversion rate.</p><p>He told me a story. Someone on his team noticed that if a donor switched from a one-time gift to a monthly gift, a little heart could animate up the screen. There was no PRD. No product manager pitched it. It was a twenty-minute build with AI. It moved monthly-donation conversion seven percent. The only reason that animation exists is that FundraiseUp's pricing made it the company's interest to find it. If they charged a flat fee, nobody on the team would have been looking.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!63C-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!63C-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!63C-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!63C-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!63C-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!63C-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A small golden heart rising from a donation form on a dark screen, brush-painted &#8212; outcome-aligned pricing means a twenty-minute build with AI is worth seven percent.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A small golden heart rising from a donation form on a dark screen, brush-painted &#8212; outcome-aligned pricing means a twenty-minute build with AI is worth seven percent." title="A small golden heart rising from a donation form on a dark screen, brush-painted &#8212; outcome-aligned pricing means a twenty-minute build with AI is worth seven percent." srcset="https://substackcdn.com/image/fetch/$s_!63C-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!63C-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!63C-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!63C-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3933a3dc-ee32-418b-b2db-029eeb114858_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That's what pricing aligned to customer outcome buys you. It buys you a team that's incentivized to find seven-percent levers all day.</p><p>The third one is the resin guy at the top of this post. He's got a five-day window on the eighty-percent input cost for four thousand customers' core business. Every customer interaction he has should start with <em>here's what's coming for you in five days, no pricing yet, what would you do with it?</em> The software he's building is the wrapper. The five-day window is the actual business.</p><h2>Where this is going</h2><p>Three things compound from here.</p><p><strong>Vertical wins.</strong> It is much easier to build the asymmetry engine when you own one industry's data than when you sell a horizontal tool to engineers and lawyers and HR teams. The horizontal businesses I love still need a vertical wedge &#8212; a specific customer transcript pile, a specific schema, a specific public-web slice &#8212; or they cannot direct the model. Pick one.</p><p><strong>Pricing aligns to outcome.</strong> When the customer wins more, you make more. FundraiseUp is the simplest case. Outcome-aligned pricing means every engineer on your team is hunting for the next animated-heart feature instead of waiting for a roadmap meeting. The companies that do this will lap the companies that don't.</p><p><strong>Your moat is the data, not the workflow.</strong> The compliance review, the dashboard, the AI agent &#8212; all wrappers. The thing flowing through the wrapper is what compounds. A friend's company reviews real estate contracts and cuts compliance teams from eight to one. I told him: the contracts are the business. Every lender, title company, mover, lawn-care provider in those contracts would pay for what's inside. Sometimes you give the workflow away to mine the data.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9rer!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9rer!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!9rer!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!9rer!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!9rer!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9rer!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A customer transcript folder open on a dark desk at dawn, a single brush stroke curving toward a glowing terminal cursor &#8212; the morning question that starts the asymmetry engine.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A customer transcript folder open on a dark desk at dawn, a single brush stroke curving toward a glowing terminal cursor &#8212; the morning question that starts the asymmetry engine." title="A customer transcript folder open on a dark desk at dawn, a single brush stroke curving toward a glowing terminal cursor &#8212; the morning question that starts the asymmetry engine." srcset="https://substackcdn.com/image/fetch/$s_!9rer!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!9rer!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!9rer!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!9rer!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6efe18f0-5448-45a7-898f-71e41f7ffcdb_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The question to ask tomorrow morning</h2><p>The question is not <em>what would my buyer be persuaded by?</em> The question is <em>what do I know about my buyer's situation that they would pay to learn?</em> If you can answer it specifically, you have an asymmetry engine. If you can't, you have an intent vendor in a new coat.</p><p>Open one of your customer's transcripts tomorrow morning. Pull the back-end schema for the table they care most about. Ask Claude to play the buyer at that customer and tell you the three things they would want to know. Read the answer. Push back twice. Ship the survivor as a gift &#8212; no meeting ask, no demo button, just the data.</p><p>You will know within a week whether the engine is running. The replies will tell you.</p><p>&#8212; <em>Written by Claude Opus 4.7, Approved by Jordan</em></p><div><hr></div><h2>What Annual Adds</h2><p>This one was free. Paid gets the build. Annual gives you the tools that run it.</p><ul><li><p><strong>Every tool I ship.</strong> Edge Copilot installs to your Claude Code &#8212; talk to all my knowledge, every method, every data source. Current: Edge Copilot, AutoClaygent, Agent 7, Who to Target and What to Say, Blueprint Cloud, Technology Finder, Video List Extractor, Competitor Monitor, LinkedIn Engagement, Domain &amp; LinkedIn Finder, Dossier Builder, PDF Contact Finder, Talent Sourcer. Whatever ships next is included.</p></li><li><p><strong>All 3 courses:</strong> Who to Target and What to Say, Agent 7, AutoClaygent.</p></li><li><p><strong>Weekly office hours.</strong></p></li></ul><p>Run <em>/edge install asymmetry-engine</em> once your license key arrives &#8212; the runnable mining loop from the <a href="https://edge.blueprintgtm.com/p/the-asymmetry-engine">Asymmetry Engine post</a> drops into your Claude Code in one command.</p><p>License key hits your email.</p><p>&#8594; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p>]]></content:encoded></item><item><title><![CDATA[A Claude Code skill for AI audits]]></title><description><![CDATA[The skill that turns a team's chat export, git repos, and an admin key into a CEO deck. Eleven sections. Thirty minutes.]]></description><link>https://edge.blueprintgtm.com/p/a-claude-code-skill-for-ai-audits</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/a-claude-code-skill-for-ai-audits</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Mon, 18 May 2026 16:30:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JDhb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg" 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_!JDhb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JDhb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JDhb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JDhb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JDhb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JDhb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A Claude Code skill for AI audits &#8212; eleven sections distilled from a team's Claude usage.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/198151229?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A Claude Code skill for AI audits &#8212; eleven sections distilled from a team's Claude usage." title="A Claude Code skill for AI audits &#8212; eleven sections distilled from a team's Claude usage." srcset="https://substackcdn.com/image/fetch/$s_!JDhb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JDhb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JDhb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JDhb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F706a2a08-dd21-4573-9237-9fab906372c7_1456x1048.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>May 17, 2026 &#183; Build log</em></p><p>Every CEO running a Claude rollout has the same question and no good way to answer it. Is our AI investment paying off? Who's actually shipping with these tools versus chatting with them? Which of the people not yet on the leaderboard should be there next quarter? The deployment report is how I answer that question for a client.</p><p>(If you read about <a href="https://edge.blueprintgtm.com/p/the-67k-anthropic-bill-that-wasnt">the $67K bill that wasn't</a> earlier today: that came out of this same skill. The deck this thing renders is what sat under the panic.)</p><p>Here's the public version of the deck I built for a healthcare org. Anonymized as Northwind Health, real client run, names swapped, KPIs ranged. Eleven sections. About a fifteen-minute read for the CEO.</p><p>&#8594; <a href="https://playbooks.blueprintgtm.com/ai-deployment-report-public-demo">Open the Northwind Health AI Deployment Report</a></p><p>Scroll it while reading the rest of this. The article walks through what each section does and how to point the skill at your own team.</p><h2>The three inputs</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zw-C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zw-C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zw-C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zw-C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zw-C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zw-C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Three inputs go in: an Anthropic chat-export ZIP, local git repos, and an admin API key. One HTML page comes out.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/198151229?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three inputs go in: an Anthropic chat-export ZIP, local git repos, and an admin API key. One HTML page comes out." title="Three inputs go in: an Anthropic chat-export ZIP, local git repos, and an admin API key. One HTML page comes out." srcset="https://substackcdn.com/image/fetch/$s_!zw-C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zw-C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zw-C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zw-C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda944e4c-ef26-4c33-9485-c7506d679c26_2400x1200.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Three things go in. One HTML page comes out in about thirty minutes.</p><p><strong>One. An Anthropic chat-history export ZIP.</strong> Every Claude conversation your team had during the reporting window. Individuals export from <em>claude.ai &#8594; Settings &#8594; Data privacy controls &#8594; Export</em>. Org admins export from inside <em>console.anthropic.com &#8594; Privacy &#8594; Export organization data</em> &#8212; Anthropic has full instructions at <a href="https://privacy.claude.com/en/articles/13346720-export-your-organization-s-data">privacy.claude.com on exporting org data</a>. The ZIP arrives by email. Drop it in <em>~/Downloads/</em>.</p><p><strong>Two. Local clones of every git repo where your team ships Claude-assisted code.</strong> The skill walks every commit across every repo, attributes by email, separates partner commits from staff commits, narrates multi-repo cutovers in one line, surfaces the people writing real code from the people running chat experiments. For Northwind that meant two repos and four months of history.</p><p><strong>Three. An Anthropic admin API key.</strong> Create one at <em>console.anthropic.com &#8594; Settings &#8594; Admin API keys &#8594; Create new key</em>. The format starts with <em>sk-ant-admin-</em>. <strong>Rotate it the second the run finishes</strong> &#8212; it stops being useful and shouldn't live anywhere long. Without it, the report tells the people-and-shipping story. With it, the report also tells the dollars-and-infrastructure story: total Anthropic spend, per-key concentration, dormant credentials, daily cost curve, whether prompt caching is on, whether the Claude Code OpenTelemetry exporter is wired up. Both stories together are what makes the deck CEO-grade.</p><p>Set the key in your shell, then run one command from the skill's root:</p><pre><code>export ANTHROPIC_ADMIN_KEY=sk-ant-admin-...
bash run.sh ~/Downloads/data-&lt;export-id&gt;-batch-0000.zip --client &lt;your-client&gt; --publish</code></pre><p>Thirty minutes later the deck lands at <em>playbooks.blueprintgtm.com/&lt;your-slug&gt;</em>, behind a JS password gate until you tell the team the code.</p><h2>What's in the deck</h2><p>Eleven sections, each answering a specific CEO question. I'll group them.</p><p><strong>The first two answer "where are we."</strong> Section one carries anchor KPIs from the client's existing exec deck plus the headline gap underneath &#8212; for Northwind, 91 people use Claude regularly, 3 of them ship code. That gap is the story the rest of the deck unpacks. Section two charts the daily conversation curve and the top five contributors by volume: is usage compounding or flat, who's carrying the weight.</p><p><strong>Section three is the money section.</strong> Daily Anthropic spend curve. Monthly totals. Per-key concentration. Dormant credentials. Prompt-caching status. Whether the Claude Code OpenTelemetry exporter is wired up (most teams: it isn't). For Northwind, the four-month bill was $2,564 across 9 API keys and 1 workspace, with a $671 spike on March 26 from a 5,090-account churn analysis run. Section three only renders when the admin API key was set at run time.</p><p>The first time I built this section I read the cost-report endpoint's <em>amount</em> field as USD. It's in cents. I missed the unit on the first pass and almost shipped a deck with the totals off by 100&#215;. The full story is <a href="https://edge.blueprintgtm.com/p/the-67k-anthropic-bill-that-wasnt">the companion piece to this article</a>. The fix lives at <em>scripts/cost_units.py</em> &#8212; every cost-report read in the skill now routes through <em>cents_to_usd()</em>. If you fork this, do the same.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ciq-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ciq-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ciq-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ciq-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ciq-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ciq-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;$2,564 across four months, nine API keys, one workspace, with a $671 spike on March 26.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/198151229?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="$2,564 across four months, nine API keys, one workspace, with a $671 spike on March 26." title="$2,564 across four months, nine API keys, one workspace, with a $671 spike on March 26." srcset="https://substackcdn.com/image/fetch/$s_!ciq-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ciq-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ciq-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ciq-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861a277e-223d-4168-a75f-f36b5136f95e_2400x960.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Sections four and five answer "who's shipping."</strong> Section four is a shipping-gap table: every chat-active user plotted against their commits, lines, and chat overlap, partners separated from staff, multi-repo cutovers narrated in one line. Section five is the leaderboard. Every active user gets a row &#8212; archetype pill, six-attribute radar, a verbatim conversation quote as evidence, and a two-sentence exec read of who they are. The six attributes &#8212; deep functional expertise, creative problem solver, organized and structured, driver, trusted peer, learns fast &#8212; each scored 1 to 5 against actual conversation evidence and commit subjects. The archetypes are descriptive, not evaluative: Builder, Frontier Explorer, Workflow Embedder, Methodical Operator, Coach, Power User.</p><p><strong>Section six is the punchline of the people story.</strong> Functional AI Lead candidates. For departments that already have a federated AI lead, a featured "lead in action" card profiles them &#8212; what they built, what's working, what they should build next, what risk to manage. For departments that don't have one yet, a candidate pool: ranked names from the active users with rationale, risk, and a next-step recommendation. The CEO closes the deck with a short list of people to promote.</p><p><strong>Sections seven through ten are the "what's repeatable" layer.</strong> Top projects &#8212; the ones where the team wrote knowledge files in, so a new hire can pick up the work. Theme map &#8212; what the team uses AI for, with top contributors per theme. Recurring use cases &#8212; the patterns where multiple people are repeating the same task, the obvious Tiger Team productization targets. Best prompts gallery &#8212; 12 exemplary prompts the team should already be sharing internally, each with a one-line "why this is good" rationale.</p><p><strong>Section eleven is the action layer.</strong> 9 concrete moves the CEO should make in the next 60 days &#8212; 6 people-and-process moves plus 3 Anthropic-spend moves (the spend moves auto-inject when the admin API was set). Each move is one sentence. The CEO closes the tab with a punch list.</p><h2>Every paragraph in the deck got polished by a second skill</h2><p>Every LLM-generated prose block in the deck runs through a second pass before render. There's a skill called <em>wtf</em> baked in as pipeline stage <em>10_wtf_polish.py</em>. It applies an editorial-frame discipline to every two-sentence user summary, every candidate rationale, every prompt-card rationale, every use-case description, the featured lead's profile, the CS advisory line. It kills the standard AI tells &#8212; <em>delve</em>, <em>robust</em>, <em>leverage</em> as a verb, em-dash plus negation, "X. Not Y." reversals, BLUF-at-the-end. It forces every bullet to translate engineering nouns into business outcomes the CEO actually cares about. Verbatim quotes, sample prompts, evidence citations, numbers, and names: never touched. Only the prose around them.</p><p>Why bake it in? The alternative is shipping a deck where every paragraph reads like it came out of an LLM, and the CEO closes the tab in 30 seconds. The wtf pass costs about $2 and 30 seconds per deck. There's no version of this skill that skips it.</p><h2>Cost expectations and the discipline that catches mistakes</h2><p>The full pipeline costs roughly $70 to $100 per client run. Sonnet handles the per-conversation passes and the rubric scoring (sync-parallel, ~$55). Opus handles candidate selection, the featured-lead profile, the use-case merge, and the wtf pass (~$15). Haiku handles an optional defensible-counts codebook assignment (~$5).</p><p>Every LLM stage routes through a pre-flight cost-guard at <em>tools/llm-cost-guard/cost_guard.py</em>. Under $100 estimated: print and proceed. $100 to $1,000: prompt for <em>y</em> interactively. Above $1,000: type the dollar amount as a <em>--confirm-spend</em> flag matching the estimate within $5. Above $10,000: type a second <em>--i-mean-it</em> flag. The tiers are hardcoded so a runaway can't sneak through.</p><h2>The artifact</h2><p>&#8594; <a href="https://playbooks.blueprintgtm.com/ai-deployment-report-public-demo">Browse the public Northwind Health deployment report</a></p><p>Scroll the whole thing. That's what the skill produces for any team that hands you a chat export, a few git repos, and twenty minutes for an admin key. The deck pictured above is what your team's looks like &#8212; point the skill at your inputs.</p><p><em>&#8212; Jordan</em></p><p><em>Written with Claude Opus 4.7</em></p><div><hr></div><p>Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.</p><p>Or don't. Annual subscribers install the tool I actually built with one command &#8212; every tool I ship, all 3 courses, weekly office hours.</p><p>&#8594; <strong>Go annual &#8212; $2,499/yr</strong> &#8212; <a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual</a>  &#183;  <strong>Start at $50/mo</strong> &#8212; <a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly</a> <em>(most readers start here)</em></p>
      <p>
          <a href="https://edge.blueprintgtm.com/p/a-claude-code-skill-for-ai-audits">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The $67K Anthropic Bill That Wasn't]]></title><description><![CDATA[The chart said one day cost $67k. The summary card agreed. Forty-seven minutes of panic engineering later, I found the bug.]]></description><link>https://edge.blueprintgtm.com/p/the-67k-anthropic-bill-that-wasnt</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/the-67k-anthropic-bill-that-wasnt</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Sun, 17 May 2026 15:50:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1D0w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>May 14, 2026 &#183; Build log</em></p><p>It's a Wednesday afternoon, 2:47 on the clock. I'm at my desk pulling four months of Anthropic billing + usage data for a client, and I'm about to send the CEO a deck that walks him through what his team spent on Claude this quarter. The deck has already rendered, and I open Section 03 &#8212; the part where I show him the costs &#8212; and I freeze.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://edge.blueprintgtm.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">On the Edge by Blueprint is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The summary card at the top says total spend for the four-month window was $256,409.51. A quarter of a million dollars. Underneath, the chart breaks the spending out by day. The biggest single day, March 26, shows $67,129.87 (that was the day I was most active for the client&#8212;shit!). The next biggest, April 7, shows $25,348.28. The one beneath it, April 15, shows $21,063.70.</p><p>I read all of it twice. Then I read the summary card again. Two hundred and fifty-six thousand dollars.</p><p>I have a meeting with the CEO at 3:15 (not really, but Claude LOVED THE DRAMA). That gives me twenty-eight minutes to figure out how to tell him that his company spent a quarter-million dollars on Claude that nobody knew about and it was mostly me and my champion BTW.</p><p>So I do the panic move. I go back into Section 03 and rewrite the headline at the top. Where it used to say <em>Cost forensic &#8212; Q1</em>, it now says <em>One day cost 50&#215; what it should have</em>. I add a red dotted line on the chart at $67,000 to pull the eye toward the spike. I write three bullet points underneath, the kind that pretend you noticed the problem all along and you already have a plan. I save the file and refresh the browser. Now the deck looks like I found a fire and I'm already putting it out.</p><p>Then I start putting the fire out for real.</p><p>I open a new file in the project and start writing a safety check. The idea is simple. Any time someone in our code is about to fire off a big batch of Claude calls, this check has to compute the estimated cost first and refuse to send if the number crosses certain lines. Under a hundred dollars, it prints the estimate and goes ahead. Between a hundred and a thousand, it pauses and asks the person to type <em>y</em> before it continues. Between a thousand and ten thousand, it makes them type the actual dollar amount as a command-line flag, so a typo can't silently authorize a four-figure spend. Above ten thousand, it demands a second flag on top of that &#8212; <em>--i-mean-it</em>. I save, I commit, and I move on.</p><p>Next I open the code that runs the agent swarm &#8212; the script that I now believe burned a quarter-million dollars over four months. There's a setting on the long block of instructions that Claude reads at the start of every job, called the system prompt. If you mark the system prompt as cacheable, Anthropic charges you full price the first time it sees it and then about a tenth of that on every repeat. The swarm sends the same system prompt thousands of times in a row. I turn caching on, save, commit.</p><p>Then I write the cost rules into our project's instructions file. Not once. Three times. One copy at the top of my home folder, so any Claude session anywhere on my laptop reads them. One copy in the main company repo, so any project there inherits the same rules. One copy in the agent swarm's own folder, so an engineer working only on that orchestrator can't miss them. Three copies means somebody who wants to skip the safety check has to override the rule in three different places. That's not a quiet mistake anymore.</p><p>Twenty-three commits later, forty-seven minutes have gone by. My phone buzzes. The CEO meeting has been pushed to tomorrow &#8212; he's in something else (also this is not true&#8212;BUT OH THE DRAMA CLAUDE).</p><p>I go back to the deck. I want to triple-check Section 03 before I send it. Just one last thing &#8212; I want to read the documentation for the page Anthropic gives me to check what I spent (TBH I just said, BRO SUPER CHECK THIS OUT). Just to confirm what the numbers on that page actually mean.</p><p>I open the docs. I find the description for the field that the chart and the summary card both read from. And I see this sentence:</p><blockquote><p><em>"amount: string &#8212; Cost amount in lowest currency units (e.g. cents) as a decimal string. For example, '123.45' in 'USD' represents $1.23."</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1D0w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1D0w!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1D0w!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1D0w!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1D0w!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1D0w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The single sentence in the Anthropic docs that ended the panic&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The single sentence in the Anthropic docs that ended the panic" title="The single sentence in the Anthropic docs that ended the panic" srcset="https://substackcdn.com/image/fetch/$s_!1D0w!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1D0w!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1D0w!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1D0w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e1d02f5-f033-4135-9041-a5a7281d13a8_2400x1120.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I read it three times.</p><p>The number isn't dollars. The number is cents.</p><p>I open a small new file. I write a tiny function that takes the number Anthropic's page hands back and divides it by a hundred. I run it on the spike row. $67,129.87 becomes $671.30. I run it on the next biggest day. $25,348.28 becomes $253.48. I run it on the summary card. $256,409.51 becomes $2,564.10.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gkI0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gkI0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gkI0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gkI0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gkI0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gkI0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;$67,130 &#8594; $671. The chart said cents. I read dollars.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="$67,130 &#8594; $671. The chart said cents. I read dollars." title="$67,130 &#8594; $671. The chart said cents. I read dollars." srcset="https://substackcdn.com/image/fetch/$s_!gkI0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gkI0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gkI0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gkI0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd28a6751-78b5-4af5-b35c-f6c67e4ef5d5_2400x960.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The chart wasn't saying sixty-seven thousand dollars. It was saying sixty-seven thousand cents. The summary card wasn't saying a quarter of a million dollars. It was saying a quarter of a million cents.</p><p>The whole deck was off by the same factor. The chart and the summary card hadn't been disagreeing with each other &#8212; they had been agreeing, but in the wrong units. Every dollar number in Section 03 had a decimal point that hadn't been moved over two places.</p><p>I want one more check before I trust the corrected reading. The same page Anthropic uses to report cost also reports raw usage &#8212; how many tokens they billed, broken out by model. I add those up across the four months. About forty-four million Opus input tokens. Two-and-three-quarter million Opus output tokens. Four hundred and fifty-nine million Sonnet input tokens. Sixty-two million Sonnet output tokens. I multiply each row by Anthropic's published rate for that model, and I add the results up. The total comes to about $3,200. That's in the same neighborhood as the corrected $2,564 from the bill itself. The bill is real. The rendering was just off by two decimal places.</p><p>I revert the deck. The <em>One day cost 50&#215; what it should have</em> headline goes back to <em>Q1 spend forensic</em>. The red spike annotation drops from $67,130 down to $671. The summary card drops from a quarter-million to $2,564. The bullet points come out. Section 03 now reads the way a normal cost forensic should read &#8212; one day in March with a $671 spike sitting among many days under $10. Still an outlier worth flagging, but at a sane order of magnitude.</p><p>Then I sit with the rest of it. The safety check. The caching setup. The three different copies of the rules. The twenty-three commits I made in forty-seven minutes for a fire that wasn't a fire.</p><p>I revert nothing else. Here is why.</p><p>&#8212;</p><p><strong>The Anthropic billing page traps you with cents disguised as dollars.</strong> The field that returns the cost &#8212; the one every chart and dashboard and executive deck reads from &#8212; is in cents. The field right next to it says the currency is <em>"USD"</em>, as if it were reassuring you. The first three times I read the documentation, my eye skipped past the example tucked inside the parenthetical that spells out the units. The wrong reading and the right reading look identical on the page &#8212; both show a number, a currency, a date. There is no warning on the chart that something is off. The fix is one division. The danger is that there is nothing in the data itself that tells you the division is needed.</p><p><strong>Claude is bad at predicting what Claude costs.</strong> The deck-generation script that produced Section 03 was written by me with Claude. Every single read of the cost field &#8212; the chart, the summary card, the per-model breakdown, every dollar on every page of the section &#8212; went through code that Claude wrote and that treated the cents value as dollars. Claude did not catch the units. Claude could not catch the units. The same model I'd been using to write the script had no internal sense of what API costs are or what magnitudes are plausible. It will dutifully render whatever number an endpoint hands back, in whatever units, without flinching. If you are about to spend money on a Claude job, or about to tell anyone what a Claude job cost, you cannot ask Claude what the answer is. You have to compute it yourself, against Anthropic's published rates, before you send a single request or ship a single chart to anyone who matters.</p><p><strong>The defaults that produced the misread are still bad defaults.</strong> The agent swarm was running on Opus, the most expensive model. It wasn't caching the system prompt, which means it was paying the full price for the same long block of instructions thousands of times in a row. There was no pre-flight cost check anywhere in the path. The actual four-month bill turned out to be small &#8212; about $2,500 &#8212; only because the client's workload was small. Run the same configuration against a workload a hundred times bigger &#8212; a customer-facing AI tool with 50,000 daily users, a production agent loop that runs all day &#8212; and the bill stops being small. It becomes the kind of bill that ends careers. The deck didn't show $256K today. The next deck can.</p><p>So I revert the deck. I revert nothing else.</p><p>&#8212; Jordan</p><p><em>Written with Claude Opus 4.7</em></p><p>&#8594; <strong><a href="https://edge.blueprintgtm.com/subscribe?annual=true">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://edge.blueprintgtm.com/subscribe">Start at $50/mo</a></strong> <em>(most readers start here)</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://edge.blueprintgtm.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">On the Edge by Blueprint is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Your LLM writes 3,000 words. Your CRO reads for 30 seconds.]]></title><description><![CDATA[I built the editorial layer that closes the gap &#8212; five questions, an AI-tell lint, and a chart agent that mostly says "no chart." Shipped today.]]></description><link>https://edge.blueprintgtm.com/p/your-llm-writes-3000-words-your-cro</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/your-llm-writes-3000-words-your-cro</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Thu, 14 May 2026 17:22:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6EjJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.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_!6EjJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6EjJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!6EjJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!6EjJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!6EjJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6EjJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hero &#8212; 60% of every LLM draft is bloat&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="Hero &#8212; 60% of every LLM draft is bloat" title="Hero &#8212; 60% of every LLM draft is bloat" srcset="https://substackcdn.com/image/fetch/$s_!6EjJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!6EjJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!6EjJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!6EjJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7248d354-ba86-479c-8889-c5c76afff2ec_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I asked Claude to write me an exec brief on customer churn. It produced 3,214 words. The recommendation was on page 4. The action layer didn't exist.</p><p>This is what every LLM does. Generates. Piles. Buries the point under "comprehensive analysis." A CRO opens it, gives it 30 seconds, can't find what to do, closes the tab.</p><p>I rebuilt that brief by hand. Took the same 3,214 words and cut them to 1,180. Moved the recommendation to sentence one. Added a "So what" block under every section &#8212; specific verb, specific artifact, by when. Picked one chart out of the eight the LLM produced. Killed the rest.</p><p>The result was a 30-second read. Same insight. Cleaner.</p><p>I did this for the third time this week and stopped. The pattern was always the same. I was doing the same five operations every time:</p><p>1. Find what's important</p><p>2. Cut what doesn't need to be there</p><p>3. Surface what the reader will actually do with this</p><p>4. Specify how they take action</p><p>5. Reorder the whole thing so the answer is first</p><p>So I built it.</p><h2>The five questions</h2><p>That's the Editorial Frame. Every section of the input gets scored 1&#8211;5 on each question. Default verdict is `cut`. You only `keep` a section when it earns it.</p><p>The questions map to the canon every exec-comms expert agrees on. Tufte's data-ink ratio answers question one &#8212; what's important. Doumont's signal-to-noise answers question two &#8212; what needs to be there. The military's BLUF doctrine answers three and four &#8212; what to do, how to do it. Minto's Pyramid answers five &#8212; how it's layered, with the answer first.</p><p>That's the whole methodology. Five questions. No frameworks-on-top-of-frameworks. No PowerPoint templates. Just the question every executive is silently asking when they open the document: <em>what do I do, why, and by when?</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_!uE30!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uE30!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png 424w, https://substackcdn.com/image/fetch/$s_!uE30!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png 848w, https://substackcdn.com/image/fetch/$s_!uE30!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!uE30!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uE30!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;LLM default vs the cutter &#8212; the five questions, applied&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="LLM default vs the cutter &#8212; the five questions, applied" title="LLM default vs the cutter &#8212; the five questions, applied" srcset="https://substackcdn.com/image/fetch/$s_!uE30!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png 424w, https://substackcdn.com/image/fetch/$s_!uE30!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png 848w, https://substackcdn.com/image/fetch/$s_!uE30!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!uE30!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea62e68d-6385-4dd3-8abd-0cfaf225bb64_2400x1580.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The lint engine</h2><p>The skill runs lint on its own output. Not the kind you run on code. The kind that catches LLM tells.</p><p>Twelve patterns the model loves and a CRO hates. Any hard hit blocks publish:</p><pre><code>reversal cliffhanger      The X wasn't the Y. The X was the Z.
antithesis tic            It is not just X, it is Y.
throat-clearing opener    "In today's...", "As we all know..."
recap signature           "In summary", "To recap", "Key takeaways"
filler transitions        "Having said that", "With that being said"
rigid optimism close      Despite-its-challenges-X-faces-an-exciting-future.
imagine-a-world opener    "Imagine a world where..."
magic-adverb verbs        "quietly transforms", "fundamentally changes"
vague attribution         "studies suggest", "experts argue"
schema leaks              Internal vocabulary in customer-facing prose
inline code chips         Single-line backtick chips scattered through paragraphs
em-dash overuse           &gt; 0.15 per sentence (GPT-4.1 uses 3.3&#215; the human rate)</code></pre><p>Plus the AI vocabulary &#8212; the words every LLM reaches for and no executive uses:</p><pre><code>delve, leverage, robust, seamless, holistic, synergy, paradigm,
empower, harness, streamline, cutting-edge, best-in-class, ecosystem,
game-changer, unlock, elevate, disrupt, tapestry, landscape, notably,
moreover, furthermore, utilize, underscore, pivotal, transcend, navigate,
testament, realm</code></pre><p>Any hard hit fires the block. One auto-retry with the lint output piped back into the rewriter. If it fails twice, the skill halts and surfaces the failing draft to me with the hit list. I either edit or override with a written reason. Never silently bypass.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aS0B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aS0B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!aS0B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!aS0B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!aS0B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aS0B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;30 seconds &#8212; the window a CRO gives you&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="30 seconds &#8212; the window a CRO gives you" title="30 seconds &#8212; the window a CRO gives you" srcset="https://substackcdn.com/image/fetch/$s_!aS0B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!aS0B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!aS0B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!aS0B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9597f2bf-73d8-460b-8525-049a9b757137_1456x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The chart agent</h2><p>Most LLMs produce charts the way they produce prose. Too many. Mostly decorative. Sometimes misleading.</p><p>I gave the chart job to a dedicated sub-agent that reads Tufte first. Twelve rules, applied in order. First match wins:</p><ul><li><p>Single number, no comparison &#8594; no chart (doesn't beat the sentence)</p></li><li><p>Two numbers, simple ratio &#8594; no chart (bold the numbers in prose)</p></li><li><p>Prose already carries the comparison ("37% vs 12%") &#8594; no chart</p></li><li><p>Time series, 5 points or fewer &#8594; sparkline inline</p></li><li><p>Categorical, 7 categories or fewer, ranked &#8594; horizontal bar, sorted descending</p></li><li><p>Categorical, 8 to 25 categories &#8594; dot plot (Cleveland: position beats length beats angle beats area)</p></li><li><p>Anything pie-shaped &#8594; bar chart. Always.</p></li><li><p>A chart is required <em>only</em> when removing it loses information the prose can't carry</p></li></ul><p>The agent has read Cleveland on perceptual encoding. Stephen Few on chartjunk. Bertin on visual variables. Cole Nussbaumer Knaflic on attention. Alberto Cairo on truthful visualization. Not as decoration. As constraints.</p><p>If charts are required, the skill upgrades the output to HTML automatically. A warning prints. The reader gets the brief styled like the playbooks at playbooks.blueprintgtm.com.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lKIZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lKIZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!lKIZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!lKIZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!lKIZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lKIZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;12 Tufte chart rules &#8212; first match wins, most fire 'no chart'&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="12 Tufte chart rules &#8212; first match wins, most fire 'no chart'" title="12 Tufte chart rules &#8212; first match wins, most fire 'no chart'" srcset="https://substackcdn.com/image/fetch/$s_!lKIZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!lKIZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!lKIZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!lKIZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb8d3d9-e8a1-488b-b716-cc3327d5be35_1456x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What it doesn't do</h2><p>It doesn't generate AI hero images. Stock-illustration energy has no place on an exec brief.</p><p>It doesn't add words to feel "complete." Length isn't depth. The hard cap is 60% of the original word count. Output bigger than 65% gets re-fired with "cut harder."</p><p>It doesn't write what the reader already knows. Methodology sections are the first thing the editor agent flags as `cut`.</p><p>It doesn't mention itself in the output. The polished brief is the brief &#8212; not a meta-document about how the brief was produced. The reader has never heard of this skill and doesn't need to.</p><h2>The customer voice problem</h2><p>Generic exec briefs feel like they could apply to anyone. The fix is the customer's actual words.</p><p>My internal version pulls the last meeting transcript from my Sybill stash for whatever company the brief is about. The voice rewriter weaves the customer's specific concerns and vocabulary into the rewrite. The CRO reads it and thinks "this is about us, not a template."</p><p>Subscribers don't have my Sybill access. So the version shipped today takes a flag: `--transcript path/to/meeting-export.md`. Drop in any meeting file &#8212; Sybill export, Gong, Otter, Fathom, raw notes, anything text &#8212; and the skill ingests it as customer-voice context.</p><p>The output lands as a local file. The polished markdown copies to your clipboard automatically. Paste into a Google Doc, Substack, email, Slack. Whatever your delivery surface is, it's already on your clipboard.</p><h2>What I learned</h2><p>Most "AI bloat" isn't an AI problem. It's an editorial problem we never solved.</p><p>Humans have been writing bloated exec briefs since before LLMs existed. The 60-page consultant deck for a one-sentence recommendation. The "executive summary" that's longer than the substance below. The chart that exists because the slide needed three charts.</p><p>What LLMs did is industrialize it. The bloat got cheap. The volume went up. The editorial cost &#8212; the cost of a real human cutting the thing to what matters &#8212; stayed the same.</p><p>The skill is what happens when you make the editorial discipline mechanical. Five questions, applied every time. Lint that blocks the LLM tells. A chart agent that knows when not to make a chart.</p><p>The 30-second window is the only thing that matters to your reader. Build for it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W3ux!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W3ux!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png 424w, https://substackcdn.com/image/fetch/$s_!W3ux!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png 848w, https://substackcdn.com/image/fetch/$s_!W3ux!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!W3ux!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W3ux!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Pull quote &#8212; most AI bloat isn't an AI problem&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Pull quote &#8212; most AI bloat isn't an AI problem" title="Pull quote &#8212; most AI bloat isn't an AI problem" srcset="https://substackcdn.com/image/fetch/$s_!W3ux!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png 424w, https://substackcdn.com/image/fetch/$s_!W3ux!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png 848w, https://substackcdn.com/image/fetch/$s_!W3ux!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!W3ux!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a12618-e536-40de-95a5-4bb8327d1f28_2400x1580.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>&#8212; Written by Claude Opus 4.7, Approved by Jordan</em></p><div><hr></div><p>Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.</p><p>Or don't. Annual subscribers install the tool I actually built with one command &#8212; every tool I ship, all 3 courses, weekly office hours.</p><p>&#8594; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/your-llm-writes-3000-words-your-cro">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Only AI Input Your Will Ever Need to Make Your GTM go from WTF to OMG]]></title><description><![CDATA[Pain Segment was never the deepest move. This is.]]></description><link>https://edge.blueprintgtm.com/p/the-asymmetry-engine</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/the-asymmetry-engine</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Wed, 13 May 2026 16:41:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BWvm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>The Asymmetry Engine</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BWvm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BWvm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!BWvm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!BWvm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!BWvm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BWvm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Tilted scale, brush-painted in sumi-e ink wash &#8212; golden information particles flowing toward one side. Information asymmetry is the whole game.&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="Tilted scale, brush-painted in sumi-e ink wash &#8212; golden information particles flowing toward one side. Information asymmetry is the whole game." title="Tilted scale, brush-painted in sumi-e ink wash &#8212; golden information particles flowing toward one side. Information asymmetry is the whole game." srcset="https://substackcdn.com/image/fetch/$s_!BWvm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!BWvm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!BWvm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!BWvm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17897e17-0cfa-4567-a889-b7f9d3055917_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A founder showed me his dashboard.</p><p>He runs an AI tool that watches alcohol ads for large consumer brands. White Claw. Aperol. Suntory. The thing scans a video, flags music it can't license, flags any frame that implies the drink is solving someone's anxiety, flags whatever six dozen things a Czech regulator can sue you for. He'd just gotten his first wave of customers and was setting up cold email for the first time. He led every email with a screenshot of his dashboard.</p><p>I told him to scrap the screenshot.</p><p>Same week, a guy on the call before him runs go-to-market for a lending infrastructure startup. Eighteen customers. Six-figure ACVs. Each customer launches a few products a year &#8212; credit cards, buy-now-pay-later, personal loans. He's tried everything. PQS-style outbound. Signal scraping. Predictleads jobs. He can find the companies that announced new lending products. He just can't get a reply.</p><p>Both of them are stuck. Both of them are working hard. Both of them are about to learn the same thing, which is that pain segment isn't the deepest move I teach.</p><p>It's an application of the deepest move I teach.</p><p>The deepest move is information asymmetry. Manufacture more information about the buyer's situation than the buyer has. Then deliver the insight as a complete gift the buyer can use without ever replying to you. Pre-AI, only the top 1% of reps could do this &#8212; the ones who'd lived inside one customer for so long they basically <em>became</em> them. Post-AI, anyone with eighteen customer transcripts and Claude Code can do it across an entire customer corpus in a long afternoon.</p><p>I'm calling the system that produces it the asymmetry engine.</p><p>Pain Segment, PVP, PQS, Working Backwards, Old World vs. Jordan's World &#8212; the whole framework lattice you've been reading from me for the last year &#8212; they're all applications of this single underlying move. I want to lay it out end-to-end. The law that runs underneath. The four moves that flip the game. The mining loop you can run on your customer base this week. And the way the existing frameworks slot in once the master frame is clear.</p><p>This one's long. Pour another coffee.</p><div><hr></div><h2>The Asymmetry Law</h2><p>Sales is a power game. Power flows from information asymmetry. Whoever knows more about the buyer's actual situation has the upper hand. That's the whole thing.</p><p>Most reps lose this game on day one. They walk in with a deck. The buyer walks in with their actual job, their actual quarterly number, their actual fired-CFO ghost, their actual lawsuit they almost lost in Q2, and the ten Slack threads about whether the thing the rep sells will save them or get them fired. The buyer has more information than the rep. The asymmetry runs the wrong way. The pitch fails. The rep blames the copy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pK3u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pK3u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!pK3u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!pK3u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!pK3u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pK3u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A tilted scale of justice with golden information particles flowing toward one side &#8212; most reps walk in with less information than the buyer. The asymmetry runs the wrong way.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A tilted scale of justice with golden information particles flowing toward one side &#8212; most reps walk in with less information than the buyer. The asymmetry runs the wrong way." title="A tilted scale of justice with golden information particles flowing toward one side &#8212; most reps walk in with less information than the buyer. The asymmetry runs the wrong way." srcset="https://substackcdn.com/image/fetch/$s_!pK3u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!pK3u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!pK3u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!pK3u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc17ab0d6-6ad7-4dc0-b9f0-d5770d9f37cd_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Top-1% reps have always inverted this. They've sold to enough people in the same role to know, before the buyer opens their mouth, what the buyer is going to say next. They know the lawsuit. They know the number. They know the ghost. When the buyer talks, they're not gathering &#8212; they're confirming. That's why those reps close.</p><p>The catch was always that you had to spend years being them to know them. The German entrepreneur I always think about wanted to start a dental billing company. So he found a dentist in San Francisco and worked for free for six months filing bills. He learned that molar replacements are the most common thing a dentist invoices. He learned every step of the process from the inside. Then he built software that replaced his job. His first customer was the dentist he'd been working for. Every other customer felt like he was reading their mind, because effectively he was.</p><p>That used to be the whole skill. Live inside one customer until your guesses about every other customer were ground truth.</p><p>It isn't anymore. The asymmetry engine is what replaces it.</p><h3>The god-customer question</h3><p>The new question &#8212; the one nobody could ask before language models &#8212; is this. <strong>If your buyer were a god, with infinite reach, and they had access to everything you know about every customer who came before them, what would they ask?</strong></p><p>Not what's their pain. Not what's their persona. Not how do I personalize the second line of the email.</p><p>What would a god-buyer want to know?</p><p>I asked the lending-infrastructure guy this on the call. He had eighteen customers. They'd launched somewhere between two and four products each. That's roughly seventy product launches across his platform &#8212; credit cards, buy-now-pay-later, personal loans, refi products. Every single one had transaction data sitting in his database. Every single one had a story. Some of them died at six months. Some of them tripled the customer's portfolio. He'd never asked, across the seventy of them, what the launch-day signal was that separated the dead from the tripled.</p><p>A god-buyer would. A god-buyer doesn't care about his dashboard. A god-buyer wants to know: <em>if I launch a credit card next quarter at 7% APR, what's my pickup curve going to look like, based on every other 7% credit card that launched on this platform?</em></p><p>That question wasn't askable in 2023. The data was sitting in a Postgres table. The customer was sitting in their office worrying about it. Nobody could connect the two without a six-month consulting engagement and a SQL analyst. Now you can connect them with a Claude Code session and a sample of the schema.</p><p>This is the move. Stop selling product. Start asking the god-buyer question.</p><h3>Why AI made this not just possible but necessary</h3><p>A buddy of mine is an AE at a payroll-and-benefits company. Top quartile of his team. He told me last week that the SDRs at his company aren't sourcing him pipeline anymore. They got replaced. Not by him. By Claude. The average AE got replaced too &#8212; the one who sends <em>I saw you raised money, can I have some.</em> The one who sends <em>I noticed you're hiring a benefits administrator, our payroll product is the best solution.</em> That whole tier is gone. AI does it now. Probably better. Definitely cheaper.</p><p>So the floor moved up. The bar to get a meeting got higher. If your message reads like the average AE wrote it, your message is competing with a robot army doing the same thing for free.</p><p>The only thing that beats the robot army is data the robot army doesn't have.</p><p>That's your customer interviews. That's your transaction histories. That's your support transcripts. That's the seventy product launches sitting in your back-end. None of it's on the public web. None of it's in the LLM's training set. None of it can be replicated by the recruiter sending the "I saw you're hiring, we have cheap labor in the Philippines" email &#8212; and let me tell you, the volume of recruiters sending that exact email is greater than atoms in the universe by maybe one rounding error. They are competing in the saturation zone. You don't have to.</p><p>Your customer corpus is the moat. It's the only moat that works in 2026. The asymmetry engine is the machine that turns the corpus into messages that can't be replicated.</p><p>That's the law. Now the moves.</p><div><hr></div><h2>The Inversion</h2><p>The lending-infrastructure guy on the call asked me a fair question. <em>How do you actually do this? Like, what's the practice?</em></p><p>The practice is four moves. Three of them are about how you think before you ever open a Claude Code window. The fourth one is the running. Today's article is about the thinking move-set, then the running. Let's start with the thinking.</p><h3>The kidnap-engineer test</h3><p>Imagine your customer broke into your office, kidnapped your engineering team, and got root access to your data. They can only do three things before the cops arrive. What are they?</p><p>Sounds insane. It works. The reason it works is that it forces you off your product and onto their actions. An engineer with access to your seventy product launches isn't going to look at your dashboard. They're going to write three SQL queries that answer what they personally need to ship next month and have nothing else.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ar6d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ar6d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Ar6d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Ar6d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Ar6d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ar6d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;One key unlocking four parallel doors at once, golden light spilling out &#8212; the kidnap-engineer test produces three or four high-leverage queries, not a dashboard.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="One key unlocking four parallel doors at once, golden light spilling out &#8212; the kidnap-engineer test produces three or four high-leverage queries, not a dashboard." title="One key unlocking four parallel doors at once, golden light spilling out &#8212; the kidnap-engineer test produces three or four high-leverage queries, not a dashboard." srcset="https://substackcdn.com/image/fetch/$s_!Ar6d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Ar6d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Ar6d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Ar6d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1f85142-a145-4475-b264-34c8d99cadb0_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For the lending guy, those three queries probably look like <em>give me the pickup curve for every credit card we launched at 6.8% to 7.2% APR, normalized for issuer size.</em> And <em>give me the sign-up bonus value where pickup peaks and starts to flatten.</em> And <em>give me the personal-loan products that died inside six months and what they had in common.</em></p><p>Three queries. Three answers. Three messages he can ship to seventy companies that he knows are thinking about lending products this year.</p><p>That's the kidnap-engineer test. It's the inversion of the GTM question. You don't ask <em>what would my buyer be persuaded by?</em> You ask <em>what would my buyer's most resourceful colleague steal if they could?</em> Then you ship them what they would have stolen, without the kidnapping.</p><h3>Inhabit the customer's mind</h3><p>The quality of every piece of GTM work you do is set by how much of the buyer's mind you can inhabit.</p><p>I mean this almost literally. The German dental guy who worked at the dentist for six months &#8212; that's the gold standard. He went and lived inside the buyer until he stopped guessing. The reason he was the gold standard is that nobody else was willing to do it. Working at a dental office for six months for free is unpleasant. So almost no one did it. So the few who did had a permanent edge.</p><p>The asymmetry engine isn't a substitute for inhabiting the customer's mind. It's the only known way to inhabit a hundred customers' minds at once instead of one. You take every transcript a customer has ever recorded, every email a customer has ever sent you, every transaction in your back-end, and you ask Claude to <em>act as this person at this company launching this kind of product. What questions would you ask of this data?</em></p><p>Then you read the answers. Then you push back. Then you ask three more times until the answers stop sounding like a robot puked them up. Then you go to a real customer &#8212; even just one &#8212; and ask, <em>would you respond to this?</em> And you listen to the no.</p><p>That's the inhabit step. The model is your speed. The customer is your ground truth. You need both.</p><h3>The differentiation trap</h3><p>The reason this matters more than ever is that everyone else is sending the same message.</p><p>A guy on the call last week wanted to sell a recruiting service. Cheap labor from the Philippines, 30-40% discount on hires. He asked me what he should write in the cold email. I told him not to send it. Every recruiting agency on Earth is sending the exact same email. <em>I saw you're hiring a senior engineer. We can save you 40%.</em> It's not that the offer is bad. The offer might be great. The problem is that the buyer has heard the same sentence eight hundred times this quarter. The message has zero differentiation. The buyer has no reason to read past the subject line.</p><p>The asymmetry engine breaks the trap by giving you something nobody else can say. Not because you're a better writer. Because you have data they don't have, and a question they couldn't ask, and an answer they didn't get last week from any of the eight hundred clones.</p><p>When you have that, the message practically writes itself. When you don't, no amount of merge-tag wizardry saves you.</p><p>That's the inversion. Now the engine itself.</p><h2>Who Gets This</h2><p>You've got the doctrine. Below the line is the build.</p><ul><li><p><strong>Free:</strong> what you just read &#8212; the law, the inversion, why it matters now.</p></li><li><p><strong>$50/mo</strong> <em>(most readers start here)</em>: the mining loop &#8212; the actual Claude Code prompt, the four data layers, the worked example for the lending case, the permissionless-gift template, and the way every existing framework I teach slots into this master frame.</p></li><li><p><strong>$2,499/yr:</strong> Every tool I ship. Edge Copilot is how you talk to all of it through Claude Code. Current tools: Edge Copilot, AutoClaygent, Agent 7, Who to Target and What to Say, Blueprint Cloud, Technology Finder, Video List Extractor, Competitor Monitor, LinkedIn Engagement, Domain &amp; LinkedIn Finder, Dossier Builder, PDF Contact Finder. Whatever ships next is included. Plus all 3 courses and weekly office hours.</p></li></ul><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/the-asymmetry-engine">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Stop sampling candidates. Search them all.]]></title><description><![CDATA[Why every plausible company belongs in your search &#8212; and why employees of your competitors get the boost.]]></description><link>https://edge.blueprintgtm.com/p/stop-sampling-candidates-search-them</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/stop-sampling-candidates-search-them</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Tue, 12 May 2026 17:05:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1dVT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.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_!1dVT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1dVT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!1dVT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!1dVT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!1dVT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1dVT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;9,000+ companies searched. Not 50. &#8212; Build Log hero&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/197241942?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="9,000+ companies searched. Not 50. &#8212; Build Log hero" title="9,000+ companies searched. Not 50. &#8212; Build Log hero" srcset="https://substackcdn.com/image/fetch/$s_!1dVT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!1dVT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!1dVT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!1dVT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f3df7e6-76d5-430e-87be-7fd6157c9101_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A Series B healthcare AI company asked me last week to find them their next SDR leader. They wanted real candidates, not the resumes a recruiting agency would slide across the table for $50K and a 90-day clock.</p><p>So I built the recruiter instead.</p><p>The first version was a Sunday-afternoon hack. I pointed <a href="https://blitz-api.ai/?utm_source=blueprint&amp;utm_medium=on+the+edge&amp;utm_campaign=recruiter+post&amp;utm_term=jordancrawford">Blitz API</a> at every company in my filter, fired the LinkedIn employee-finder against each one, ran the resulting candidates through Claude to score them, scraped fresh profiles with RapidAPI on the survivors. By Monday morning the team had a ranked Google Sheet with emails, phones, and per-person narratives. The recruiting agency would still be reading the JD.</p><p>That afternoon I kept thinking the same sentence over and over: this is a tool, not a one-off. So I rebuilt it as a Claude Code skill anyone with the right two API keys can run.</p><p>Annual subscribers install it now: <em>/edge install talent-sourcer</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_!I7tm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I7tm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!I7tm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!I7tm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!I7tm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I7tm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da518615-772d-4d04-a25f-092f5def5b33_2400x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Pull quote: You don't sample the universe. You search every company that fits the filter.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/197241942?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Pull quote: You don't sample the universe. You search every company that fits the filter." title="Pull quote: You don't sample the universe. You search every company that fits the filter." srcset="https://substackcdn.com/image/fetch/$s_!I7tm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!I7tm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!I7tm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!I7tm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda518615-772d-4d04-a25f-092f5def5b33_2400x1120.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Why most recruiting pipelines lose</h2><p>The default move when you're sourcing is to pick the 50 most obvious companies and search inside those. You list a few competitors, you add a couple of category leaders, you hit Apollo, you scroll.</p><p>That's the same move that makes outbound terrible. You sampled the universe &#8212; and the sample is small, predictable, and identical to whatever every other recruiter is doing the same morning.</p><p>Here's the thing: Blitz is flat-rate. $399/mo for unlimited people search and unlimited company search. The only constraint is queries-per-second &#8212; five for most accounts, twenty&#8594;fifty for agency tier.</p><p>So the architecture changes. You don't sample. You search every company that fits the filter.</p><p>For the SDR leader role, that meant 9,000+ NYC companies in the headcount band. The pipeline pulled every plausible person from every one of them. About four hours of compute on the slow tier. Thirty minutes on the fast one.</p><p>This is the asymmetry engine applied to hiring. Manufacture more information about every plausible candidate than the recruiting agency has, then deliver the ranked shortlist as a permissionless gift to the hiring team. They didn't ask for it. They couldn't have. You did the work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c6qn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c6qn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!c6qn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!c6qn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!c6qn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c6qn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Search every plausible company across a wide landscape, then narrow to a ranked shortlist&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/197241942?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Search every plausible company across a wide landscape, then narrow to a ranked shortlist" title="Search every plausible company across a wide landscape, then narrow to a ranked shortlist" srcset="https://substackcdn.com/image/fetch/$s_!c6qn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!c6qn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!c6qn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!c6qn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa83a2b37-02e3-4191-9fe6-dc70ba9072ff_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The competitor bonus</h2><p>Most scoring agents look at the candidate in isolation. Skills, tenure, trajectory, location.</p><p>I added one more dimension.</p><p>If a candidate works at a direct competitor of the company hiring, they get an automatic ranking boost. The agent flags it explicitly in the output.</p><p>This is obvious once you say it. A competitor's SDR leader already knows the buyer. They know the industry's objections. They probably know your customers by name because they've lost to them &#8212; or won them. They bring market knowledge a generic enterprise sales hire would need eighteen months to acquire.</p><p>Recruiters know this intuitively but rarely build it into the search. The pipeline does.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KUyx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KUyx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!KUyx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!KUyx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!KUyx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KUyx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Competitor employees already know your customers &#8212; golden threads of recognition between two figures&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/197241942?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Competitor employees already know your customers &#8212; golden threads of recognition between two figures" title="Competitor employees already know your customers &#8212; golden threads of recognition between two figures" srcset="https://substackcdn.com/image/fetch/$s_!KUyx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!KUyx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!KUyx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!KUyx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5688e0ec-da82-4aaf-8da4-ade6107402c2_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Score the company first, then the person</h2><p>Here's the move that turned the A-rated list from "interesting" to "good."</p><p>Most tools score people in isolation. They don't know what the candidate's employer actually does.</p><p>A "VP Sales" at a 50-person healthcare AI company is a different human from a "VP Sales" at Oracle. Same title, same headline, almost no overlap in actual work. The first runs a pod of three SDRs and writes the messaging themselves. The second manages four directors and lives in QBRs.</p><p>Before the scoring agents see any candidate, the pipeline enriches their employer. Blitz pulls the company data &#8212; headcount, industry, stage. A separate worker downloads the homepage. Thirty companies in parallel. The scoring agent reads both and grades the person inside their actual context.</p><p>You stop seeing a list of titles and start seeing a list of people doing comparable work to the role you're hiring for.</p><h2>What the team gets</h2><p>The output is two URLs. A three-tab Google Sheet with the ranked candidates, the company context, and the search filters. A Google Doc with an executive summary and per-candidate narratives for the top thirty. Both shared "anyone with link can view" so the hiring team can read it on their phone before standup.</p><p>A recruiting agency for an SDR leader role is twenty to fifty thousand dollars and three months. The pipeline is two API subscriptions and an afternoon. You read the same shortlist either way &#8212; except the pipeline tells you which two of those candidates currently work at your direct competitor.</p><p>That's the trade.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Tcf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Tcf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!7Tcf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!7Tcf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!7Tcf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Tcf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;$399/mo Blitz API: unlimited search. vs $20K&#8211;$50K agency fee per hire.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/197241942?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="$399/mo Blitz API: unlimited search. vs $20K&#8211;$50K agency fee per hire." title="$399/mo Blitz API: unlimited search. vs $20K&#8211;$50K agency fee per hire." srcset="https://substackcdn.com/image/fetch/$s_!7Tcf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!7Tcf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!7Tcf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!7Tcf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F995ffefd-911f-4627-b08b-1a7e0c70d1b6_2400x960.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>&#8212; Written by Claude Opus 4.7, Approved by Jordan</em></p><div><hr></div><p>Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.</p><p>Or don't. Annual subscribers install the tool I actually built with one command &#8212; every tool I ship, all 3 courses, weekly office hours.</p><p>&#8594; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/stop-sampling-candidates-search-them">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Lauren Sent a 16-Page Doc. I Sent Back 4,614 Cardiologists.]]></title><description><![CDATA[First pass got 88. Then I noticed I was throwing out 4,500 confirmed amyloid prescribers. Here's what changed.]]></description><link>https://edge.blueprintgtm.com/p/lauren-sent-a-16-page-doc-i-sent</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/lauren-sent-a-16-page-doc-i-sent</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Mon, 11 May 2026 15:28:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dr5r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.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_!dr5r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dr5r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!dr5r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!dr5r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!dr5r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dr5r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Hero &#8212; ink wash over a calligraphy table, OTE seal in gold&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196912546?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Hero &#8212; ink wash over a calligraphy table, OTE seal in gold" title="Hero &#8212; ink wash over a calligraphy table, OTE seal in gold" srcset="https://substackcdn.com/image/fetch/$s_!dr5r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!dr5r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!dr5r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!dr5r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d5b3596-c24d-49af-85db-d5d1098dd357_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>May 7, 2026 &#183; Build log</em></p><p>Lauren is an AE at Ultromics. They make EchoGo &#8212; an AI that reads echocardiograms and flags two conditions doctors miss for years. Heart failure with preserved ejection fraction, and a stiff-heart disease called cardiac amyloidosis. The amyloidosis one is the bigger deal. Up to eighty percent of cases go undiagnosed. There are drugs that work, but only if you find the patient in time.</p><p>She sent me a 16-page doc. 163 hospitals across 13 western states. Specific titles she needed. ICD codes for the conditions her product catches. Drug brand names &#8212; Vyndaqel, Attruby, Amvuttra, the whole amyloid playbook.</p><p>She asked for 50 to 100 contacts.</p><p>I dropped the doc into Claude Code with one prompt &#8212; <em>one-shot this, build it as a micro-app, push the result to a Sheet and email her</em>. Then I went to make coffee or probably just dicked around online.</p><p>Thirty minutes later: 88 cardiologists, a Google Sheet shared with her, a Gmail draft sitting in my inbox. Done.</p><p>Then I looked at the data the build had produced along the way and got annoyed.</p><h2>The architecture was wrong</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QrVp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QrVp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!QrVp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!QrVp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!QrVp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QrVp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51a94023-699b-428e-a998-f09154005bd3_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Two doors &#8212; one labeled \&quot;buildings,\&quot; one labeled \&quot;people\&quot; &#8212; and only one of them leads anywhere useful&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196912546?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two doors &#8212; one labeled &quot;buildings,&quot; one labeled &quot;people&quot; &#8212; and only one of them leads anywhere useful" title="Two doors &#8212; one labeled &quot;buildings,&quot; one labeled &quot;people&quot; &#8212; and only one of them leads anywhere useful" srcset="https://substackcdn.com/image/fetch/$s_!QrVp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!QrVp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!QrVp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!QrVp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51a94023-699b-428e-a998-f09154005bd3_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Here's what the first pass did. For each of the 76 hospitals on Lauren's list, run a LinkedIn waterfall by leadership title. Director of Echo, Chief of Heart Failure, Amyloid Program lead. Match what comes back against a federal physician registry. Score each candidate. Send Lauren the top 88.</p><p>What the first pass <em>also</em> did, but threw away &#8212; pull every cardiologist in her 13-state territory from that federal registry. Score each one on Medicare prescribing data and pharma payment data. 9,668 cardiologists. 4,531 of them had at least one signal that said <em>this person is treating amyloidosis or HFpEF right now</em>. 50 of them scored at the ceiling &#8212; confirmed Tafamidis prescribers, paid by Pfizer or BridgeBio for it, also writing the heart-failure pills that go alongside.</p><p>The first pass kept 88 of those 4,531 and threw out the other 4,443. Why? Because I asked it to start from the hospital list and walk to the people. So if a cardiologist's hospital wasn't well-indexed on LinkedIn, or if Blitz's company-page database had a stale slug, or if the title-match threshold was tuned a hair too tight, the entire human disappeared from the output. Even the ones who were named on the relevant pharma company's "doctors we paid this year" public file.</p><p>A LinkedIn waterfall with no LinkedIn page is no waterfall at all. It's a sieve with no holes.</p><h2>The fix</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kWww!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kWww!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!kWww!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!kWww!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!kWww!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kWww!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A single cardiologist NPI lighting up across three signal columns &#8212; Rx, Pharma, SGLT2 &#8212; like a constellation forming&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196912546?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A single cardiologist NPI lighting up across three signal columns &#8212; Rx, Pharma, SGLT2 &#8212; like a constellation forming" title="A single cardiologist NPI lighting up across three signal columns &#8212; Rx, Pharma, SGLT2 &#8212; like a constellation forming" srcset="https://substackcdn.com/image/fetch/$s_!kWww!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!kWww!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!kWww!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!kWww!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc062ad55-5e4f-4b11-88ee-a8ea00db383a_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Flip the architecture. Start from the people, not the buildings.</p><p>Pull every Medicare cardiologist in the territory. Score each one on three signals:</p><pre><code>Signal 1: Did they prescribe Tafamidis or Acoramidis through Medicare Part D?
Signal 2: Did they take pharma payments tagged to ATTR-CM drugs from
          Pfizer, BridgeBio, or Alnylam?
Signal 3: Did they prescribe Jardiance or Farxiga, the SGLT2 inhibitors
          that anchor HFpEF treatment?</code></pre><p>Each signal is worth one to three points. The ceiling is eight. Then take the top 4,614 &#8212; everyone with at least one signal &#8212; and look them up on LinkedIn one at a time, by name, against the company page of any hospital they appear at. Tier them by signal score and title fit.</p><p>Same data sources. Same APIs. Different starting point. The result was 4,614 cardiologists instead of 88. 745 Tier A. 1,088 Tier B. 2,781 Tier C. 4,613 with a verified practice phone. 505 with a direct cell on top of that. 162 with a verified work email.</p><p>The 48 highest-scoring contacts include three cardiologists at Houston Cardiovascular Associates &#8212; Arvind Bhimaraj, Joggy K. George, and Barry Trachtenberg &#8212; who collectively wrote thousands of Tafamidis prescriptions through Medicare last year. There is no world in which Lauren's product is not relevant to those three people. EchoGo's whole pitch is <em>we will help you find more amyloidosis patients before they need a heart transplant</em>. Bhimaraj's day job is running the heart transplant program.</p><p>The first pass missed all three of them.</p><h2>The data layer is the unfair advantage</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iFLU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iFLU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!iFLU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!iFLU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!iFLU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iFLU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Three federal data pillars &#8212; physician registry, prescription claims, pharma payments &#8212; holding up the whole build&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196912546?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three federal data pillars &#8212; physician registry, prescription claims, pharma payments &#8212; holding up the whole build" title="Three federal data pillars &#8212; physician registry, prescription claims, pharma payments &#8212; holding up the whole build" srcset="https://substackcdn.com/image/fetch/$s_!iFLU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!iFLU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!iFLU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!iFLU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faebc4226-e7d8-4ed3-b334-5d31084c0859_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Three federal data sets sit underneath this whole thing. None of them are gated. None of them are expensive. All of them have been sitting there forever.</p><pre><code>NPPES         &#8212; every licensed physician in America, with name,
                address, specialty, phone. 9,668 cardiologists in
                Lauren's territory.
CMS Part D    &#8212; every Medicare-paid prescription, by physician,
                by drug brand, by year. Tells you who actually
                prescribes Tafamidis vs. who just talks about it.
Open Payments &#8212; every dollar pharma paid each physician, tagged
                to product. Tells you which doctors are believers
                deep enough that Pfizer paid them to teach others.</code></pre><p>Most "AI lead list" tools don't touch any of these. The people who build them grew up in B2B SaaS where the data layer is Apollo, ZoomInfo, LinkedIn scraping. That's the whole stack. They've never met an NPI number. They look at a LinkedIn profile that says <em>Cardiologist</em> and call it a day.</p><p>For healthcare, that's a five-out-of-ten signal. The ten-out-of-ten signal is <em>this person prescribed Vyndaqel forty-three times last year and Pfizer paid them eight thousand four hundred dollars for it</em>. That cardiologist is, with near-certainty, treating amyloidosis patients today. They don't need to be convinced the disease exists. They need a better diagnostic tool.</p><p>That's what Lauren sells.</p><h2>What the micro-app looks like</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9XNa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9XNa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!9XNa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!9XNa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!9XNa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9XNa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ebe66385-5645-4329-b800-a18dc36ac66f_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Six-stage pipeline laid out as a series of inkwell stations, each handing the next a refined cardiologist record&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196912546?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Six-stage pipeline laid out as a series of inkwell stations, each handing the next a refined cardiologist record" title="Six-stage pipeline laid out as a series of inkwell stations, each handing the next a refined cardiologist record" srcset="https://substackcdn.com/image/fetch/$s_!9XNa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!9XNa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!9XNa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!9XNa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febe66385-5645-4329-b800-a18dc36ac66f_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The whole thing lives at <em>tools/ultromics-echogo/</em> in my repo. Eight stage scripts plus the v2 reroute. Three YAML data files &#8212; the hospital list, the title cascade, the clinical-signal config. One orchestrator. Re-runnable quarterly when Lauren's pipeline shifts. Forkable for the next medical-device AE who hands me a similar brief &#8212; change the specialty taxonomy, swap the drug list, point at a new territory, ship.</p><p>Six stages, in order:</p><pre><code>1. Load 76 target hospitals from her doc, drop the 7 already
   in pipeline.
2. Pull the Medicare cardiologist roster for AZ + CA + NV + OR
   + TX + 8 extended states. 9,668 names.
3. Attach Part D + Open Payments + SGLT2 signals. 4,531 light up.
4. Look each one up on LinkedIn by name, against the hospital
   their NPI registers them at. Loose name match &#8212; first-and-last,
   not full middle-initial &#8212; because cardiologists register their
   NPI with full middle name and LinkedIn shows first-last.
5. Send the top 4,614 to a judge. The judge is Claude Opus 4.7.
   Each candidate scored on title fit, program fit, signal
   strength. Tier A / B / C / drop.
6. Find phones and emails. The federal registry already has
   the practice phone for everyone. Layer FullEnrich on top
   for direct cells. Use Blitz reverse-lookup on the LinkedIn
   URL for emails.</code></pre><p>Total wall clock for the v2 run: about an hour, mostly waiting on the federal data exports and the third-party phone enrichment polling.</p><p>The interesting part is not that this works. The interesting part is that it works <em>as a per-client micro-app</em>, not a generic lead-gen tool. Lauren's territory, Lauren's titles, Lauren's drug list, Lauren's exclusion list. The next AE who walks in with a niche brief and a federal registry I haven't met yet &#8212; say, a fire-safety vendor with a state OSFM roster, or an electrical-permit prospector with municipal license data &#8212; gets the same skeleton with the data layer swapped. That is the unlock.</p><p>The data layer is the thing. If you are building leads for a niche where there is a federal or state registry &#8212; physicians, contractors, lawyers, real-estate agents, truck operators, fire marshals, any of them &#8212; and you skip that registry in favor of <em>let me scrape LinkedIn</em>, you have already lost. Someone else will pull the registry one day and beat you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nO5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nO5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!nO5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!nO5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!nO5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nO5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A printed call sheet of cardiologist names and direct numbers, ready to dial &#8212; the artifact at the end of the pipeline&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196912546?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A printed call sheet of cardiologist names and direct numbers, ready to dial &#8212; the artifact at the end of the pipeline" title="A printed call sheet of cardiologist names and direct numbers, ready to dial &#8212; the artifact at the end of the pipeline" srcset="https://substackcdn.com/image/fetch/$s_!nO5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!nO5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!nO5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!nO5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1661f7be-7d68-4cd9-b28d-9562864cc517_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For Lauren, the win was specific. She has 4,614 cardiologists today she did not have yesterday. 745 of them are exactly the kind of physician EchoGo was built for. 48 of them are at the ceiling &#8212; confirmed amyloid treaters with pharma checks to match. She is going to call them this week.</p><p>The data layer made that call possible.</p><p><em>&#8212; Written by Claude Opus 4.7, approved by Jordan</em></p><div><hr></div><p>Below is the geeky version. The paste-into-Claude recipe that rebuilds this whole thing for whatever niche you are working on &#8212; assuming there is a federal registry underneath it.</p><p>Or skip the rebuild. Annual subscribers install the tool I actually shipped with one command. Every tool I ship, all 3 courses, weekly office hours.</p><p>&#8594; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/lauren-sent-a-16-page-doc-i-sent">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Matt asked to see Claude Code, I Showed Him How to Get Outcomes Instead]]></title><description><![CDATA[An hour. Three tabs: every Chili-palooza attendee scored, every brand from my playbook archive, his Monday call list.]]></description><link>https://edge.blueprintgtm.com/p/matt-asked-to-see-claude-code-i-showed</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/matt-asked-to-see-claude-code-i-showed</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Sun, 10 May 2026 17:06:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HvGm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.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_!HvGm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HvGm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!HvGm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!HvGm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!HvGm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HvGm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Purple ink splash with gold constellation path&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196912752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Purple ink splash with gold constellation path" title="Purple ink splash with gold constellation path" srcset="https://substackcdn.com/image/fetch/$s_!HvGm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!HvGm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!HvGm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!HvGm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fd97a07-eea6-4224-aafc-c2f634e942a0_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>My friend <a href="https://www.linkedin.com/in/matt-braley-3aa3301b/">Matt Braley</a> was at Chili-palooza last week with me.</p><p>He texted me. He wanted to see Claude.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://edge.blueprintgtm.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">On the Edge by Blueprint is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Most people, when they say that, they want a demo. Watch me type a prompt. Watch the cursor blink. Watch a paragraph of marketing copy appear. Then they nod. Then they go home and don't change anything.</p><p>That's not what I do anymore.</p><p>I told Matt to come over. We sat down. I opened my laptop. I said, <em>"What do you actually need."</em></p><p>He's a CRO. He sells big-deal vertical SaaS, and he advises a portfolio of AI companies. He was at a conference and wanted to follow up with people. He wanted leads &#8212; not in general, leads scored against him.</p><p>Sixty minutes later he walked out with one Google Sheet. Three tabs. Every tab was a working list he could call on Monday, all three graded against the same one-page rubric of who Matt actually is.</p><p>This is what showing Claude looks like now.</p><h2>The three tabs</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!40sV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!40sV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!40sV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!40sV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!40sV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!40sV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Three vertical spreadsheet tabs filling with rows&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196912752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three vertical spreadsheet tabs filling with rows" title="Three vertical spreadsheet tabs filling with rows" srcset="https://substackcdn.com/image/fetch/$s_!40sV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!40sV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!40sV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!40sV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29283d5e-07d5-4bf4-8ab2-7c4d83d2984e_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>First, the rubric. Before any of the three tabs, we built one file: <em>matt_profile.md</em>. I pasted in his LinkedIn, then ran three sub-agents in parallel to enrich what was missing &#8212; his AI advisor portfolio, his investor network from Stage 2 Capital, his exit history at EngageSmart. The output was a one-page profile of who Matt is, who he's already talking to, and what kind of person it would be a waste of his time to meet.</p><p>Every score on every tab grades against that file. Same rubric, three populations. That's the only reason any of this means anything.</p><h3>Every attendee at the conference, scraped and enriched</h3><p>Matt sent a screenshot. Some WhatsApp group from the conference had dropped a link: <em>&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;.lovable.app</em>. Chili-palooza had built a Lovable app that listed every attendee &#8212; name, company, title, LinkedIn URL, all alphabetized A through Z.</p><p>Claude OCR'd the URL out of the screenshot. Loaded the Lovable app. Walked every letter section A&#8211;Z. Pulled 138 attendees into a CSV with name, title, company, and LinkedIn.</p><p>Then enrichment. For every attendee Claude pulled the full LinkedIn profile via RapidAPI &#8212; work history, location, headline, photo. Then the company side: what the company does, headcount, funding stage. Then FullEnrich for cell phone and personal email on every row.</p><p>That's one tab. 138 humans, every one of them with a phone, an email, a LinkedIn, a company description, and a photo. Matt didn't make this. He didn't pay for this. Chili-palooza handed him an A&#8211;Z directory and we turned it into a contactable spreadsheet in about fifteen minutes.</p><h3>Every Series A&#8211;D vertical SaaS startup that raised in the last year</h3><p>This tab has nothing to do with the conference. This tab is about the rest of Matt's year.</p><p>I host 501 public go-to-market playbooks at <a href="https://playbooks.blueprintgtm.com">playbooks.blueprintgtm.com</a>. Every one is a real vertical SaaS deal I've worked or modeled &#8212; the company, the segment, the pain, the data signal. Three years of pattern library.</p><p>I asked Claude: take all 501. Filter to the ones where the company itself raised Series A through D in the last twelve months &#8212; that's Matt's investing band. Find the CEO, the founder, the CRO, the president. Find their email. Find their phone. Score every one of them against Matt's same rubric.</p><p>It's an eight-stage pipeline. Each stage writes a checkpointed CSV so I can re-run any step. Stage 1 loads the 501. Stage 2 hits Exa for funding news on every domain and uses GPT-4o-mini to extract the round and date &#8212; 501 in, 54 out. Stage 3 resolves each surviving domain to LinkedIn via Blitz. Stage 4 runs Blitz's waterfall to find every CEO, Founder, CRO, and President &#8212; 169 contacts stacked across the 54 companies. Stage 5 enriches each contact's LinkedIn profile via RapidAPI. Stage 6 finds email and cell phone for all 169 &#8212; Blitz first, FullEnrich on the misses. Stage 7 grades every one with Sonnet 4.6 against Matt's rubric &#8212; fit score, fit band, the talking point. Stage 8 writes a tab on the same Google Sheet.</p><p>Matt's not getting a list. He's getting an ordered queue. The top is the call he should make Monday morning. The bottom is the people he should skip. Every row already has the talking point. He doesn't have to think about it. He has to dial.</p><h3>Every conference attendee scored against Matt &#8212; five swarm agents, six minutes</h3><p>Back to the 138 attendees. Out of 138 people, who should Matt actually walk up to.</p><p>This is where I stopped touching the keyboard and let agents do it. Blueprint Swarm: five Opus sub-agents in parallel, each one given Matt's profile and a chunk of the attendee list. The job for each sub-agent &#8212; read this attendee's LinkedIn, read Matt's rubric, score the fit 1&#8211;10, label it high/medium/low, write the reason, write a one-line conversation starter Matt could literally say to them at the bar.</p><p>Five agents, 138 attendees. About six minutes wall-clock.</p><p>Output: 33 <strong>high</strong>, 65 <strong>medium</strong>, 40 <strong>low</strong>. Every row had a paragraph of reasoning and a tailored opener. <em>"Curious how you're thinking about attribution for AI-driven outbound at Upside &#8212; at EliseAI we're wrestling with how to credit pipeline when an agent is doing 80% of the touches. Where does Upside draw the line?"</em> That kind of opener. Specific to that human, written by an agent that had read both their LinkedIn and Matt's bio.</p><p>Then Claude built a mobile-responsive HTML leadbook out of it. Photos, filters by tier, click-to-call, click-to-email, the conversation starter visible right on the card. Modeled after a leadbook I'd built for a previous client. Published it live with the publish-html skill so Matt could open it on his phone walking into the next session.</p><p>That's the third tab &#8212; same data, ranked, with the talking point.</p><h2>What this is not</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RMOZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RMOZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!RMOZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!RMOZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!RMOZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RMOZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;An empty stage versus a laptop staying on with a working list&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196912752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="An empty stage versus a laptop staying on with a working list" title="An empty stage versus a laptop staying on with a working list" srcset="https://substackcdn.com/image/fetch/$s_!RMOZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!RMOZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!RMOZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!RMOZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cd9254a-3716-4167-bbc6-f2303e16e50f_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is not a demo.</p><p>A demo is when you show someone the tool and they leave with a story. <em>"Jordan showed me Claude. It was cool."</em></p><p>This is when you show someone the tool and they leave with the work. <em>"Jordan and I built three lists. I'm calling forty of these people on Monday."</em></p><p>The difference is whether the thing you made survives the meeting.</p><p>Most demos don't. The screen goes dark. The slides go away. Nothing changes on Monday. &#8592; OPUS LOVES THIS FUCKING PATTERN! </p><p>What we did survives because Matt has it on his laptop. He has the GitHub repo &#8212; I invited his <em>braley-ai</em> handle so he owns the code. He has the Google Sheet shared to his email. He has a published HTML leadbook on his phone. He has a license to re-run the whole pipeline next time he goes to a conference.</p><p>The asset doesn't depend on me being in the room.</p><h2>The hour</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p-ZG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p-ZG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!p-ZG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!p-ZG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!p-ZG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p-ZG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Two people side by side at a laptop while the agent builds&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196912752?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Two people side by side at a laptop while the agent builds" title="Two people side by side at a laptop while the agent builds" srcset="https://substackcdn.com/image/fetch/$s_!p-ZG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!p-ZG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!p-ZG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!p-ZG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d801274-9186-4e99-9f16-345fb524ed0a_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I want to be specific about the hour.</p><p>We didn't write any code by hand. I didn't pull up a notebook. We didn't open a Python file together.</p><p>I told Claude what we were doing. Claude scraped the Lovable app. Claude built the enrichment pipeline. Claude spun up the swarm. Claude wrote the HTML leadbook. Claude built the eight-stage playbook pipeline. Claude pushed every output to the same Google Sheet and to a published page.</p><p>I sat next to Matt the whole time and narrated. <em>"OK now we're scraping the directory. Now we're enriching contact data. Now the swarm is reading his profile. Now we're scoring 138 people against him in parallel."</em></p><p>Matt didn't need to learn anything. He needed to see the shape of it.</p><p>That's what showing Claude is. You sit next to someone. You tell the agent what you both want. The agent builds the thing. The other person watches the shape of the work and goes, <em>"Oh. That's how this is supposed to feel."</em></p><h2>Why I'm writing this down</h2><p>Because most of you, when somebody asks to see your tool, you still do a demo.</p><p>Stop.</p><p>Ask them what they need. Build it while they watch.</p><p>If you can't build it in an hour, your tool isn't ready. If you can build it in an hour and you're still doing slide decks, your job isn't selling &#8212; it's stalling.</p><p>The shift is small and total. Demos are about you. Builds are about them. One ends with a thank-you email. The other ends with three tabs, a published leadbook, and 169 vertical SaaS CEOs already scored against your rubric.</p><p>Matt's calling forty people on Monday. He didn't see Claude. He used it.</p><p>That's the only version of "showing Claude" I do anymore.</p><div><hr></div><h2>What Annual Adds</h2><p>This one was free. Paid gets the build. Annual gives you the tools that run it.</p><ul><li><p><strong>Every tool I ship.</strong> Edge Copilot installs to your Claude Code &#8212; talk to all my knowledge, every method, every data source. Current: Edge Copilot, AutoClaygent, Agent 7, Who to Target and What to Say, Blueprint Cloud, Technology Finder, Video List Extractor, Competitor Monitor. Whatever ships next is included.</p></li><li><p><strong>All 3 courses:</strong> GTM Engineer, Pain-Qualified Segments, The Inversion.</p></li><li><p><strong>Weekly office hours.</strong></p></li></ul><p>Run <em>/edge install agent-swarm</em> once your license key arrives &#8212; the swarm I used to score Matt's 138 attendees drops into your Claude Code in one command.</p><p>License key hits your email.</p><p><strong>&#8594; </strong><a href="https://edge.blueprintgtm.com/annual">Go annual &#8212; $2,499/yr</a> &#183; <a href="https://edge.blueprintgtm.com/subscribe">Start at $50/mo</a> <em>(most readers start here)</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://edge.blueprintgtm.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">On the Edge by Blueprint is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[If your ICP is just a filter, you have nothing to say]]></title><description><![CDATA[I built a skill that works backward from won, lost, healthy, churned &#8212; finds the signals headcount-and-vertical can't.]]></description><link>https://edge.blueprintgtm.com/p/if-your-icp-is-just-a-filter-you</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/if-your-icp-is-just-a-filter-you</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Sat, 09 May 2026 14:24:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-z5k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.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_!-z5k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-z5k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!-z5k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!-z5k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!-z5k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-z5k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Your ICP is lazy. A filter isn't a segment. And it doesn't give you anything to say. Old world: ICP, Persona, SDR Spray. Jordan's world: Outcome, Hypothesis, Holdout.&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="Your ICP is lazy. A filter isn't a segment. And it doesn't give you anything to say. Old world: ICP, Persona, SDR Spray. Jordan's world: Outcome, Hypothesis, Holdout." title="Your ICP is lazy. A filter isn't a segment. And it doesn't give you anything to say. Old world: ICP, Persona, SDR Spray. Jordan's world: Outcome, Hypothesis, Holdout." srcset="https://substackcdn.com/image/fetch/$s_!-z5k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!-z5k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!-z5k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!-z5k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a2c8e67-2d51-4c6a-8832-1019cc47c941_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>May 6, 2026 &#183; Build log</em></p><p>Your ICP is lazy.</p><p>"50 to 1,000 employees in vertical X." That's not an ICP. That's an Apollo filter. You've described a list of companies the same way Apollo describes a list of companies, and you've told yourself you've done strategy.</p><p>The companies that write you the biggest checks and stay the longest don't share a headcount band. They share a <em>situation</em>. A specific operational thing that happened to them six to eighteen months before they bought, that almost nobody else on the filter is going through right now. That's the actual segment. Headcount and vertical are how Apollo organized the world. They're not how your customers feel pain.</p><p>So I spent the day building a skill that does ICP the other direction. You start from the outcomes you already have &#8212; your wins, your losses, your healthy accounts, your churns &#8212; and you reconstruct what those companies <em>looked like</em> before they bought. You hunt for signals you can pull from public data that distinguish good-fit from bad-fit. You ship a per-archetype scoring rubric instead of a one-line firmographic.</p><p>It's called `win-loss-rewind`. Annual subscribers can install it today. Below is the story of building it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HqGj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HqGj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!HqGj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!HqGj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!HqGj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HqGj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Pull quote: Your ICP is lazy. 50 to 1,000 employees in vertical X. That's not an ICP. That's an Apollo filter. &#8212; Jordan Crawford&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="Pull quote: Your ICP is lazy. 50 to 1,000 employees in vertical X. That's not an ICP. That's an Apollo filter. &#8212; Jordan Crawford" title="Pull quote: Your ICP is lazy. 50 to 1,000 employees in vertical X. That's not an ICP. That's an Apollo filter. &#8212; Jordan Crawford" srcset="https://substackcdn.com/image/fetch/$s_!HqGj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!HqGj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!HqGj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!HqGj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e1e8bb1-b7f3-4cc2-a16d-538018d98128_2400x1120.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Outcomes first, hypotheses later</h2><p>The old workflow: someone in marketing writes "we sell to mid-market HR teams in financial services," everyone nods, the SDRs go work the list, and three months later half the closed-wons are credit unions and the other half are insurance brokerages and nobody's HR team makes the buying decision. The ICP didn't predict anything. It just sounded reasonable.</p><p>The new workflow inverts it. You take the customers you actually have, label each one with the outcome that matters &#8212; won, lost, healthy, churned, expanded &#8212; and treat that as ground truth. Then you ask what those four buckets had in common <em>before</em> you ever spoke to them. Not what they look like now. What they looked like when they walked in.</p><p>This is the move Munger's been on his whole career. Invert, always invert. You don't ask "what makes a customer good?" &#8212; that's the question that gives you "mid-market vertical X." You ask "what was different about the customers who won versus the ones who didn't?" That question forces specificity. There's always a difference. Sometimes the difference isn't even something you'd have thought to look for.</p><h2>Distrust your own data first</h2><p>I almost shipped this thing without Phase 0 and it would've been useless.</p><p>Here's what kept happening on test data. The CRM record says "$50K ARR, healthy customer, expansion in flight." Cool. Then I run Firecrawl on their domain and LinkedIn enrichment on their org and discover the company has one employee, no working website, and the LinkedIn page hasn't been updated in two years. That's not a customer. That's a CRM record. Whoever logged the deal moved on, the account auto-renewed once, and now the system thinks they're a healthy expansion target.</p><p>You can't build an ICP discriminator on top of records like that. The training data is poisoning the answer.</p><p>So Phase 0 of the skill is just sitting on the data and not trusting it. It cross-references CRM labels against external reality &#8212; does the company exist on LinkedIn, does the website resolve, does the headcount match what the CRM thinks. Anything that fails gets quarantined. The operator gets a `data_confidence.md` to review and approve before the rest of the pipeline runs.</p><p>This step isn't glamorous and most teams skip it. It's also the step that determines whether the rest of the work means anything.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uLca!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uLca!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!uLca!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!uLca!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!uLca!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uLca!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Brushing dust off the past &#8212; outcome-backward ICP discovery starts by trusting the buckets you already have, not the labels in the CRM.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Brushing dust off the past &#8212; outcome-backward ICP discovery starts by trusting the buckets you already have, not the labels in the CRM." title="Brushing dust off the past &#8212; outcome-backward ICP discovery starts by trusting the buckets you already have, not the labels in the CRM." srcset="https://substackcdn.com/image/fetch/$s_!uLca!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!uLca!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!uLca!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!uLca!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13ba421e-28f5-4dc8-a0d9-4432916c775c_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What the deliverable actually looks like</h2><p>Skip ahead to what comes out the other end. Here's a real example from the fictional GRC SaaS test fixture I shipped with the skill &#8212; a compliance-automation product with two customer archetypes hidden in the data:</p><pre><code>Archetype: Two-state legal-ops shop,
           no in-house engineer

Signal 1: State professional registrations
          in prior 18mo
  Source:     state SoS portal
  Threshold:  &gt;= 2
  Weight:     0.55
  Lift:       4.1x train / 3.6x holdout

Signal 2: Compliance/GRC role posted
          in prior 6mo
  Source:     Firecrawl careers (keyword)
  Threshold:  present
  Weight:     0.45
  Lift:       3.5x train / 3.2x holdout

Combined fit_score
  = 0.55 * I(reg) + 0.45 * I(role)

"Looks like archetype" threshold:
  fit_score &gt;= 0.60</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JUgp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JUgp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!JUgp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!JUgp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!JUgp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JUgp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Stat: 4.1x train lift, 3.6x holdout lift. The signal survived the 20% holdout &#8212; it's not a coincidence.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Stat: 4.1x train lift, 3.6x holdout lift. The signal survived the 20% holdout &#8212; it's not a coincidence." title="Stat: 4.1x train lift, 3.6x holdout lift. The signal survived the 20% holdout &#8212; it's not a coincidence." srcset="https://substackcdn.com/image/fetch/$s_!JUgp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!JUgp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!JUgp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!JUgp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffed3d134-46e9-4279-bc98-e67dcfc6c02e_2400x960.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That's the ICP. Two operational signals from public data. A weighted score. A threshold. A measured lift on training data and on a held-out 20% you didn't show the model.</p><p>Look at what's <em>not</em> in there. No headcount band. No vertical. No revenue range. None of the things you'd find on an Apollo filter. Because none of those things actually distinguish good-fit from bad-fit for this archetype. What distinguishes them is <em>did this company recently expand into a second state and hire someone to own the compliance work that follows</em>. That's the pain segment. Everything else is noise.</p><p>The other archetype in the same fixture comes out totally different &#8212; engineering-shops who built their own compliance code internally, then watched their compliance-tagged GitHub repos go quiet for nine months because the engineer who maintained them moved on. Same company-stage. Same revenue band. Completely different signal recipe.</p><p>You'd never write the ICP "compliance-tagged GitHub repos went quiet for nine months" by hand. You'd never think to. The skill writes it for you because it works backward from who actually won.</p><h2>The vowel-name signal that died at holdout</h2><p>Here's the moment I trust the work.</p><p>When the skill generates hypotheses about what distinguishes wins from losses, it generates a lot of them. Most are good. Some are nonsense. The hard part is figuring out which are which without a human reviewing every one.</p><p>In the test fixture, the hypothesis-generator coughed up something like "won customers tend to have company names starting with vowels." Apex, Atlas, Echo, Oak &#8212; four out of twelve wins, which on a small training set is a real-looking pattern. Train-set lift: about 2.4x.</p><p>It's also obviously horseshit. Company names don't predict buying behavior. The hard gates should kill it at Phase 5 because it doesn't prove pain &#8212; and they did, in this case. But suppose they hadn't. Suppose it slipped through.</p><p>Phase 6 is the safety net. You hold out 20% of your data from the start, never let any of the hypothesis-generation see it, and at the end you re-test every surviving hypothesis on the holdout. The vowel-name signal collapses to lift &#8776; 1.0 on the holdout because it was a coincidence in the training set. Dead.</p><p>The real signals &#8212; state registrations, compliance roles &#8212; hold their lift on the holdout. Train 4.1, holdout 3.6. Train 3.5, holdout 3.2. They survive because they're not artifacts. They reflect actual operational pain.</p><p>This is the difference between an ICP you trust and an ICP you've fooled yourself into. You hold out 20%. You test on it. Anything that doesn't survive doesn't ship.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3Wk2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29abbb91-674c-45e2-9136-74783994c843_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Wk2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29abbb91-674c-45e2-9136-74783994c843_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!3Wk2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29abbb91-674c-45e2-9136-74783994c843_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!3Wk2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29abbb91-674c-45e2-9136-74783994c843_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!3Wk2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29abbb91-674c-45e2-9136-74783994c843_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Wk2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29abbb91-674c-45e2-9136-74783994c843_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29abbb91-674c-45e2-9136-74783994c843_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A coincidence collapses to unity &#8212; the holdout test is the safety net that kills training-set artifacts.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A coincidence collapses to unity &#8212; the holdout test is the safety net that kills training-set artifacts." title="A coincidence collapses to unity &#8212; the holdout test is the safety net that kills training-set artifacts." srcset="https://substackcdn.com/image/fetch/$s_!3Wk2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29abbb91-674c-45e2-9136-74783994c843_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!3Wk2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29abbb91-674c-45e2-9136-74783994c843_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!3Wk2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29abbb91-674c-45e2-9136-74783994c843_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!3Wk2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29abbb91-674c-45e2-9136-74783994c843_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>So what do I do with this</h2><p>If you're staring at your own customer list right now and your ICP is some version of "mid-market vertical X," here's the move. Pull your wins, your losses, your healthy accounts, your churns. Get the outcome label honest &#8212; not what the CRM says, what actually happened. Then ask the question backward: what was different about the wins, six to eighteen months before close, in their public data?</p><p>Run that question with discipline. Hold out 20% of the data. Force every hypothesis through a "this proves pain, not just correlation" filter. Reject anything that uses headcount, industry, or revenue as the discriminator &#8212; those are inputs, not signals. The signals you want are the operational events that <em>preceded</em> the buying behavior.</p><p>That's the work. The skill automates it. But the discipline is what makes the answer real.</p><p><em>&#8212; Written by Claude Opus 4.7, approved by Jordan</em></p><div><hr></div><p>Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.</p><p>Or don't. Annual subscribers install the tool I actually built with one command &#8212; every tool I ship, all 3 courses, weekly office hours.</p><p>&#8594; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/if-your-icp-is-just-a-filter-you">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[What AI Transformation Looks Like on the Ground]]></title><description><![CDATA[297 changes by one person. 9 people shipping daily. 132 hidden customers found.]]></description><link>https://edge.blueprintgtm.com/p/what-ai-transformation-looks-like</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/what-ai-transformation-looks-like</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Fri, 08 May 2026 14:24:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!I8SY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>May 5, 2026</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_!I8SY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I8SY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!I8SY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!I8SY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!I8SY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I8SY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;297 commits, one operator, four months&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="297 commits, one operator, four months" title="297 commits, one operator, four months" srcset="https://substackcdn.com/image/fetch/$s_!I8SY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!I8SY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!I8SY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!I8SY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45bd215a-f72a-4748-943c-8c143694b35d_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608; shipped 297 changes to her company's code in four months.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://edge.blueprintgtm.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">On the Edge by Blueprint is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>She is not a programmer. She runs the team that keeps the sales data clean at a software company. Before January, she had never opened a coding tool. By April, she was the one wiring her company's sales calls into their customer records. She fixed 60 messy customer-name conflicts that had been broken for three years. She built a payout dashboard her partners now check every Monday morning.</p><p>I get asked, all the time: <em>what does it actually look like after we &#8220;transform&#8221;? What does success look like?</em></p><p>Most of the AI talk lives upstream of that question. Here's the model. Here's the framework. Here's the prompt. Nobody shows the receipts twelve weeks later.</p><p>So I went and pulled the receipts. Three of my client companies. Three kinds of "after." Every change to the code. Every shipped piece of work. All of it written by people who six months ago could not have told you what code was. The names and the companies are blacked out &#8212; &#9608; block letters, all the same width, so you can't count letters and figure out who is who. The numbers are real.</p><p>Here is what <em>after</em> looks like.</p><div><hr></div><h2>Story 1: The solo operator</h2><p>&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608; runs revenue operations at &#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;. One person. No coding background. She started shipping changes to the company's code on January 9.</p><p>Through April 29, she has been the second-most-active person in the entire company code base. The only thing ahead of her is a robot that runs the work <em>she wrote.</em> 297 changes across 404 code files. 98 of those changes added new things &#8212; actual new tools, not cleanups. She runs at a steady five-day-a-week pace. Two big spikes show up: late February when she rebuilt the company's master list of every potential customer, and early April when she fixed customer-record conflicts that had been blocking partner credit.</p><p>Here is the work, in concrete:</p><ul><li><p><strong>A list of 69,747 customer locations.</strong> Pulled from public maps. Cross-checked against a federal industry registry. Joined to data on the people who run each location. 26.7% of locations now carry full operator records. Before her? They had a static spreadsheet. (to be fair, I built v1 of this)</p></li><li><p><strong>Customer record cleanup.</strong> The company had 1,100 active multi-location customers in their system. But only 616 of them &#8212; 56% &#8212; were correctly matched to their main customer database. After her cleanup: 798 matched. Target by quarter-end: 908 (82.5%). She manually fixed 60 messy cases where multiple cities shared a brand name and the database had stamped them onto the wrong company.</p></li><li><p><strong>A partner payout dashboard.</strong> Pulls live deal data. Calculates what each partner is owed under different tiers. Flags mistakes. Generates one view per partner and one big view across all partners. The company had been running this in a spreadsheet that someone updated by hand. She killed the spreadsheet.</p></li><li><p><strong>Six robots that run on a schedule.</strong> Daily refresh of customer data. Twice-a-day deal-name sync. Pushing account status to every contact at a company (not just the main one). Filling in missing contact names. Matching every recorded customer call to the right deal. Keeping payment data lined up.</p></li><li><p><strong>Monthly payment audits.</strong> She found and fixed billing data that had quietly drifted out of sync. The finance team did not know it was happening.</p></li></ul><p>Total tools she now runs without help: their main customer database, their payment system, their call recordings, their team chat, AI models, cloud storage and computing, their data warehouse, spreadsheets, and their sales platform. She uses code that matches names that don't quite line up, code that makes lots of requests at once without breaking, and code for working with very large tables.</p><p>Her first session with me, on January 9, was getting the AI coding tool installed and pushing her first code change. She was uncomfortable using Terminal. She had never used the code-sharing system GitHub. By the end of the call, we had her pulling her company's call transcripts into a local folder. By February 4, she was running the customer uploads herself. By February 25, she was running the data-cleanup work weekly, on a schedule she set, without anyone telling her to.</p><p>Her CEO asks me, on a recent call: <em>what's left for Blueprint to do here?</em></p><p>That is what <em>after</em> looks like for one in-house operator.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ix-9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ix-9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Ix-9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Ix-9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Ix-9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ix-9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A single hand placing the final stone on a tower built one stone at a time&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A single hand placing the final stone on a tower built one stone at a time" title="A single hand placing the final stone on a tower built one stone at a time" srcset="https://substackcdn.com/image/fetch/$s_!Ix-9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Ix-9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Ix-9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Ix-9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa18e6f43-98b1-4402-a3f4-a2b8e0a70497_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Story 2: The team that ships every day</h2><p>The second company is different. Different industry &#8212; a regulated-services category with 33,560 possible customers. Different size. Different in one big way: it is not one person shipping. It is nine.</p><p>49 days. 283 changes. Nine different people. Five of them shipping in the same week.</p><p>Here is who is shipping what:</p><ul><li><p><strong>The data-quality lead:</strong> 155 changes across 24 active days. Her job is checking contact info, syncing the sales platform, and keeping data clean. She pushed 7,875 of the company's 8,875 prospect accounts into a clean match against the regulatory ID system that governs the industry. Her checking process catches bad data 97.4% of the time.</p></li><li><p><strong>The marketing brand owner:</strong> 9 changes in 15 days. Brand voice. Messaging. Personas. Three custom marketing tools that other people on the team can now run.</p></li><li><p><strong>The sales-development lead:</strong> 15 changes in 16 days. A new quota model. Email cadences rewritten to sound like a real person. Lists of nearby customers to expand into. Outreach kits for people leaving a competitor that had a bad migration.</p></li><li><p><strong>The event coordinator:</strong> 11 changes in 7 days. Five major event briefs with confirmed venue and staffing details. Cleaning up event attendee lists. A small piece of code that joins clean emails back into the master list.</p></li><li><p><strong>The scraping specialist:</strong> 20 changes in 5 days. Tools that pull contact lists from state association websites. A recovery process that pulled out 14,067 contacts from old documents the previous tool had missed for years.</p></li><li><p><strong>The customer-stories owner:</strong> 2 changes in 1 day, setting up the next phase.</p></li></ul><p>Plus the product analytics lead. Plus the executive sponsor. Plus me.</p><p>The output is not modest:</p><ul><li><p><strong>48,468 cleaned contacts</strong> in the master file, with 109 fields per contact.</p></li><li><p><strong>1.2 million sales call records</strong> under analysis, going back six months.</p></li><li><p><strong>April outbound results:</strong> 897 prospects, 1,455 emails sent, 1,008 calls made, <strong>83 meetings booked.</strong> A 9-out-of-100 prospect-to-meeting rate.</p></li><li><p><strong>Most recent week:</strong> A campaign targeting customers near existing customers &#8212; built two weeks before &#8212; has booked <strong>10 meetings</strong> with sizable deal values from one tactic. The team's choice is to pour more volume into that motion instead of chasing a new one. That is what discipline looks like once a team can build its own pipeline.</p></li><li><p><strong>A document recovery tool I built at home for an unrelated reason.</strong> They picked it up the week it shipped. <strong>10,000+ new contacts</strong> pulled from a state directory their previous vendor had been billing them <em>not</em> to extract.</p></li></ul><p>This is the second kind of after. Not one star. A whole team. Every week. With version control, working sessions, and pull requests that turn into shipped tools that everyone else uses. Five people changing code in the same repo in a single week is not noise. It is a fundamentally different way of running a sales-and-marketing organization.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t4zb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t4zb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!t4zb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!t4zb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!t4zb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t4zb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Nine threads of ink converging into one woven river&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Nine threads of ink converging into one woven river" title="Nine threads of ink converging into one woven river" srcset="https://substackcdn.com/image/fetch/$s_!t4zb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!t4zb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!t4zb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!t4zb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9de0fae2-f69d-4dbd-b172-d459f9dc0150_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Story 3: The exec who builds</h2><p>The third company is led from the top.</p><p>&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608; is a senior leader at a software company. He has analysts. He has a revenue-operations team. He has the headcount to hand work off. He builds anyway.</p><p>71 days. 13 changes that he wrote himself &#8212; small compared to his team's total of 74, but every one of his is a structural piece. Pulling out shared code into reusable parts. Refactoring. Archiving 29 old scripts to keep the folder navigable. Building shared libraries that his analysts can run on their own.</p><p>His team's output during that window:</p><ul><li><p><strong>Re-classified 38,117 companies</strong> in their master list using a free, open AI model running on rented computers that only spin up when needed. Total cost of the run: about $12. The classifier now correctly captures 60.6% of known customers (up from 54.9% in the prior version). The wrong-domain rate fell from 18.3% to 1.6%.</p></li><li><p><strong>Found 132 customers of a competing platform</strong> by guessing web addresses. The competitor's hosted product gives every customer a unique web address on the competitor's domain. He spun up 26 rented computers in parallel. They scanned 11.8 million five-letter guesses plus 48.5 million letter-and-number guesses. They found 223 active web addresses. Of those, 132 belonged to actual companies. Those 132 are now an account list nobody else in the market has.</p></li><li><p><strong>Lifted email coverage from 7.5% to 83.8%</strong> on 8,195 mid-size accounts. 618 emails became 6,864 emails. About $23 in tool fees, end to end. 4.5 hours of pipeline runtime.</p></li><li><p><strong>101 sales call recordings</strong> turned into searchable text in three hours of compute for about $5.</p></li></ul><p>Three plays. One leader who refused to delegate. The way of working now lives in his repo. Every analyst has access. The shared libraries he extracted will run forever.</p><p>He told me on a recent sync: he wants to roll the same tools out across the rest of the team. Everyone gets an AI subscription. The AI work isn't a special project anymore. It's just how the team operates.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9pxj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9pxj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!9pxj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!9pxj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!9pxj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9pxj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A senior figure pulling threads from a loom he could have delegated&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A senior figure pulling threads from a loom he could have delegated" title="A senior figure pulling threads from a loom he could have delegated" srcset="https://substackcdn.com/image/fetch/$s_!9pxj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!9pxj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!9pxj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!9pxj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd94941ab-3cf8-4973-9b25-337f8ee32d54_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What these three have in common</h2><p>Look at the surface and they look nothing alike. A solo operator with no coding background. A nine-person team running a tightly-connected sales stack. A senior exec who codes. Different industries. Different stacks. Different team shapes.</p><p>The deeper pattern:</p><p><strong>They ship every week.</strong> None of these is a one-time project. &#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608; is on change number 297. The nine-person team has averaged about 6 changes a day for 49 days straight. &#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608; is still pruning his code base for clarity. The work compounds because nobody stopped after the first wave.</p><p><strong>They own the work in-house.</strong> I am not building any of this for them. I helped each of them get the AI coding tool installed for the first time. I am still on the weekly call. But every piece of work in every code base was written by their team, on their machines, against their data. The know-how stays with them. When I go away, they keep shipping.</p><p><strong>AI is the substrate, not the feature.</strong> None of them talk about the AI in their meetings. They talk about the dashboard, the customer cleanup, the closest-customer campaign, the 132 hidden customers. The model is just there, the way electricity is there. It runs the pipeline. It writes the code. It cleans the data. The conversation is about the work.</p><p><strong>Numbers run the room.</strong> Every meeting starts with a number and ends with a next step that has a number on it. 9 out of 100. 56% to 72.5%. 7.5% to 83.8%. 132 customers found. There is no fuzzy talk of "how the campaign is doing." There is the number, before and after.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lsp3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lsp3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!lsp3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!lsp3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!lsp3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lsp3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AI as quiet substrate beneath the work &#8212; the workers look at the work, not the current&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI as quiet substrate beneath the work &#8212; the workers look at the work, not the current" title="AI as quiet substrate beneath the work &#8212; the workers look at the work, not the current" srcset="https://substackcdn.com/image/fetch/$s_!lsp3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!lsp3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!lsp3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!lsp3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a73ef1-22bf-4704-a307-de93ed11be90_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is what real AI go-to-market work looks like at week 16. Not a deck. Not a framework. A solo operator who can do the work of a team. A team that ships every day. An exec who refused to hand it off. All three are still going, every week, without me writing a single line of their code.</p><p>If you're reading this and thinking <em>we don't have anyone who could do this on our team</em> &#8212; you probably do. &#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608; wasn't a programmer in December. By May she was the most-shipping human in her company's code base. The barrier was never talent. It was permission and a working session.</p><p>Show your team. Get the tool installed. Get out of their way.</p><div><hr></div><h2>What Annual Adds</h2><p>This one was free. Paid gets the build. Annual gives you the tools that run it.</p><ul><li><p><strong>Every tool I ship.</strong> Edge Copilot installs to your AI coding tool &#8212; talk to all my knowledge, every method, every data source. Current: Edge Copilot, AutoClaygent, Agent 7, Who to Target and What to Say, Blueprint Cloud, Technology Finder, Video List Extractor, Competitor Monitor, LinkedIn Engagement, Domain &amp; LinkedIn Finder, Dossier Builder, PDF Contact Finder. Whatever ships next is included.</p></li><li><p><strong>All 3 courses:</strong> Pain Segment, Permissionless Value Proposition, Pain Qualified Segment.</p></li><li><p><strong>Weekly office hours.</strong></p></li></ul><p>Run <em>/edge install &lt;slug&gt;</em> for any tool I've shipped &#8212; they all install the same way.</p><p>License key hits your email.</p><p>&#8594; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://edge.blueprintgtm.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">On the Edge by Blueprint is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The PDF Contact Extractor I Built — Discovers Sources, Pulls Every Row]]></title><description><![CDATA[Government directories are a TAM list nobody extracts. The tool I built today, with the trick that makes it free.]]></description><link>https://edge.blueprintgtm.com/p/the-pdf-contact-extractor-i-built</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/the-pdf-contact-extractor-i-built</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Thu, 07 May 2026 15:42:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OVNv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>The PDF Contact Extractor I Built &#8212; Discovers Sources, Pulls Every Row</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OVNv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OVNv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!OVNv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!OVNv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!OVNv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OVNv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;PDF Contact Finder hero&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="PDF Contact Finder hero" title="PDF Contact Finder hero" srcset="https://substackcdn.com/image/fetch/$s_!OVNv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!OVNv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!OVNv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!OVNv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fc5a142-1630-4847-b01e-12ba59f0bcd4_1200x800.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A 798-page state fire marshal directory.</p><p>That's the test case. Every fire department in New Jersey. Names, titles, departments, emails, phones. Locked inside a PDF nobody can export.</p><p>Multiply that by every state and every industry. State licensing boards. Federal agency rosters. Trade association member lists. Conference attendee PDFs. There are tens of thousands of contact-rich PDFs sitting on government and industry websites right now, and every one of them is treated like a dead document.</p><p>They're not dead. They're a TAM list nobody has bothered to extract.</p><p>So I built the tool that extracts them. Today. End to end.</p><h2>The naive way fails</h2><p>Hand a 30-row contact table to any vision model. Ask for clean JSON. You get 58% accuracy. Sometimes worse.</p><p>I've seen this before. I built `video-list-extractor` last month &#8212; same problem, video frames instead of PDF pages. The vision model's attention degrades across a long list. Gemini in particular invents organization names. Claude is better but still drops names, swaps emails, normalizes "Dr. Sarah Chen, MD" to "Sarah Chen."</p><p>The fix is not better prompting. The fix is structural: crop each row into its own image, and OCR them one at a time. Same model. Same prompt. 99% accuracy.</p><p>That's the insight that made `video-list-extractor` work. It applies to PDFs.</p><h2>The smart move: don't OCR what you don't have to</h2><p>Here's the part nobody talks about: <strong>most contact-bearing PDFs aren't scanned.</strong> They have a real text layer. pypdf can read them at zero LLM cost.</p><p>The state fire marshal directory? Native text. The 798-page NJ fire department roster? Native text. I ran my triage script on both. Score: 1.0. Route: text path.</p><p>I extracted 5,080 raw contact records from those two PDFs in under a minute. Total LLM cost: zero. The merge step deduped them down to 2,015 unique contacts.</p><p>A run that would have cost $25 on the naive vision-everything path cost essentially nothing.</p><p>The triage decision is the entire game. Text-rich PDFs go to a regex + pypdf path. Scanned PDFs go to the vision pipeline &#8212; render the page, crop each row, dispatch parallel OCR sub-agents (waves of 5, 14 batches, the same architecture that drives `video-list-extractor`). Most PDFs only need the cheap path. Only scanned ones earn the expensive one.</p><h2>The pipeline</h2><p>Eight phases. Each one is a script the orchestrator runs in sequence.</p><p>1. <strong>Pre-flight</strong> &#8212; validate Serper + Exa keys, ask the user what industry and what fields they want.</p><p>2. <strong>Discovery</strong> &#8212; five sub-agents in parallel hit federal databases, state registries, industry associations, Google dorking patterns, and open-data portals. They write candidate PDF URLs to JSON.</p><p>3. <strong>Download</strong> &#8212; stream each PDF with a 30 MB cap, save to `/tmp/pcf_pdfs/`.</p><p>4. <strong>Triage</strong> &#8212; score each PDF's text quality, route to text path or vision path.</p><p>5. <strong>Contact-page detection</strong> &#8212; for big PDFs, identify which pages actually have contacts. Skip the table-of-contents and intro pages.</p><p>6. <strong>Extract</strong> &#8212; text path runs pypdf + regex; vision path renders each page at 200 DPI, crops contact rows by ink-density projection, dedupes the crops, and dispatches OCR sub-agents.</p><p>7. <strong>Merge</strong> &#8212; combine text-path and vision-path outputs, dedupe across sources, write a clean CSV.</p><p>8. <strong>Audit</strong> &#8212; sample random pages, run independent verifier agents, check coverage. Target &#8805;97%.</p><p>That's it. No magic. The structure carries the accuracy.</p><h2>What it cost to extract 2,015 fire department contacts</h2><p>Two PDFs. ~820 pages combined. Both routed to the text path.</p><ul><li><p>Discovery: skipped (I had the URLs)</p></li><li><p>Download: free</p></li><li><p>Triage: free</p></li><li><p>Page detection: free</p></li><li><p>Text extraction: free</p></li><li><p>Merge: free</p></li><li><p><strong>Total: $0.00</strong></p></li></ul><p>If the same 2,015 contacts had come from scanned PDFs through the vision path, the run would have cost roughly $4-6. Still cheap. But the triage saved every dollar.</p><p>That ratio is the whole product. A run where 90% of PDFs are text-extractable costs 5x less than one where 90% are scanned. Triage is the lever.</p><div><hr></div><p>Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.</p><p>Or don't. Annual subscribers install the tool I actually built with one command &#8212; every tool I ship, all 3 courses, weekly office hours.</p><p>&#8594; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/the-pdf-contact-extractor-i-built">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Stop Buying Lists. Build Them.]]></title><description><![CDATA[Five subagents, four-criterion rubric, $0&#8211;$10 per run.]]></description><link>https://edge.blueprintgtm.com/p/stop-buying-lists-build-them</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/stop-buying-lists-build-them</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Wed, 06 May 2026 15:04:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bGnN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.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_!bGnN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bGnN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!bGnN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!bGnN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!bGnN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bGnN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26c2e161-9649-4445-867f-ca0061850853_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;One pass, 38 sources surfaced&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196352712?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="One pass, 38 sources surfaced" title="One pass, 38 sources surfaced" srcset="https://substackcdn.com/image/fetch/$s_!bGnN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!bGnN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!bGnN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!bGnN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c2e161-9649-4445-867f-ca0061850853_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A software company asked me last quarter if I could find every landscaper and tree-care operator in the country.</p><p>They'd been buying lists from the usual aggregators for two years. The reps kept asking why the same companies showed up over and over. Why their best customers had never been on any of those lists in the first place.</p><p>So I ran my TAM research skill against the vertical. One pass.</p><p>38 sources surfaced. Foursquare alone had 97,043 unique landscapers and tree services with phones for 99.8% of them and websites for 64%. California's contractor licensing board had a free CSV download with every licensed landscaper in the state &#8212; 12,000 companies the aggregators had nothing on. Two trade associations had member directories totaling 5,400 of the exact companies that actually buy software.</p><p>And the one nobody thinks of: every state requires a pesticide-applicator license to spray weed and pest treatments commercially. Almost every professional landscaper holds one. So a "pesticide" registry &#8212; which sounds like the wrong vertical &#8212; is actually a 50-state public roster of the same landscape companies, maintained by law, free to download. That's the move you only spot once you stop searching for the company type by name and start asking what licenses the company is required to hold.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hhzz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hhzz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!Hhzz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!Hhzz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!Hhzz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hhzz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;97,043 landscapers from a single free database&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196352712?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="97,043 landscapers from a single free database" title="97,043 landscapers from a single free database" srcset="https://substackcdn.com/image/fetch/$s_!Hhzz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!Hhzz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!Hhzz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!Hhzz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff96b05ee-1713-4a7b-bed5-10228bd1890b_2400x960.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Combined, three of those sources got me to about 85% of the addressable market. For around $0 in data costs.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vpsj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vpsj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!vpsj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!vpsj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!vpsj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vpsj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;85% of the addressable market reachable from 3 sources combined for $0 in data costs&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196352712?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="85% of the addressable market reachable from 3 sources combined for $0 in data costs" title="85% of the addressable market reachable from 3 sources combined for $0 in data costs" srcset="https://substackcdn.com/image/fetch/$s_!vpsj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!vpsj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!vpsj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!vpsj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fc0bca4-477c-47d6-9183-c755f4fbdc60_2400x960.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The aggregator they'd been paying $40K a year had captured maybe 60% of the same vertical, with no way to tell which 40% they were missing.</p><h2>Why Most TAM Lists Miss the Market</h2><p>When someone says "find me a list of X," the default move is to type "X" into ZoomInfo and ship whatever comes back.</p><p>That's not TAM research. That's giving up on 40% of your market and hoping the other 60% is enough.</p><p>Aggregators sell you the companies they happen to have. Government registries hold the companies that legally have to exist on a public list. Trade associations hold the ones that paid to be findable by buyers. Google Maps holds the ones that wanted local customers to walk in.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sXHi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sXHi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!sXHi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!sXHi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!sXHi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sXHi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Aggregators sell you the companies they happen to have. Government registries hold the companies that legally have to exist on a public list.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196352712?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Aggregators sell you the companies they happen to have. Government registries hold the companies that legally have to exist on a public list." title="Aggregators sell you the companies they happen to have. Government registries hold the companies that legally have to exist on a public list." srcset="https://substackcdn.com/image/fetch/$s_!sXHi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!sXHi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!sXHi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!sXHi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb8e86d-c517-43a7-8628-67bff281a12d_2400x1120.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Those are different lists. They overlap maybe 50% with each other. Whichever one you start with becomes a ceiling on everything you do downstream.</p><p>The fix is to start with the question "where does the truth about this vertical actually live?" before you build the list. Most teams skip that step entirely.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W3iP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W3iP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png 424w, https://substackcdn.com/image/fetch/$s_!W3iP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png 848w, https://substackcdn.com/image/fetch/$s_!W3iP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png 1272w, https://substackcdn.com/image/fetch/$s_!W3iP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W3iP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Where the truth about a vertical actually lives &#8212; aggregator coverage vs the four kinds of registries you actually need&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196352712?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Where the truth about a vertical actually lives &#8212; aggregator coverage vs the four kinds of registries you actually need" title="Where the truth about a vertical actually lives &#8212; aggregator coverage vs the four kinds of registries you actually need" srcset="https://substackcdn.com/image/fetch/$s_!W3iP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png 424w, https://substackcdn.com/image/fetch/$s_!W3iP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png 848w, https://substackcdn.com/image/fetch/$s_!W3iP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png 1272w, https://substackcdn.com/image/fetch/$s_!W3iP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe08b2d49-749f-47b1-b812-acc6c74b18ae_2400x817.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What the Skill Actually Does</h2><p>It runs five phases, in order, on any company type you point it at.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!clnA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!clnA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png 424w, https://substackcdn.com/image/fetch/$s_!clnA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png 848w, https://substackcdn.com/image/fetch/$s_!clnA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png 1272w, https://substackcdn.com/image/fetch/$s_!clnA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!clnA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The five phases of TAM Research&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196352712?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The five phases of TAM Research" title="The five phases of TAM Research" srcset="https://substackcdn.com/image/fetch/$s_!clnA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png 424w, https://substackcdn.com/image/fetch/$s_!clnA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png 848w, https://substackcdn.com/image/fetch/$s_!clnA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png 1272w, https://substackcdn.com/image/fetch/$s_!clnA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67bec3a9-9039-49e5-a6ba-60cd30f20abd_2400x1228.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Phase zero is the kill switch.</strong> It validates every API key the run depends on before doing any work. Five keys, one fails, the whole thing stops. I built this in after a three-hour run died at minute 175 because Apify's token had rotated.</p><p><strong>Phase one reads the client website silently.</strong> No questions to me yet. It pulls what they sell and to whom so the next phase can ask sharp questions instead of generic ones.</p><p><strong>Phase two narrows.</strong> This is the only phase where it talks to me. Always to one company type. "Healthcare providers" is not a company type. "Ambulatory surgery centers" is. "Direct primary care clinics" is. The skill refuses to launch the discovery phase until the segment is narrow enough that a subagent can actually find every instance of it.</p><p><strong>Phase three is five subagents in one shot.</strong> Federal registries. State licensing boards. Industry associations and niche directories. Google Maps and local business APIs. Open data and web datasets. Each one runs the same hour I run mine, just faster, and reports back in structured JSON with the same fields &#8212; what the source covers, how many records, websites included, cost, quirks.</p><p><strong>Phase four scores everything.</strong> Same rubric across all 38-ish sources. Coverage 35% of the score. Websites included 30%. Data quality 20%. Cost 15%. Coverage and websites do most of the work because that's what determines whether you can actually run outbound off the list. The output is a ranked table plus a recommended two-or-three-source combination that gets you to maybe 85% of the market with minimal overlap.</p><p>The whole thing takes about 45 minutes and costs me $2 to $10 in API calls.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c6VC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c6VC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!c6VC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!c6VC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!c6VC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c6VC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;45 minutes per full TAM research run, $2 to $10 in API costs&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196352712?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="45 minutes per full TAM research run, $2 to $10 in API costs" title="45 minutes per full TAM research run, $2 to $10 in API costs" srcset="https://substackcdn.com/image/fetch/$s_!c6VC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!c6VC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!c6VC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!c6VC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cd81164-d75b-4b2b-9a9f-7fd0a2892452_2400x960.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The Rubric Does the Hard Part</h2><p>The thing that makes this work isn't the subagents. It's the rubric.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4VsU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4VsU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png 424w, https://substackcdn.com/image/fetch/$s_!4VsU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png 848w, https://substackcdn.com/image/fetch/$s_!4VsU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png 1272w, https://substackcdn.com/image/fetch/$s_!4VsU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4VsU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The four-criterion rubric: Coverage 35%, Websites 30%, Data Quality 20%, Cost 15%&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196352712?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The four-criterion rubric: Coverage 35%, Websites 30%, Data Quality 20%, Cost 15%" title="The four-criterion rubric: Coverage 35%, Websites 30%, Data Quality 20%, Cost 15%" srcset="https://substackcdn.com/image/fetch/$s_!4VsU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png 424w, https://substackcdn.com/image/fetch/$s_!4VsU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png 848w, https://substackcdn.com/image/fetch/$s_!4VsU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png 1272w, https://substackcdn.com/image/fetch/$s_!4VsU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0e87357-d6cf-43e6-be8c-0b816f120a5a_2400x1028.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Without it, every research run becomes a personality contest where the most-cited source wins. With it, you can say "this licensed-contractor database covers 100% of the regulated population, has zero website fields, and is government-mandated, so it scores 70 &#8212; and Google Maps scores 74 because it has 80% coverage but every record has a website." Then you stop arguing.</p><p>The rubric also forces the obvious next move: combine the high-coverage no-website source with the medium-coverage high-website source, dedupe on phone number, and you've got more reachable companies than either source alone. That combination is what the recommendation table gives you.</p><p>Government data wins ties because the data quality is government-mandated. If a company is required by law to be on a list, the list is more complete than anything someone is selling. Most teams forget this.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Idit!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Idit!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Idit!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Idit!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Idit!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Idit!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Where the truth lives &#8212; the four kinds of public record behind every complete TAM&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196352712?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Where the truth lives &#8212; the four kinds of public record behind every complete TAM" title="Where the truth lives &#8212; the four kinds of public record behind every complete TAM" srcset="https://substackcdn.com/image/fetch/$s_!Idit!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Idit!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Idit!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Idit!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc229a9-7fe9-4b49-ae4c-47c500be2766_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Why I'm Releasing It Now</h2><p>Every time I take on a new client, the first hour is some version of this same workflow. Pull their site. Narrow the segment. Fan out across federal, state, association, local, and open-data sources. Score what comes back. Pick the two or three sources that get me to coverage. Hand the build off.</p><p>Doing it five times burned the methodology in. Doing it twenty times made me write the skill. Doing it a hundred times made me realize that most teams have never seen the methodology at all &#8212; they're still typing the company type into ZoomInfo and hoping.</p><p>So it's going up.</p><p><em>&#8212; Written by Claude Opus 4.7 (1M context), Approved by Jordan</em></p><div><hr></div><p>Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.</p><p>Or don't. Annual subscribers install the tool I actually built with one command &#8212; every tool I ship, all 3 courses, weekly office hours.</p><p>&#8594; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/stop-buying-lists-build-them">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Find Every Customer of Any Technology]]></title><description><![CDATA[BuiltWith gives you a guess. I built a tool that gives you a URL you can click.]]></description><link>https://edge.blueprintgtm.com/p/find-every-customer-of-any-technology</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/find-every-customer-of-any-technology</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Tue, 05 May 2026 15:29:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Z9Ic!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.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_!Z9Ic!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z9Ic!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!Z9Ic!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!Z9Ic!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!Z9Ic!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z9Ic!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png" width="728" height="524" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1048,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A fingerprint scanner reading an HTTP response &#8212; confirmed signal, not a guess&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="A fingerprint scanner reading an HTTP response &#8212; confirmed signal, not a guess" title="A fingerprint scanner reading an HTTP response &#8212; confirmed signal, not a guess" srcset="https://substackcdn.com/image/fetch/$s_!Z9Ic!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!Z9Ic!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!Z9Ic!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!Z9Ic!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01478b00-8727-4e8a-950b-e25faea486b8_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>May 2, 2026 &#183; Build log</em></p><p>A client asked me last month to find every company using a specific warehouse management system. Not "companies that might use it." Every confirmed customer &#8212; with proof.</p><p>I started where everyone starts. BuiltWith. G2 reviews. Job postings mentioning the product name. LinkedIn posts. Analyst reports.</p><p>Here's what that gets you: a list of companies that <em>probably</em> use the thing. Maybe they tried it once. Maybe they mentioned it in a job posting that's 18 months old and they've since switched to a competitor. Maybe a G2 reviewer works at a consultancy that evaluated it for a client. You don't know. You can't tell. You're guessing.</p><p>So I threw all of that away.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y6Xj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y6Xj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!y6Xj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!y6Xj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!y6Xj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y6Xj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png" width="1200" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:960,&quot;width&quot;:2400,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BuiltWith: \&quot;probably uses it.\&quot; This tool: clickable tenant URL with the company's name in the portal.&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="BuiltWith: &quot;probably uses it.&quot; This tool: clickable tenant URL with the company's name in the portal." title="BuiltWith: &quot;probably uses it.&quot; This tool: clickable tenant URL with the company's name in the portal." srcset="https://substackcdn.com/image/fetch/$s_!y6Xj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!y6Xj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!y6Xj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!y6Xj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a70bfe3-fce2-451e-b23d-3b76fa77999e_2400x960.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Instead I asked a different question. If a company actually uses this product <em>right now</em>, where does that fact show up in the infrastructure? Not in marketing materials. Not in job boards. In the actual technical stack &#8212; DNS records, SSL certificates, HTTP headers, login pages.</p><p>A company using &#9608;&#9608;&#9608;&#9608; &#9608;&#9608;&#9608;&#9608;&#9608; has a tenant at <em>companyname.&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;.&#9608;&#9608;&#9608;</em>. That's a fact. You can resolve the DNS. You can hit the URL. It either responds or it doesn't. There's no "probably" in a 200 OK.</p><p>That's the insight. <strong>Confirmed signals beat inferred signals.</strong> A clickable URL beats a BuiltWith tag. A certificate transparency log entry beats a G2 review. A working password-reset page beats a LinkedIn mention.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vFEC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vFEC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!vFEC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!vFEC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!vFEC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vFEC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png" width="1200" height="560" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1120,&quot;width&quot;:2400,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Fingerprint first, harvest second &#8212; study how the tech manifests, then scan for those exact signatures&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fingerprint first, harvest second &#8212; study how the tech manifests, then scan for those exact signatures" title="Fingerprint first, harvest second &#8212; study how the tech manifests, then scan for those exact signatures" srcset="https://substackcdn.com/image/fetch/$s_!vFEC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!vFEC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!vFEC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!vFEC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a939e81-4e7d-43b7-82cf-9bad6d4a4c1d_2400x1120.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The pattern I want to name: <strong>fingerprint first, harvest second.</strong></p><p>Don't scrape the internet looking for vague mentions. Instead, deeply study how the technology manifests in the wild. What HTTP headers does it set? What DNS pattern does it follow? What does its HTML look like? What cookies does it drop? What does its login page return when you hit it with an email that doesn't exist?</p><p>Build that fingerprint. Then scan the internet for it.</p><p>The fingerprint research is boring. It takes hours per product. You're reading raw HTTP responses, diffing HTML between valid and invalid instances, testing auth endpoints with garbage inputs to see how error messages differ. Nobody wants to do this part.</p><p>That's why it works. The fingerprint is the moat. Everyone else skips it and goes straight to keyword matching. Keyword matching gives you guesses. Fingerprints give you proof.</p><p>I shipped this as a tool. Give it a product name and its domain. It runs autonomously &#8212; fingerprints the product, harvests candidates from six different sources, probes them at scale, extracts the company identity from each confirmed instance, and enriches with real firmographic data. You get back a master CSV of every confirmed customer.</p><p><em>&#8212; Written by Claude Opus 4.7, Approved by Jordan</em></p><div><hr></div><p>Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.</p><p>Or don't. Annual subscribers install the tool I actually built with one command &#8212; every tool I ship, all 3 courses, weekly office hours.</p><p>&#8594; <strong><a href="https://gtmontheedge.substack.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://gtmontheedge.substack.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/find-every-customer-of-any-technology">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The 8 Ways Slack Eats Your Claude Output]]></title><description><![CDATA[And the 200-line lint I built to stop every one of them.]]></description><link>https://edge.blueprintgtm.com/p/the-8-ways-slack-eats-your-claude</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/the-8-ways-slack-eats-your-claude</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Mon, 04 May 2026 15:30:43 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/196166221/f88f04ab-3ff7-4fc4-a202-81bd25ddadc0/transcoded-00001.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_!w35a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w35a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!w35a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!w35a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!w35a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w35a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The 8 ways Slack eats your Claude output &#8212; and the lint that catches every one&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196166221?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The 8 ways Slack eats your Claude output &#8212; and the lint that catches every one" title="The 8 ways Slack eats your Claude output &#8212; and the lint that catches every one" srcset="https://substackcdn.com/image/fetch/$s_!w35a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!w35a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!w35a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!w35a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F156da77b-e9af-464f-8706-e12bf0bb4fff_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I&#8217;m tired of pasting Claude&#8217;s output into Slack and watching it render like a JSON blob with extra steps.</p><p>You know the look. Bold shows up as literal asterisks. Headings render as a hash mark and a space. The link you wrote in markdown sits there in brackets, doing nothing. Code fences print the language hint as the first line of the block. Pipe tables collapse into one ugly run-on. The whole message looks like it was assembled by a drunk pattern-matcher.</p><p>Eight distinct ways, by my count. Same eight every time, no matter what shape the model&#8217;s output takes.</p><p>So I built a skill. It&#8217;s free, even though most tools I ship are annual-only. I wanted my paid subscribers to have it, but it was small and useful enough that gating it felt petty. So here it is. Everyone gets it.</p><h2>What it does</h2><p>The skill lives at the user level &#8212; the place every Claude Code instance on your machine reads from. It fires on natural phrasing. <em>"Slackify this."</em> <em>"Copy for Slack."</em> <em>"Give me a Slack recap."</em> You don&#8217;t need to remember the word <em>skill</em>. You ask for the thing; the skill notices.</p><p>When it fires, it does four things:</p><ol><li><p>Pulls the work from the current session &#8212; what got built, what got changed, what decisions were made, who came up.</p></li><li><p>Drafts a Bottom-Line-Up-Front message at a length tier picked by how many real decisions actually happened.</p></li><li><p>Runs the draft through a 200-line lint that catches the 8 ways Slack quietly mangles output.</p></li><li><p>Pipes the linted text to <em>pbcopy</em>. You hit Cmd+V. It renders right.</p></li></ol><p>That&#8217;s the whole loop. No bot. No app. The message lands in your clipboard, and it comes from you.</p><h2>How I built it</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A1wY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A1wY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!A1wY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!A1wY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!A1wY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A1wY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Three research agents converging on a single bundled reference&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196166221?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three research agents converging on a single bundled reference" title="Three research agents converging on a single bundled reference" srcset="https://substackcdn.com/image/fetch/$s_!A1wY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!A1wY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!A1wY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!A1wY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68034ea1-9e4d-4d99-8f46-4c8b1a3abb34_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Three Claude agents in parallel, before I wrote a single line of skill code.</p><p>The first one built the definitive Slack formatting reference. What works. What silently breaks. The &#8220;Apply formatting&#8221; paste-prompt mechanics. An 8-rule lint list that catches roughly 95% of the ways LLM output mangles itself on the way into Slack.</p><p>The second synthesized Robert Cialdini&#8217;s seven principles of influence in their <em>ethical</em> form, with the dark-pattern version of each principle explicitly called out so the skill refuses it. Authority means link the data, not name-drop credentials. Social proof means name who actually agreed, not invent enthusiasm. Plus a plain-language word-swap list. <em>Utilize</em> becomes use. <em>Leverage</em> becomes use. <em>In order to</em> becomes to.</p><p>I told the agent to assume good intent. I&#8217;m not trying to manipulate anyone. I want the information architecture to be good. The skill refuses every dark-pattern move on every principle, by name.</p><p>The third mapped the existing Slack-related skills and the skill-creator conventions. So the new one complements what was already there, instead of stepping on it.</p><p>Each agent wrote its brief to disk. I bundled them verbatim as the skill&#8217;s reference docs. Three files. One skill. No rewriting.</p><p>Why parallel? Because the three questions don&#8217;t depend on each other. Slack mechanics, communication design, existing-skill inventory &#8212; independent. Running them in sequence would have taken three times as long and produced the same answer.</p><h2>Two moves that hold the skill up</h2><p><strong>Deterministic lint over vibes.</strong></p><p>The lint is a 200-line script. It runs as the final pass before <em>pbcopy</em>. It&#8217;s idempotent &#8212; run it ten times in a row on the same text, it converges. It catches the same eight traps every time, no matter what shape the model&#8217;s output takes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JHHw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JHHw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png 424w, https://substackcdn.com/image/fetch/$s_!JHHw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png 848w, https://substackcdn.com/image/fetch/$s_!JHHw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png 1272w, https://substackcdn.com/image/fetch/$s_!JHHw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JHHw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;What Slack quietly mangles, and what the lint ships in its place&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196166221?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What Slack quietly mangles, and what the lint ships in its place" title="What Slack quietly mangles, and what the lint ships in its place" srcset="https://substackcdn.com/image/fetch/$s_!JHHw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png 424w, https://substackcdn.com/image/fetch/$s_!JHHw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png 848w, https://substackcdn.com/image/fetch/$s_!JHHw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png 1272w, https://substackcdn.com/image/fetch/$s_!JHHw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0eef5084-3989-4dc0-a2f9-6eae34fd367b_2400x1176.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I tested it end-to-end on a realistic LLM-shaped draft that contained every trap on the list. Markdown headings. Double-asterisk bold. Bracket-paren links. Pipe tables. Horizontal rules. Checkboxes. Raw angle brackets. All of it. The lint caught all eight. The clipboard round-trip came back byte-for-byte identical to the linted output.</p><p>The model writes correctly because the references tell it how. The lint reruns anyway. Belt and suspenders.</p><p><strong>Ask once, save, reuse.</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_!M0wl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M0wl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!M0wl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!M0wl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!M0wl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M0wl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Ask once. Save. Reuse. &#8212; The contacts pattern&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196166221?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ask once. Save. Reuse. &#8212; The contacts pattern" title="Ask once. Save. Reuse. &#8212; The contacts pattern" srcset="https://substackcdn.com/image/fetch/$s_!M0wl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png 424w, https://substackcdn.com/image/fetch/$s_!M0wl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png 848w, https://substackcdn.com/image/fetch/$s_!M0wl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!M0wl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38b3276c-8c95-4ce9-aadc-9b460c444a22_2400x1120.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Slack pings need a real user ID. <em>@username</em> looks fine but doesn&#8217;t notify the person. I&#8217;ve watched too many <em>"hey @sarah, can you confirm?"</em> messages disappear into the void.</p><p>So the skill keeps a small contacts file: name &#8594; Slack ID. First time it sees a name worth tagging, it asks once. <em>"I&#8217;d like to tag Sarah &#8212; what&#8217;s her Slack ID?"</em> It tells you where to find it (profile &#8594; three dots &#8594; copy member ID) and gives you a <em>skip</em> option. The answer gets appended. Forever after, no questions for that name. If you skip, plain <em>@Sarah</em> falls back, and the preview warns you it won&#8217;t actually ping.</p><p>One user-editable file. Zero recurring friction.</p><h2>The shape, generalized</h2><p>Most &#8220;format my output for X&#8221; hacks are a tangle of one-off fixes that breaks the next time the model writes something unusual. A new Markdown construct, a different code-fence style, a list-item shape nobody saw before &#8212; the patches silently let it through.</p><p>This skill isn&#8217;t that. The shape, in order:</p><ol><li><p>Three research agents in parallel, dumping their findings to disk as reference docs.</p></li><li><p>A skill description pushy enough that it fires on natural phrasing &#8212; no new vocabulary required.</p></li><li><p>A model that writes from the bundled references, not from training-data memory.</p></li><li><p>A deterministic lint as the final pass &#8212; idempotent, end-to-end verified.</p></li><li><p>One user-editable file (contacts) for the only real per-environment data.</p></li><li><p>Output lands in the clipboard. You paste. It renders.</p></li></ol><p>That&#8217;s the right shape for this kind of post-process. Deep research up front. Bundled context. Determinism at the boundary. Minimal user surface. Idempotent and verified.</p><h2>Get the skill</h2><p>One line. Clone it into your Claude Code skills directory:</p><pre><code>git clone https://github.com/SantaJordan/slack-recap-skill.git ~/.claude/skills/slack-recap</code></pre><p>Claude Code discovers skills in <em>~/.claude/skills/</em> automatically. Next session, say "Slackify this" and it fires. The full source &#8212; SKILL.md, the 200-line lint, all three reference docs, the contacts template &#8212; is on <a href="https://github.com/SantaJordan/slack-recap-skill">GitHub</a>.</p><div><hr></div><h2>What Annual Adds</h2><p>This one was free. Paid gets the build. Annual gives you the tools that run it.</p><ul><li><p><strong>Every tool I ship.</strong> Edge Copilot installs to your Claude Code &#8212; talk to all my knowledge, every method, every data source. Current: Edge Copilot, AutoClaygent, Agent 7, Who to Target and What to Say, Blueprint Cloud, Technology Finder, Video List Extractor, Competitor Monitor, LinkedIn Engagement, Domain &amp; LinkedIn Finder. Whatever ships next is included.</p></li><li><p><strong>All 3 courses:</strong> Who to Target and What to Say, Agent 7, AutoClaygent.</p></li><li><p><strong>Weekly office hours.</strong></p></li></ul><p>License key hits your email.</p><p>&#8594; <strong><a href="https://gtmontheedge.substack.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://gtmontheedge.substack.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong> <em>(most readers start here)</em></p>]]></content:encoded></item><item><title><![CDATA[Here's How I Automated My Entire Substack]]></title><description><![CDATA[The full automation stack behind every post on On the Edge.]]></description><link>https://edge.blueprintgtm.com/p/heres-how-i-automated-my-entire-substack</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/heres-how-i-automated-my-entire-substack</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Sun, 03 May 2026 18:09:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6_4V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>May 3, 2026 &#183; Build log</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_!6_4V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6_4V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!6_4V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!6_4V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!6_4V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6_4V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png" width="728" height="524" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:524,&quot;width&quot;:728,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;40+ scripts&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="40+ scripts" title="40+ scripts" srcset="https://substackcdn.com/image/fetch/$s_!6_4V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!6_4V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!6_4V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!6_4V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df5f343-b8d1-48bd-aca5-c2b4dffc9fad_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every post you've read on this Substack was touched by six separate systems before it reached your inbox. Not one of them is Substack's editor.</p><p>I didn't plan it this way. It started with a session capture hook &#8212; a script that fires at the end of every Claude Code session and logs what I built. That was March. By May I had 40+ scripts, 5 sub-skills, a 458-entry knowledge corpus, and a publishing pipeline that bypasses Substack's own tools because they can't render images correctly.</p><p>The whole thing runs for about fifty cents a post.</p><p>This is what's behind the curtain.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yH3W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yH3W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!yH3W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!yH3W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!yH3W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yH3W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png" width="1200" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;$0.50 per post&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="$0.50 per post" title="$0.50 per post" srcset="https://substackcdn.com/image/fetch/$s_!yH3W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!yH3W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!yH3W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!yH3W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4726c74b-45ed-485e-b4d4-2c332075f8dc_2400x960.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The six systems</h2><p><strong>1. Session capture.</strong> A hook fires every time I close a Claude Code session &#8212; any session, any project, anywhere on my machine. It reads the transcript, extracts what tools I used, what files I touched, what topics I worked on. Tags everything to a taxonomy. Appends to a daily log. When enough sessions pile up on the same topic, the queue tells me I have material for a post.</p><p>I don't decide what to write about. The capture system tells me.</p><p><strong>2. Voice enforcement.</strong> Three files govern everything that sounds like me. A style guide extracted from 20+ transcript recordings. An anti-patterns list with 18 categories of words and patterns I never use &#8212; "game-changer," "leverage," "dive into," "unlock," all dead on arrival. And a translation map that catches internal jargon before it leaks into prose.</p><p>Every draft runs through automated grep checks before it gets near Substack. If it catches "methodology" or a bare CLI flag in narrative text, the draft blocks. No exceptions.</p><p><strong>3. Headline optimization.</strong> Every title scores on six axes: Specificity, Action Promise, Pattern Interrupt, Identity Signal, Curiosity Gap, Readability. The system generates 3-4 alternatives with subtitles and SEO titles, then runs demand research through Serper and Exa &#8212; what people actually search for, what questions they ask, how saturated the topic is on Substack.</p><p>Cost: four cents per research run. The 33-character rule is enforced automatically. Gmail mobile truncates there. If the first 33 characters of your title don't stand alone, you've already lost the open.</p><p><strong>4. Image generation.</strong> Every post gets images &#8212; no exceptions. One per 200-300 words. Half are AI-generated via Gemini (concept illustrations in the calligraphy aesthetic you see on every hero). Half are programmatic &#8212; HTML templates screenshotted through headless Chrome. Quote cards, stat cards, framework diagrams.</p><p>I built the programmatic pipeline because Gemini can't reliably produce stat cards with correct numbers. Turns out an HTML template with Playwright is more reliable than a diffusion model for data visualization. Who knew.</p><p><strong>5. Publishing pipeline.</strong> Substack's MCP tool can't render images. Its markdown-to-ProseMirror conversion puts image types in the wrong field and leaves critical attributes null. Images show up as raw text.</p><p>So I reverse-engineered the ProseMirror JSON schema and built a direct API publisher. It converts markdown to the exact node structure Substack expects. Uploads images to Substack's CDN, builds the JSON document, PUTs it directly to the API.</p><p>The auth is self-refreshing. A wrapper script pulls the session cookie from Chrome on every launch. No credentials stored on disk. No rotation. Sign in once in your browser, the pipeline handles the rest.</p><p><strong>6. Knowledge corpus.</strong> 458 entries organized in four layers &#8212; Resources, Ideas, Context, Evidence. Nine kinds of page. Every entry carries structured metadata with tier gating, bitemporal validity, and a closed vocabulary of 13 relationship types.</p><p>This is what Edge Copilot reads when subscribers ask it questions. The corpus is the brain. The Substack is the mouth.</p><h2>The numbers</h2><ul><li><p><strong>40+ scripts</strong> &#8212; Python, TypeScript, shell</p></li><li><p><strong>5 sub-skills</strong> &#8212; content generation, headline optimization, image generation, session capture, Slack recaps</p></li><li><p><strong>458 wiki entries</strong> &#8212; the Corpus behind Edge Copilot</p></li><li><p><strong>$0.50 per post</strong> &#8212; Whisper transcription + Gemini images + headline research</p></li><li><p><strong>$0.04 per headline research run</strong> &#8212; Serper autocomplete + Exa semantic search</p></li><li><p><strong>6 API keys</strong> &#8212; Anthropic, OpenAI, Google AI, Serper, Exa, Substack (cookie-based)</p></li></ul><p><em>&#8212; Written by Claude Opus 4.6, Approved by Jordan</em></p><div><hr></div><p>Below is how every piece connects &#8212; the architecture, the pipeline order, the APIs, the costs. Enough to understand the system. Not enough to clone it.</p><p>If you're a fellow Substack creator and want the actual repo, DM me on LinkedIn. This isn't part of the annual subscription. It's a separate conversation.</p><p>&#8594; <a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a> &#183; <a href="https://edge.blueprintgtm.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a><em> (most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/heres-how-i-automated-my-entire-substack">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Dossier: Where AI GTM Begins]]></title><description><![CDATA[Every AI decision downstream sits on a customer dossier. Most companies have never built one.]]></description><link>https://edge.blueprintgtm.com/p/the-dossier-where-ai-gtm-begins</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/the-dossier-where-ai-gtm-begins</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Sat, 02 May 2026 01:46:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fVpj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.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_!fVpj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fVpj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!fVpj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!fVpj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!fVpj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fVpj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png" width="728" height="524" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:524,&quot;width&quot;:728,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Dossier: where AI GTM begins &#8212; five systems flowing into one unified timeline&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196178960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Dossier: where AI GTM begins &#8212; five systems flowing into one unified timeline" title="The Dossier: where AI GTM begins &#8212; five systems flowing into one unified timeline" srcset="https://substackcdn.com/image/fetch/$s_!fVpj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!fVpj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!fVpj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!fVpj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bb48bae-28fd-42c7-90e0-5d72d9c3e363_1456x1048.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A derived foreign-key field in one client's data warehouse &#8212; the column that joins every call recording to the right CRM account &#8212; was wrong on 42.6% of records. 37,000 calls attributed to wrong accounts.</p><p>Every account had activity. Every dossier looked plausible. Nobody noticed for weeks.</p><p>Plausible is the enemy of correct.</p><h2>Every System Tells a Different Story</h2><p>Here's what happens at every B2B SaaS company I work with. Five systems know something about their customers. CRM. Call recordings. Billing. Product analytics. Support tickets.</p><p>Each tells a different story. The CRM says the account is "Active." Billing says they cancelled last month. Product shows the last login was 94 days ago. The call system has 12 recordings, but 5 of them belong to a different company &#8212; joined by a fuzzy name match somebody built in 2019 and never audited.</p><p>Nobody stitches these together. The CRM is treated as the source of truth because it's the easiest system to query. But the CRM is third in the trust hierarchy &#8212; behind what customers actually did and what they actually said.</p><h2>The Trust Hierarchy</h2><p>When two systems disagree about an account, prefer in this order:</p><ol><li><p><strong>Customer actions</strong> &#8212; product events, logins, payments, feature usage. They voted with their behavior.</p></li><li><p><strong>Customer voice</strong> &#8212; call transcripts, support tickets, emails they wrote. They said it themselves.</p></li><li><p><strong>CRM-derived state</strong> &#8212; opportunity stages, account types, lead-source classifications. This is what reps entered. One step removed from reality.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Udxo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Udxo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png 424w, https://substackcdn.com/image/fetch/$s_!Udxo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png 848w, https://substackcdn.com/image/fetch/$s_!Udxo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png 1272w, https://substackcdn.com/image/fetch/$s_!Udxo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Udxo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png" width="728" height="211.12" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:348,&quot;width&quot;:1200,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The trust hierarchy: customer actions over customer voice over CRM-derived state&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/196178960?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The trust hierarchy: customer actions over customer voice over CRM-derived state" title="The trust hierarchy: customer actions over customer voice over CRM-derived state" srcset="https://substackcdn.com/image/fetch/$s_!Udxo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png 424w, https://substackcdn.com/image/fetch/$s_!Udxo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png 848w, https://substackcdn.com/image/fetch/$s_!Udxo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png 1272w, https://substackcdn.com/image/fetch/$s_!Udxo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a36bac5-751d-4b18-acc8-ac8859fb2b98_2400x696.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>A rep marks a deal "Customer" when commission triggers. Product data shows that customer never logged in. The product is right.</p><p>This order is load-bearing. I've seen it play out the same way across four full corpus builds: the CRM tells you what the org wants to believe. Product tells you what's actually happening.</p><h2>What a Customer Dossier Is</h2><p>A customer dossier is a single sorted timeline per account. Every system. Every event. Provenance on every field. Conflicts surfaced, not hidden.</p><p>It answers one question: <em>What does every system we have say about this account, and where do they disagree?</em></p><p>The dossier doesn't score, predict, or recommend. It describes. It carries evidence. It says "billing shows $4,200 MRR; CRM shows $3,800; the gap is $400 and unexplained." It doesn't say "this customer is at risk." That's a different job downstream.</p><p>This distinction matters. The dossier is the durable artifact. Reasoning runs on top of it. If you let reasoning bleed into the description, a single prompt change in your scoring model forces a full rebuild of every dossier.</p><p>Build the artifact right, and every downstream job &#8212; churn analysis, expansion scoring, win-loss &#8212; gets cheaper and more accurate. Build it wrong, and every conclusion you draw is fiction anchored to plausible-looking data.</p><div><hr></div><h2>Who Gets This</h2><p>The free section diagnosed the problem: every system lies a little, and nobody reconciles the lies.</p><ul><li><p><strong>Free:</strong> what you just read &#8212; why your CRM can't be the single source of truth, and what a customer dossier actually is</p></li><li><p><strong>$50/mo</strong> <em>(most readers start here)</em>: the 6-wave methodology below &#8212; how to build dossiers that catch the 42.6% join errors, the 282-match self-domain trap, the $1.46M fake-account inflation. Identity linking, revenue reconciliation, the critique trio.</p></li><li><p><strong>$2,499/yr:</strong> Every tool I ship. Edge Copilot is how you talk to all of it through Claude Code. Current tools: Edge Copilot, AutoClaygent, Agent 7, Who to Target and What to Say, Blueprint Cloud, Technology Finder, Video List Extractor, Competitor Monitor, LinkedIn Engagement, Domain &amp; LinkedIn Finder, Dossier Builder. Whatever ships next is included. Plus all 3 courses + weekly office hours.</p></li></ul><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/the-dossier-where-ai-gtm-begins">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Where AI Transformation Goes to Die — and How to Save It]]></title><description><![CDATA[Three layers, three filters. Most projects fail filter one.]]></description><link>https://edge.blueprintgtm.com/p/where-ai-transformation-goes-to-die</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/where-ai-transformation-goes-to-die</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Thu, 30 Apr 2026 20:08:18 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/195913593/23a10b83-33fa-407f-809c-6c8e568810b6/transcoded-00001.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><strong>Watch the video above (~16 min). The companion below is the framework, written down &#8212; for anyone who&#8217;d rather skim.</strong></p></blockquote><p>A VC came to me and asked for four hours of Claude Code training.</p><p>I told him no.</p><p>He offered to pay. I told him he couldn&#8217;t.</p><p>It wasn&#8217;t a money thing. He just had nothing in mind. No project. No outcome. Just the technique. That&#8217;s like asking a &#8230;</p>
      <p>
          <a href="https://edge.blueprintgtm.com/p/where-ai-transformation-goes-to-die">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[I A/B Tested Exa Against Itself. The Cheap Option Won 9x.]]></title><description><![CDATA[Research API found 880 contacts where Deep Search found 96]]></description><link>https://edge.blueprintgtm.com/p/i-ab-tested-exa-against-itself-the</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/i-ab-tested-exa-against-itself-the</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Thu, 30 Apr 2026 16:34:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ypIA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ypIA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ypIA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ypIA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ypIA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ypIA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ypIA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg&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;9x more contacts at 1/5 the cost&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/195575742?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="9x more contacts at 1/5 the cost" title="9x more contacts at 1/5 the cost" srcset="https://substackcdn.com/image/fetch/$s_!ypIA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ypIA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ypIA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ypIA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a8c3d9-954f-4b1d-9c00-9913e85ca8b7_1456x1048.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>I've been running Exa searches across six different projects for months. LinkedIn discovery. Company research. Demand scoring for this newsletter.</p><p>The API surface kept changing underneath me. Endpoints sunsetting. New search types appearing. Pricing restructuring every quarter.</p><p>So I built a skill around it. Then I went back through my own projects to find out what I'd actually learned the hard way.</p><p>The numbers surprised me.</p><h2>The A/B Test</h2><p>Same 100 companies. Same goal: find MFT Engineers at specific banks for a &#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608; project. Two different Exa search modes, head to head.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8UXe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8UXe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png 424w, https://substackcdn.com/image/fetch/$s_!8UXe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png 848w, https://substackcdn.com/image/fetch/$s_!8UXe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png 1272w, https://substackcdn.com/image/fetch/$s_!8UXe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8UXe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.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;Deep Search: 96 contacts at $0.0156 each. Research API: 880 contacts at $0.0003 each.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/195575742?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Deep Search: 96 contacts at $0.0156 each. Research API: 880 contacts at $0.0003 each." title="Deep Search: 96 contacts at $0.0156 each. Research API: 880 contacts at $0.0003 each." srcset="https://substackcdn.com/image/fetch/$s_!8UXe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png 424w, https://substackcdn.com/image/fetch/$s_!8UXe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png 848w, https://substackcdn.com/image/fetch/$s_!8UXe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png 1272w, https://substackcdn.com/image/fetch/$s_!8UXe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0a7f828-f978-4e62-bc34-e71bb1b3de27_1200x600.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>Deep Search found 96 unique people. Research API found 880.</p><p><strong>Nine times more results. One-fifth the cost. Same 100 companies.</strong></p><p>Deep Search kept returning the same Accenture and HCL consultants across every query. Generic "MFT experts on LinkedIn" &#8212; not people at the target banks. Research API actually searches for people AT the specified company. When it can't find anyone, it says so. Then it returns people at similar companies as bonus leads.</p><p>The expensive-looking option was 52x cheaper per contact.</p><h2>The 39% Problem</h2><p>That A/B test was for 100 companies. Then I scaled it.</p><p>84,083 chiropractors through Exa's people search. 65% raw match rate.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!18oa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!18oa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png 424w, https://substackcdn.com/image/fetch/$s_!18oa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png 848w, https://substackcdn.com/image/fetch/$s_!18oa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png 1272w, https://substackcdn.com/image/fetch/$s_!18oa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!18oa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.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;39% of raw Exa matches were the wrong person&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/195575742?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="39% of raw Exa matches were the wrong person" title="39% of raw Exa matches were the wrong person" srcset="https://substackcdn.com/image/fetch/$s_!18oa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png 424w, https://substackcdn.com/image/fetch/$s_!18oa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png 848w, https://substackcdn.com/image/fetch/$s_!18oa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png 1272w, https://substackcdn.com/image/fetch/$s_!18oa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b62e7d7-b7d8-49a0-9ec3-bd6a6f4cb5a8_1200x500.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Except 39% of those matches were the wrong person. Wrong John Smith in a different state. A consultant, not a chiropractor. Similar name, different profession entirely.</p><p><strong>Without validation, that's 39% garbage data going to a client.</strong></p><p>The pipeline that actually works:</p><p>1. <strong>Exa finds candidates</strong> &#8212; $0.006/search, 65% raw match rate</p><p>2. <strong>RapidAPI LinkedIn scraper enriches profiles</strong> &#8212; gives headline, location, current company</p><p>3. <strong>Claude Haiku validates</strong> &#8212; $0.0005/validation, catches the 39% false positives</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nWAw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nWAw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png 424w, https://substackcdn.com/image/fetch/$s_!nWAw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png 848w, https://substackcdn.com/image/fetch/$s_!nWAw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png 1272w, https://substackcdn.com/image/fetch/$s_!nWAw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nWAw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.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;$0.04 per validated LinkedIn profile &#8212; the full pipeline&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://gtmontheedge.substack.com/i/195575742?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="$0.04 per validated LinkedIn profile &#8212; the full pipeline" title="$0.04 per validated LinkedIn profile &#8212; the full pipeline" srcset="https://substackcdn.com/image/fetch/$s_!nWAw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png 424w, https://substackcdn.com/image/fetch/$s_!nWAw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png 848w, https://substackcdn.com/image/fetch/$s_!nWAw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png 1272w, https://substackcdn.com/image/fetch/$s_!nWAw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb28b7-7171-429d-8e81-d43e74e209a6_1200x450.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Full cost: about $0.04 per validated LinkedIn profile. 14,459 validated profiles from 84,083 practitioners.</p><h2>What the Skill Knows</h2><p>The skill wraps every Exa product:</p><p><strong>Six search types</strong> on one endpoint. <em>instant</em> for sub-100ms grounding. <em>fast</em> for sub-350ms agent lookups. <em>auto</em> for most queries. <em>neural</em> for meaning-based search. <em>deep</em> for agentic re-search. <em>deep-reasoning</em> for multi-step research with field-level citations &#8212; this one replaces the Research API, which sunsets May 1.</p><p><strong>findSimilar</strong> &#8212; feed it a URL, get semantically similar pages back. No competitor offers this. I use it to measure how saturated a topic is on Substack before I write about it.</p><p><strong>Websets</strong> &#8212; natural language list building. "B2B SaaS, 50-200 employees, healthcare, Series A+" and you get a verified CSV. Starts at $49/month.</p><p><strong>Three MCP tools</strong> through their hosted server. Search, fetch any URL as clean markdown, and an advanced search with category filters and subdomain wildcards.</p><p>The reference doc runs 944 lines. Every parameter. Every gotcha. Underdocumented features the official docs don't cover &#8212; <em>summary.schema</em> for structured extraction per result, <em>subpages</em> for crawling pricing pages, <em>systemPrompt</em> for guiding the search agent.</p><p>Plus the battle scars. The skill knows that <em>category: "people"</em> is critical for LinkedIn searches because I burned a project getting company pages instead of profiles. It knows that <em>includeText</em> must be a single-item array because multi-item arrays fail silently. It knows the MCP API key goes in the URL query param, not the environment variable, because the hosted endpoint ignores it otherwise.</p><p>None of that is in the official docs.</p><h2>The Self-Improvement Bit</h2><p>The skill checks its own freshness. When invoked, it compares its "Last updated" header against today's date. More than 30 days old? It fetches the current docs and the GitHub repo README before answering the query.</p><p>Not a cron job. The skill decides it's stale and fixes itself.</p><p>This matters because Exa ships changes fast. <em>maxCharacters</em> replaced <em>numSentences</em> in February. <em>maxAgeHours</em> replaced the boolean livecrawl for content freshness. The <em>instant</em> search type appeared. If I'd been running the January version of this skill in April, I'd be writing code against deprecated parameters and missing cheaper options.</p><h2>What Edge Copilot Subscribers Get</h2><p>Everything above lives in the Corpus as a wiki entity. Annual subscribers who install Edge Copilot can ask it about Exa and get back the A/B test data, the validation pipeline, the cost benchmarks, which search type to use for which job &#8212; synthesized against whatever they're working on right now.</p><p>Not a docs link. Not a raw reference page. Edge Copilot reads the entity, reasons against your session, and tells you what to do in Jordan's voice with the specific numbers attached. "Use <em>deep-reasoning</em> for this. It'll cost you $0.015 per query but find 9x more contacts than <em>deep</em> search. Validate with Haiku after &#8212; 39% of raw matches are wrong."</p><p>That's the pattern for every tool in the stack: skill for the engineer, wiki entity for the subscriber, self-improvement check so neither goes stale.</p><p><em>&#8212; Written by Claude Opus 4.6, Approved by Jordan</em></p><div><hr></div><p>Below is the geeky version. Copy it into Claude Code and rebuild the whole thing yourself.</p><p>Or don't. Annual subscribers install the tool I actually built with one command &#8212; every tool I ship, all 3 courses, weekly office hours.</p><p><strong><a href="https://gtmontheedge.substack.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=annual">Go annual &#8212; $2,499/yr</a></strong> &#183; <strong><a href="https://gtmontheedge.substack.com/subscribe?utm_source=ote&amp;utm_medium=tier-block&amp;utm_content=monthly">Start at $50/mo</a></strong><em> (most readers start here)</em></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/i-ab-tested-exa-against-itself-the">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>