{company} fax intake {first_name} intake pipeline {company} document extractionEvery phase of Part A (the list) and Part B (the outreach), in the order we did it. Each box is one step. Click a box with an i to see what happened, what it cost and what we changed. Every number comes from our own logs.
max_results: 1 returns the total match count, so a whole segment is sized for 1 credit.blitz.py logs every call (endpoint, request, records, balance) to credit_log.csv.VLM Run Case Study/
├── INDEX.md what's where
├── RUNBOOK.md plan · gates · log
├── 00-Brief/ 3 brief PDFs, questions
├── 01-Onboarding-GTM/
│ ├── ICP/ icp, customer anchors
│ ├── Scorecard/ A3–A5, calibration
│ └── Segments-and-Market/ A5 + A6
├── 02-List-Building/
│ ├── Sourcing/ Blitz notes, recipes
│ ├── Enrichment/ A2, pilot, plans
│ └── QA/ hand-checks
├── 03-Outreach/
│ ├── Signals-People-Copy/ B1–B4, titles
│ └── Side-Quests/ GitHub signal
├── 04-Reports/ credit ledger
├── 05-Deliverables/ this diagram, write-up
└── Workspace/ code + data
├── .env API key, never shared
├── scripts/ blitz · merge · fetch
│ │ score · build_top100
│ └── queries/ every recipe version
├── data/ raw/ web/ web2/ b2/
│ *.csv · credit_log.csv
└── out/top100.csv the hundred
| Recipe | Matches | Hit rate in test |
|---|---|---|
| S1 Health ops | 762 | 4 / 10 |
| S2 Construction | 342 | 6 / 10 |
| S3 Insurance | 205 | 4 / 10 |
| S4 Lending | 303 | 4 / 10 |
| S5 Logistics | 159 | 6 / 10 |
| S6 Robotics | 962 | test segment |
100 per segment × 6. Pull small, learn, then decide whether the rest is worth paying for.
The hyphen split it into "as" + "built", which matched 1,754 random companies. 50 junk rows are kept as evidence in data/raw/discarded/.
New rule: size after every filter change, before pulling.
Before trusting the rubric on 565 companies, we ran it on VLM Run's real customers and on obvious junk. It sorted all 8 correctly, so we used it unchanged.
01-Onboarding-GTM/Scorecard/phase3-calibration.md| Why it was cut | Companies |
|---|---|
| Core product isn't messy visual input | 226 |
| Services shop, not a software product | 51 |
| Operator (the hospital, carrier or contractor itself) | 25 |
| Builds its own vision models (build, not buy) | 12 |
| Acquired or defunct | 10 |
| Media / publisher | 9 |
A perfect buyer with no visual workload can't score above ~42.
Workspace/scripts/score.pyNo weight tuning needed. Scored with the same rules as everyone else.
34 runs, average 99.3 of 100 unchanged. The ranking doesn't hinge on one weight.
The first 609 companies were held out so nothing was bought twice.
| Step | Credits |
|---|---|
| Lookalike sourcing (6 segments) | 470 |
| Geo recipes (0 dupes, small pools) | 45 |
| Video-first re-cut | 76 |
| Eng headcount, 155 survivors | 153 |
| Hiring check, 148 companies | 18 |
Faxes, referrals, ACORD forms, pay stubs. Lead with accuracy on messy docs + ZDR, BAA, VPC. Proof: Valerie Health, Scan.com.
Drivers photograph BOLs and PODs; jobsite photos and plans. Lead with docs + photos in one API. Proof: CivilGrid.
Footage at scale that needs searching. Buyer is the ML/data team. No customer proof yet.
Tennr, PackageX, Owl.co and horizontal doc-AI vendors. Reference cases, not prospects.
Inside every play one split changes the message: already extracting → "replace your OCR + LLM stack"; not yet → "build it right the first time".
sendable.csv.score.py: 100 points, evidence only. Canary: the 4 real customers must stay near the topsendable.csvLoop: replies and bounces feed back into scoring; accounts with no contact found go to next month's re-check.
Phases 6–8 used no credits. Lost to mistakes: 50 ("as-built") + 2 (wrong Peak Health domain).
A1–A6 and B1–B4 in a few lines each. The flowchart is B5.
sendable.csv.1,921 of 10,000 credits spent. Nobody contacted. Full detail sits behind each box in the flowchart.
← Back to the flowchartThree plays, three emails each, plus the version that goes out when a signal fires. Highlighted words are filled in per company. Green shows a real fill from our data.
Who: health, insurance, lending and legal-records software (59 of the top 100) · e.g. Coral, Avallon AI, Inflooens · Proof: Valerie Health, Scan.com
{company} fax intake {first_name} intake pipeline {company} document extraction{company} phi in your vpcLending: "borrower PII". Insurance: "policyholder files". The one-pager needs VLM Run to confirm it exists.
Who: logistics, construction and property software (28 of the top 100) · e.g. Alvys, KlearNow, Fieldwire · Proof: CivilGrid
{company} bol photos {first_name} driver paperwork {company} field documentsThe CivilGrid detail needs VLM Run to confirm.
{company} load documentsWho: dash-cam and remote-video-inspection software (13 of the top 100) · e.g. VisionTrack, Tenna, Blitzz · Proof: Voxel51 plugin (no customer yet)
{company} dash cam footage {first_name} video review {company} footage search{company} event summariesNo video account in our data showed a live signal, so this one is a template.
Lowest-scored accounts first, top accounts last. Two VLM Run accounts, no pitch on accept.
Play B: "turning driver and jobsite photos into data". Play C: "that need answers out of fleet video".
Every email ends with: Best, {SENDER_FIRST_NAME}, VLM Run. "Sam" is a placeholder name. Source: 03-Outreach/Signals-People-Copy/b1-b4.md.