<?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: My Tools]]></title><description><![CDATA[Skills, pipelines, and agents I've built. Blueprint Swarm, AutoClaygent, Edge Copilot.]]></description><link>https://edge.blueprintgtm.com/s/my-tools</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: My Tools</title><link>https://edge.blueprintgtm.com/s/my-tools</link></image><generator>Substack</generator><lastBuildDate>Wed, 03 Jun 2026 16:55:38 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[I scored every parking lot in America for $45]]></title><description><![CDATA[Free federal photos plus the cheapest vision AI. Then I pointed the same engine at roofs.]]></description><link>https://edge.blueprintgtm.com/p/i-scored-every-parking-lot-in-america</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/i-scored-every-parking-lot-in-america</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Sat, 30 May 2026 20:19:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!A-Bc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_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_!A-Bc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A-Bc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!A-Bc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!A-Bc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!A-Bc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A-Bc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/332c9c8e-3e94-4df9-ac51-a5e9def514b3_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;$45 to score every parking lot in America &#8212; pull lot polygons, crop a free aerial photo, score with cheap AI, rank and find the owner&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/199828979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="$45 to score every parking lot in America &#8212; pull lot polygons, crop a free aerial photo, score with cheap AI, rank and find the owner" title="$45 to score every parking lot in America &#8212; pull lot polygons, crop a free aerial photo, score with cheap AI, rank and find the owner" srcset="https://substackcdn.com/image/fetch/$s_!A-Bc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!A-Bc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!A-Bc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!A-Bc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332c9c8e-3e94-4df9-ac51-a5e9def514b3_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 company that fixes parking lots wins about one and a half percent of its cold outreach. Today they pick who to call from federal industry codes. A code tells you what a business <em>is</em>. It doesn't tell you whether their lot is cracked.</p><p>So they're guessing. And the thing they're guessing at &#8212; the condition of the actual asset &#8212; was photographed from a plane years ago and is sitting in a free government database right now.</p><p>Flip it. Don't start with the company. Start with the lot.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2HGB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2HGB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.png 424w, https://substackcdn.com/image/fetch/$s_!2HGB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.png 848w, https://substackcdn.com/image/fetch/$s_!2HGB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.png 1272w, https://substackcdn.com/image/fetch/$s_!2HGB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2HGB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.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 real Dallas lot, straight from free 15cm public imagery &#8212; dark surface, faded striping, aging sealcoat. You can read the neglect from a plane.&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/199828979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A real Dallas lot, straight from free 15cm public imagery &#8212; dark surface, faded striping, aging sealcoat. You can read the neglect from a plane." title="A real Dallas lot, straight from free 15cm public imagery &#8212; dark surface, faded striping, aging sealcoat. You can read the neglect from a plane." srcset="https://substackcdn.com/image/fetch/$s_!2HGB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.png 424w, https://substackcdn.com/image/fetch/$s_!2HGB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.png 848w, https://substackcdn.com/image/fetch/$s_!2HGB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.png 1272w, https://substackcdn.com/image/fetch/$s_!2HGB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F677642a7-cc12-459e-b8ff-6030fcdd6a9b_1600x1066.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>Score the asset, not the industry</h2><p>Here's the whole move. Pull every commercial parking lot in a metro from OpenStreetMap &#8212; they're already drawn as polygons. Crop a free aerial photo of each one. Ask a cheap AI: how beat-up is this pavement, zero to a hundred. Rank them. Then, only for the worst ones, find the owner.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DVTO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DVTO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.png 424w, https://substackcdn.com/image/fetch/$s_!DVTO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.png 848w, https://substackcdn.com/image/fetch/$s_!DVTO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!DVTO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DVTO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.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;Start with the company &#8212; pick by industry code, guess who's in pain, ~1.5% reply. Start with the lot &#8212; see the cracked asset, rank by condition, backtrack the owner.&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/199828979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Start with the company &#8212; pick by industry code, guess who's in pain, ~1.5% reply. Start with the lot &#8212; see the cracked asset, rank by condition, backtrack the owner." title="Start with the company &#8212; pick by industry code, guess who's in pain, ~1.5% reply. Start with the lot &#8212; see the cracked asset, rank by condition, backtrack the owner." srcset="https://substackcdn.com/image/fetch/$s_!DVTO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.png 424w, https://substackcdn.com/image/fetch/$s_!DVTO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.png 848w, https://substackcdn.com/image/fetch/$s_!DVTO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!DVTO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff70408ff-e1bb-40b0-978d-06c57c268d3f_2400x1400.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 ideal customer was never an industry. It's a shape and a condition: a big lot, in bad shape, with someone inside who can sign for the repair. You can see the first two from space. You can buy the third.</p><p>So I pointed it at all of Dallas. OpenStreetMap had <strong>1,355 commercial lots</strong> over 50,000 square feet already drawn. A free filter &#8212; public building footprints &#8212; threw out 236 of them as rooftops before I spent a cent on AI. The cheap model gated out another 332 as not-actually-a-lot. <strong>787 got a real condition score. Total bill: about a dollar.</strong></p><p>The spread: 52 Poor, 656 Fair, 61 Satisfactory, 18 freshly-sealed Good &#8212; fifty to ninety. <strong>Fifty-two scored 55 or worse. Those are the leads.</strong> Flag everything under 70 and you "find" 720 of them &#8212; every aging lot in the city, which is just noise.</p><p>The lots ran from a 3.8-acre corner strip to a 27-acre vehicle yard. Same pipeline, no tuning, no idea what it was about to look 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_!grJu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!grJu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.png 424w, https://substackcdn.com/image/fetch/$s_!grJu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.png 848w, https://substackcdn.com/image/fetch/$s_!grJu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.png 1272w, https://substackcdn.com/image/fetch/$s_!grJu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!grJu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.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;Drawn to scale &#8212; the engine scored everything from a 3.8-acre corner lot to a 27-acre yard without breaking stride.&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/199828979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Drawn to scale &#8212; the engine scored everything from a 3.8-acre corner lot to a 27-acre yard without breaking stride." title="Drawn to scale &#8212; the engine scored everything from a 3.8-acre corner lot to a 27-acre yard without breaking stride." srcset="https://substackcdn.com/image/fetch/$s_!grJu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.png 424w, https://substackcdn.com/image/fetch/$s_!grJu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.png 848w, https://substackcdn.com/image/fetch/$s_!grJu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.png 1272w, https://substackcdn.com/image/fetch/$s_!grJu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41e47da9-6b49-4880-80ae-c9b5d2d7773c_2400x1180.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>Be honest about what a photo can show</h2><p>Free aerial photos cannot see a single pothole. A pothole is smaller than one pixel. Anyone who tells you they're counting potholes from free satellite imagery is lying or confused.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RIZX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RIZX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.png 424w, https://substackcdn.com/image/fetch/$s_!RIZX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.png 848w, https://substackcdn.com/image/fetch/$s_!RIZX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.png 1272w, https://substackcdn.com/image/fetch/$s_!RIZX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RIZX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.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;Bad vs good &#8212; real Dallas lots scored from 15cm. A Poor 50 (faded striping, repair patches, oxidized) next to a freshly-sealed Good 90.&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/199828979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bad vs good &#8212; real Dallas lots scored from 15cm. A Poor 50 (faded striping, repair patches, oxidized) next to a freshly-sealed Good 90." title="Bad vs good &#8212; real Dallas lots scored from 15cm. A Poor 50 (faded striping, repair patches, oxidized) next to a freshly-sealed Good 90." srcset="https://substackcdn.com/image/fetch/$s_!RIZX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.png 424w, https://substackcdn.com/image/fetch/$s_!RIZX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.png 848w, https://substackcdn.com/image/fetch/$s_!RIZX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.png 1272w, https://substackcdn.com/image/fetch/$s_!RIZX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82628980-2754-485f-b0bd-2cdf6800a319_2400x1240.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>What free photos <em>can</em> see is neglect. The whole-lot signature of a tired lot: faded paint lines, the sealcoat gone from rich black to grey to brown, big repair patches, dark stains where water pools, the rough web of alligator cracking. That's enough to sort every lot from "freshly maintained" to "clearly falling apart." A 2024 study hit 93% accuracy on a five-bucket condition rating from photos this coarse &#8212; while openly admitting it couldn't see individual cracks. It didn't need to.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oHFx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oHFx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.png 424w, https://substackcdn.com/image/fetch/$s_!oHFx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.png 848w, https://substackcdn.com/image/fetch/$s_!oHFx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!oHFx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oHFx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.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;Match the claim to the pixels &#8212; 60cm federal NAIP shows neglect, 15cm state imagery shows cracks, 7.5cm shows one pothole&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/199828979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Match the claim to the pixels &#8212; 60cm federal NAIP shows neglect, 15cm state imagery shows cracks, 7.5cm shows one pothole" title="Match the claim to the pixels &#8212; 60cm federal NAIP shows neglect, 15cm state imagery shows cracks, 7.5cm shows one pothole" srcset="https://substackcdn.com/image/fetch/$s_!oHFx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.png 424w, https://substackcdn.com/image/fetch/$s_!oHFx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.png 848w, https://substackcdn.com/image/fetch/$s_!oHFx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!oHFx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F887416fe-c077-466b-bed6-94bd7c23321f_2400x1060.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>Match the claim to the pixels. Rank on the free stuff. Buy a sharper photo only for the handful of lots you're about to bid.</p><p>And I didn't just trust the model. I laid Dallas's own 311 street-repair complaints over the scores. The lots it called bad averaged 8.3 complaints nearby; the good ones, 5.2. The city's own pothole calls line up with the photos &#8212; free corroboration I didn't have to ask anyone for.</p><h2>The thing I didn't expect: a free 15cm map of America</h2><p>Everyone knows about NAIP &#8212; the federal program that photographs the whole country at 60cm, free. I went in assuming that was the ceiling for free imagery.</p><p>It isn't. <strong>About 35 states fly their own aerial imagery and give it away far sharper than the feds</strong> &#8212; most at 15cm, several (Connecticut, Kentucky, Rhode Island, DC) at 7.5cm. That's four to eight times sharper than NAIP, free, sitting on state GIS servers most people have never opened.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gsPz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_2400x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gsPz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!gsPz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!gsPz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!gsPz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_2400x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gsPz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_2400x960.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/511fc5c1-4610-4726-ac4d-ff5bdc499b63_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;15 cm &#8212; free state aerial imagery, 4 to 8&#215; sharper than federal NAIP, in about 35 states&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/199828979?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_2400x960.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="15 cm &#8212; free state aerial imagery, 4 to 8&#215; sharper than federal NAIP, in about 35 states" title="15 cm &#8212; free state aerial imagery, 4 to 8&#215; sharper than federal NAIP, in about 35 states" srcset="https://substackcdn.com/image/fetch/$s_!gsPz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!gsPz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!gsPz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!gsPz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F511fc5c1-4610-4726-ac4d-ff5bdc499b63_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 treasure map. And it's the line where this stops being a story about <em>why</em> and starts being a story about <em>how</em> &#8212; the exact states, the exact endpoints, the cheapest way to score them, and the legal trick that makes the whole thing shippable.</p><p><em>&#8212; Written by Claude Opus 4.8 (1M context), approved by Jordan.</em></p><h2>Who Gets This</h2><p>This one's free. Most of my build content isn't.</p><ul><li><p><strong>Free:</strong> what you're reading &#8212; the inversion, why a photo beats an industry code, and the rule about matching the claim to the pixels.</p></li><li><p><strong>$50/mo</strong> <em>(most readers start here)</em>: the rest of the build &#8212; the cheapest scoring cascade, the exact imagery sources, and the legal move that makes the whole thing shippable.</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 + weekly office hours.</p></li></ul><p>&#8594; <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> &#183; <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></p><div><hr></div>
      <p>
          <a href="https://edge.blueprintgtm.com/p/i-scored-every-parking-lot-in-america">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><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[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[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[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[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[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[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[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><item><title><![CDATA[597 Attendees From a 3-Minute Screen Recording]]></title><description><![CDATA[The app has no export. I got the list anyway.]]></description><link>https://edge.blueprintgtm.com/p/597-attendees-from-a-3-minute-screen-d25</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/597-attendees-from-a-3-minute-screen-d25</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Sun, 26 Apr 2026 20:03:27 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/41b7d0f7-72c4-435b-911d-7a5ca76b8cb6_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_!xfi2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42f151d-fd1a-45ab-bed4-8c2ee2e723ed_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xfi2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42f151d-fd1a-45ab-bed4-8c2ee2e723ed_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!xfi2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42f151d-fd1a-45ab-bed4-8c2ee2e723ed_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!xfi2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42f151d-fd1a-45ab-bed4-8c2ee2e723ed_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!xfi2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42f151d-fd1a-45ab-bed4-8c2ee2e723ed_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xfi2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42f151d-fd1a-45ab-bed4-8c2ee2e723ed_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c42f151d-fd1a-45ab-bed4-8c2ee2e723ed_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;Row-crop vs whole-frame OCR &#8212; 58% to 99%&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="Row-crop vs whole-frame OCR &#8212; 58% to 99%" title="Row-crop vs whole-frame OCR &#8212; 58% to 99%" srcset="https://substackcdn.com/image/fetch/$s_!xfi2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42f151d-fd1a-45ab-bed4-8c2ee2e723ed_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!xfi2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42f151d-fd1a-45ab-bed4-8c2ee2e723ed_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!xfi2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42f151d-fd1a-45ab-bed4-8c2ee2e723ed_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!xfi2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc42f151d-fd1a-45ab-bed4-8c2ee2e723ed_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>You have a three-minute screen recording of a &#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608; conference attendee pane. A thousand people scrolled past.</p><p>No API. The app doesn't have one.</p><p>No scrapable HTML. The app's an iPad build.</p><p>No export. You asked. They said no.</p><p>Just pixels.</p><p>This situation comes up more than you'd think. Webinar attendee panes. Closed portals. Conference rosters. Any directory somebody could only capture visually. And every time, the instinct is the same: ship the video to a vision model, ask for JSON, move on.</p><p>That instinct is wrong by about 40 percentage points.</p><h2>The pixels-only rule</h2><p>If the data exists only as captured pixels &#8212; not an API, not scrapable HTML, not an export &#8212; use a row-cropping pipeline. Don't use whole-frame OCR. Don't use Gemini.</p><p>That's the whole rule. Everything below it is why.</p><h2>Why whole-frame OCR fails</h2><p>Hand any vision model a video frame with 25 rows of contact data. Ask for structured JSON.</p><p>You'll get about 58% accuracy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1ok-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a769755-833e-4918-aa00-fb9e26b894a6_2400x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1ok-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a769755-833e-4918-aa00-fb9e26b894a6_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!1ok-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a769755-833e-4918-aa00-fb9e26b894a6_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!1ok-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a769755-833e-4918-aa00-fb9e26b894a6_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!1ok-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a769755-833e-4918-aa00-fb9e26b894a6_2400x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1ok-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a769755-833e-4918-aa00-fb9e26b894a6_2400x960.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a769755-833e-4918-aa00-fb9e26b894a6_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;58% to 99% &#8212; the OCR accuracy jump&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="58% to 99% &#8212; the OCR accuracy jump" title="58% to 99% &#8212; the OCR accuracy jump" srcset="https://substackcdn.com/image/fetch/$s_!1ok-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a769755-833e-4918-aa00-fb9e26b894a6_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!1ok-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a769755-833e-4918-aa00-fb9e26b894a6_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!1ok-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a769755-833e-4918-aa00-fb9e26b894a6_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!1ok-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a769755-833e-4918-aa00-fb9e26b894a6_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>This is empirically measured. The model's attention degrades over a long list. And Gemini specifically will hallucinate plausible-sounding fake companies &#8212; inventing department names for people who actually work somewhere three states away. The output looks real. It reads real. It's not.</p><p>The worst part: you can't spot the hallucinations by eyeballing the CSV. They look exactly like the real rows. The only way to catch them is to sample-verify against the original frames, and if you knew to do that you'd already be halfway to the fix.</p><h2>The fix is row-level cropping</h2><p>Crop each row into its own image. OCR them one at a time. Accuracy jumps to 99%.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QjsK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd377531d-0873-46a0-be91-807f78d654f7_2400x1400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QjsK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd377531d-0873-46a0-be91-807f78d654f7_2400x1400.png 424w, https://substackcdn.com/image/fetch/$s_!QjsK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd377531d-0873-46a0-be91-807f78d654f7_2400x1400.png 848w, https://substackcdn.com/image/fetch/$s_!QjsK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd377531d-0873-46a0-be91-807f78d654f7_2400x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!QjsK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd377531d-0873-46a0-be91-807f78d654f7_2400x1400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QjsK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd377531d-0873-46a0-be91-807f78d654f7_2400x1400.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d377531d-0873-46a0-be91-807f78d654f7_2400x1400.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;Whole-frame OCR vs per-row OCR&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="Whole-frame OCR vs per-row OCR" title="Whole-frame OCR vs per-row OCR" srcset="https://substackcdn.com/image/fetch/$s_!QjsK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd377531d-0873-46a0-be91-807f78d654f7_2400x1400.png 424w, https://substackcdn.com/image/fetch/$s_!QjsK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd377531d-0873-46a0-be91-807f78d654f7_2400x1400.png 848w, https://substackcdn.com/image/fetch/$s_!QjsK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd377531d-0873-46a0-be91-807f78d654f7_2400x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!QjsK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd377531d-0873-46a0-be91-807f78d654f7_2400x1400.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 tradeoff is compute &#8212; you'll read a thousand small images instead of thirty big ones &#8212; but sub-agent parallelism keeps wall-clock time comparable.</p><p>The reason it works: vision-model attention at 25:1 is thin. Vision-model attention at 1:1 is dense. The card in isolation has nowhere to drift.</p><p>The pattern is broader than OCR. Anytime you're asking an AI model to process a batch &#8212; a page of search results, a table of records, a wall of log lines &#8212; you're degrading its per-item accuracy. The model will never tell you it's guessing. It'll give you confident wrong answers that look exactly like the right ones.</p><p>Shrink the unit. Parallelize the reads. Merge at the end. It's slower on paper. It's cheaper than cleaning up hallucinated data.</p><p>Today I shipped this as a real tool. Annual subscribers install it through Edge Copilot and point it at any screen recording of any list they couldn't export.</p><p><em>&#8212; Written by Claude Opus 4.6, Approved by Jordan</em></p><div><hr></div><p>Below is the geeky version &#8212; the seven-phase pipeline, the gotcha that breaks every first attempt, and the paste-into-Claude recipe. 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/597-attendees-from-a-3-minute-screen-d25">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Monitor Your Competitor's Social Posts]]></title><description><![CDATA[A one-off script watching three competitor pages became a real tool the moment I stopped writing code and started writing connections.]]></description><link>https://edge.blueprintgtm.com/p/monitor-your-competitors-social-posts</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/monitor-your-competitors-social-posts</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Sun, 26 Apr 2026 00:12:33 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/57338d78-d9ad-4b54-967d-31c7f7ecddc7_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_!RNtw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_1456x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RNtw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!RNtw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!RNtw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!RNtw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_1456x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RNtw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_1456x1048.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/127ee38d-8908-439e-8a6a-b8f87fcb7f54_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;Reading the wall of competitor posts &#8212; one flyer is glowing&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/195292452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_1456x1048.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Reading the wall of competitor posts &#8212; one flyer is glowing" title="Reading the wall of competitor posts &#8212; one flyer is glowing" srcset="https://substackcdn.com/image/fetch/$s_!RNtw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_1456x1048.png 424w, https://substackcdn.com/image/fetch/$s_!RNtw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_1456x1048.png 848w, https://substackcdn.com/image/fetch/$s_!RNtw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_1456x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!RNtw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F127ee38d-8908-439e-8a6a-b8f87fcb7f54_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>April 23, 2026 &#183; Build log</em></p><p>Last week I threw together a script to watch three competitor LinkedIn pages &#8212; &#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;. All public. Product launches, trade shows, hiring signals. It worked. It sat in one repo, useful to one person, one time.</p><p>Today I promoted it into a real tool. Most of the work was wiring it into the wiki. </p><p>Here's what that first run surfaced. &#9608;&#9608;&#9608;&#9608;&#9608;&#9608; was running a roadshow &#8212; a whole calendar of city-by-city events, booths, dates. Text-only reading of their posts found about six named shows. I flipped on vision and had Claude read the attached poster images the way a human reads a flyer on a bulletin board. It pulled twenty-one more sub-events the captions never named. Four times the schedule, hiding inside the JPEG.</p><p>That's the non-obvious lesson. Companies ship signal in the picture they posted, not the caption they wrote. If you're only reading the text, you're reading the press release. The poster is the plan.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QKt6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_2400x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QKt6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!QKt6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!QKt6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!QKt6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_2400x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QKt6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_2400x960.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9a7671d-3c40-48e1-a248-03453c506638_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;Text-only found 6 events. Vision OCR found 27. Four times the schedule, hiding inside the JPEG.&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/195292452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_2400x960.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Text-only found 6 events. Vision OCR found 27. Four times the schedule, hiding inside the JPEG." title="Text-only found 6 events. Vision OCR found 27. Four times the schedule, hiding inside the JPEG." srcset="https://substackcdn.com/image/fetch/$s_!QKt6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_2400x960.png 424w, https://substackcdn.com/image/fetch/$s_!QKt6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_2400x960.png 848w, https://substackcdn.com/image/fetch/$s_!QKt6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_2400x960.png 1272w, https://substackcdn.com/image/fetch/$s_!QKt6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a7671d-3c40-48e1-a248-03453c506638_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 second find was smaller. LinkedIn's documented company-updates endpoint is officially a POST. It also serves paginated GET calls. Surfaced that from the provider's own playground. That let me reach back twelve months on &#9608;&#9608;&#9608;&#9608;&#9608;&#9608; in one pass.</p><p>Both are candidates for real patterns. Neither is proven. One run on one company is a hypothesis, not a rule.</p><p>So here's the pattern I actually want to name &#8212; the one about tools.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tl7R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tl7R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Tl7R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Tl7R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Tl7R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tl7R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d45dc711-6c86-44d5-9794-36f9741b634d_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 leaf beside a constellation of connected nodes &#8212; tool as leaf versus tool as node in a graph&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/195292452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A single leaf beside a constellation of connected nodes &#8212; tool as leaf versus tool as node in a graph" title="A single leaf beside a constellation of connected nodes &#8212; tool as leaf versus tool as node in a graph" srcset="https://substackcdn.com/image/fetch/$s_!Tl7R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!Tl7R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!Tl7R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!Tl7R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45dc711-6c86-44d5-9794-36f9741b634d_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>A bash script is a leaf. You ship it once, you use it once, you lose it. A skill is the same code with connections. Today I didn't just move files. I wrote three pages in the wiki that Edge Copilot reads: one for the skill, one for the vision idea, one for the pagination trick. I wired them with named relationships &#8212; this skill uses that data source, this tool enables that pattern. A subscriber asking <em>/edge</em> about LinkedIn monitoring six months from now lands on the skill. A subscriber asking about pictures-beat-captions lands on the pattern.</p><p>That's the thing the script couldn't do. A leaf can't be found.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WZBs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WZBs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!WZBs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!WZBs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!WZBs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_1200x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WZBs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_1200x800.png" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f3f89bc-9419-48dd-bd63-6d714f00c5c1_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 pattern with a question mark beside it &#8212; hypothesis, not yet proven, anti-matches required&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/195292452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_1200x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A pattern with a question mark beside it &#8212; hypothesis, not yet proven, anti-matches required" title="A pattern with a question mark beside it &#8212; hypothesis, not yet proven, anti-matches required" srcset="https://substackcdn.com/image/fetch/$s_!WZBs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_1200x800.png 424w, https://substackcdn.com/image/fetch/$s_!WZBs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_1200x800.png 848w, https://substackcdn.com/image/fetch/$s_!WZBs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_1200x800.png 1272w, https://substackcdn.com/image/fetch/$s_!WZBs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f3f89bc-9419-48dd-bd63-6d714f00c5c1_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>And here's the part that makes it real. Both patterns are tagged <em>hypothesis</em>. I can't promote them to <em>repeated</em> until I write where they explicitly don't work. The schema won't let me. One production run never earns the stripe. Most pattern libraries rot because they only collect wins. Mine is allowed to be wrong on purpose.</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/monitor-your-competitors-social-posts">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[I Built a Swarm to Read Every Call]]></title><description><![CDATA[Blueprint Swarm is now open source]]></description><link>https://edge.blueprintgtm.com/p/i-built-a-swarm-to-read-every-call</link><guid isPermaLink="false">https://edge.blueprintgtm.com/p/i-built-a-swarm-to-read-every-call</guid><dc:creator><![CDATA[Jordan Crawford]]></dc:creator><pubDate>Sun, 12 Apr 2026 22:59:33 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b3df7601-1059-4184-9f92-2717d4f67c9f_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_!iBuZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9cf52-966e-4ab3-8500-4cd959e46482_1456x1048.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iBuZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9cf52-966e-4ab3-8500-4cd959e46482_1456x1048.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iBuZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9cf52-966e-4ab3-8500-4cd959e46482_1456x1048.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iBuZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9cf52-966e-4ab3-8500-4cd959e46482_1456x1048.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iBuZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9cf52-966e-4ab3-8500-4cd959e46482_1456x1048.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iBuZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9cf52-966e-4ab3-8500-4cd959e46482_1456x1048.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/baa9cf52-966e-4ab3-8500-4cd959e46482_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;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iBuZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9cf52-966e-4ab3-8500-4cd959e46482_1456x1048.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iBuZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9cf52-966e-4ab3-8500-4cd959e46482_1456x1048.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iBuZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9cf52-966e-4ab3-8500-4cd959e46482_1456x1048.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iBuZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa9cf52-966e-4ab3-8500-4cd959e46482_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>Your customers already told you why they buy. And why they churn. And when they started shopping your competitor.</p><p>It's all in the calls. Hundreds of them. Sitting in Gong.</p><p>Nobody reads them all. The VP of CS watches a clip here and there. RevOps skims the AI summaries. But the insight that matters &#8212; the pattern across <em>all</em> the calls &#8212; stays buried.</p><p>I built something that digs it out. It's called Blueprint Swarm, and I just <a href="https://github.com/SantaJordan/blueprint-swarm">open-sourced it</a>.</p><h2>Why a Swarm?</h2><p>Here's the thing about call data: the gold is in the aggregate.</p><p>One call tells you one customer's story. A hundred calls tell you how many churned accounts had a champion departure beforehand. How many days in advance the warning signals appeared. Which product gaps keep showing up across unrelated accounts.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n_C3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n_C3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!n_C3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!n_C3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!n_C3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n_C3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.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;:null,&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="" srcset="https://substackcdn.com/image/fetch/$s_!n_C3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!n_C3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!n_C3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!n_C3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00340c54-5103-41ac-88ff-0a3519c9994a_1200x800.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>Those patterns don't emerge from reading 5 calls. Or 50. They emerge from reading all of them &#8212; and counting.</p><p>A single analyst? Tapped out by call 30. Building hypotheses off whatever's freshest in memory, not whatever's most frequent in the data.</p><p>A swarm of AI agents? Each one reads a batch independently. A synthesis agent finds the cross-cutting patterns. An auditor verifies every quote. The aggregate emerges.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gqoo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gqoo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Gqoo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Gqoo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Gqoo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gqoo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.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;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Gqoo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Gqoo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Gqoo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Gqoo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bb37888-f9e9-42bd-815d-43b118d8887c_1200x800.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The S.W.A.R.M. Method</h2><p>Every run follows five phases:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qccr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qccr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qccr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qccr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qccr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qccr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.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;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qccr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qccr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qccr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qccr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff868e810-55a2-4625-ac19-c0aa84d3044c_1200x800.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><h3>Scan</h3><p>Profile your data directory. Auto-detect formats &#8212; Gong JSON, Chorus exports, Salesforce CSV, HubSpot CSV, raw transcripts, PDFs. Tell you exactly what analysis is possible with what you have.</p><h3>Weigh</h3><p>Based on your data, recommend the right analysis: churn intelligence, win patterns, competitive intel, product gaps, playbook extraction. You pick what matters most.</p><h3>Audit</h3><p>Before launching a single agent, test the extraction approach on 3-4 sample records. Right in front of you. Validate output quality before spending tokens on 200 records. Most people skip this step. Don't.</p><h3>Run</h3><p>Waves of 6-10 agents running concurrently. Sonnet for extraction &#8212; each reads a pre-prepared batch file, analyzes every record, writes structured output. No searching, no exploring. Read. Think. Write. When all analysts finish, an Opus auditor runs a 7-point quality check.</p><h3>Merge</h3><p>Synthesis agent deduplicates findings across all batches, scores confidence (HIGH = 3+ independent batches confirmed it), and generates three outputs: JSON for your systems, Markdown for Slack, interactive HTML playbook with source-tagged quotes.</p><h2>The Agents</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wmOo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wmOo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wmOo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wmOo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wmOo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wmOo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.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;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wmOo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wmOo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wmOo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wmOo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc0010f8-1535-4a5c-8a7a-0b4a72ef543f_1200x800.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>Six of them. Each with a job.</p><p>The <strong>churn analyst</strong> reconstructs why accounts left. Chronologically. With warning signals, lead times, and specific intervention points. Not "they churned because of product issues." The full timeline: when did support tickets spike? When did the champion stop showing up to calls? What feature gap was raised and never addressed?</p><p>The <strong>win analyst</strong> does the inverse. What actually closed the deal? Which pain resonated? Who championed it internally and what did they say?</p><p>The <strong>pattern extractor</strong> pulls structured data from every record &#8212; pain points, competitor mentions, product gaps, buying signals.</p><p>The <strong>synthesis agent</strong> finds the cross-cutting patterns. When 6 independent agents each flag champion departure as a churn signal, that's not 6 separate findings. It's one high-confidence finding, independently verified. The synthesis agent deduplicates and scores.</p><p>The <strong>auditor</strong> runs on Opus. Spot-checks 20 random quotes against source transcripts. If a quote was paraphrased &#8212; flagged. Fabricated &#8212; critical failure, score drops to zero. If quality falls below 7/10, results don't proceed to Merge. Non-negotiable.</p><p>The <strong>classifier</strong> categorizes every record before the analysts touch it.</p><h2>It Runs Overnight</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L9Ug!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L9Ug!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L9Ug!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L9Ug!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L9Ug!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L9Ug!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.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;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L9Ug!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!L9Ug!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!L9Ug!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!L9Ug!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83cc724f-e784-4355-a34e-88ac2efee8ae_1200x800.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>Got a big dataset? Start it in tmux. A watchdog script monitors for rate limits. When Claude Code hits the usage cap, it waits for the reset and auto-resumes. State saves after every wave. Nothing is lost.</p><p>Go to sleep. Wake up to a completed analysis.</p><h2>The Methodology Matters More Than the Tool</h2><p>This isn't a summarizer.</p><p>Every agent follows Blueprint GTM methodology:</p><p><strong>Pain-qualified segmentation.</strong> The agents don't classify by firmographics. They classify by pain &#8212; what specific situation made this customer need you right now?</p><p><strong>Specificity breeds trust.</strong> The standard isn't "many customers mentioned competitors." It's the exact count, percentage, and context &#8212; traced to specific calls. Generalities breed skepticism.</p><p><strong>Source-tagged everything.</strong> Account name, call date, speaker role, verbatim quote. Every finding has a provenance trail.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PUL_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PUL_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PUL_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PUL_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PUL_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PUL_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.jpeg" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.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;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PUL_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PUL_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PUL_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PUL_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F595ffbbd-5da5-447e-98e2-915b666b7c4a_1200x665.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>Remove the methodology and you have a summarizer. Keep it and you have customer intelligence.</p><h2>Why Give This Away?</h2><p>The hard part was never the tool. It was figuring out what to look for.</p><p>Most teams already have hundreds of recorded calls. They just aren't extracting intelligence from them systematically. Blueprint Swarm makes the extraction trivial. The methodology is what makes the output actionable.</p><h2>Try It</h2><pre><code>git clone https://github.com/SantaJordan/blueprint-swarm</code></pre><p>Put your data in a directory. Open Claude Code. Run `/blueprint-swarm /path/to/your/data`. Answer a couple questions about what you want to learn. Watch agents work.</p><p>You need <a href="https://claude.ai/claude-code">Claude Code</a>. That's it. No API keys. No infrastructure.</p><p>Your customers have been telling you everything. Start listening at scale.</p>]]></content:encoded></item></channel></rss>