A Lighthouse score or a missing meta description can be useful diagnostic information. It is not, by itself, a reason to contact a business.
For an agency, the more useful unit of work is an evidence-backed review candidate : a real company, a reasonably matched website, a reproducible finding, and enough context for a person to decide whether a conversation would make sense.
This post builds a small TypeScript triage layer for that workflow. The code is intentionally illustrative, not a production crawler or a lead-generation shortcut.
1. Keep identity, evidence, and decisions separate
A good pipeline should avoid collapsing three very different questions:
Entity matching: Does this website probably belong to the company being considered?
Technical observation: Can we reproduce a particular issue on a particular URL?
Commercial judgment: Would reviewing this issue be useful for an agency and its potential client?
The third question should remain a human decision.…