Repository navigation
fix(leads): filter by shape, not by naming an industry's websites - #139
Merged
Merged
Conversation
The filter added in #138 was a list of 3D-art hostnames — Blender forums, CG trade press, art schools, ArtStation. It worked for exactly one campaign. The community hubs for dentists or accountants have nothing in common with those, so the list was both endless and stale the moment anyone pointed a campaign at a niche nobody anticipated. It is gone. What is left decides from the shape of a hostname rather than from knowing an industry: .edu and .ac.*, and the structural subdomains that mean the same thing everywhere — forum, community, wiki, jobs, support, docs, blog, news. A forum is a forum whether the subject is character modelling or root canals. Freelance marketplaces and link-in-bio hosts stay, because those are cross-niche by nature, and the giants were already covered by lib/leadCampaign. Mining works the same way now, so a community page is opened for the links it carries without anyone having listed it first. The other half is simply giving up. A prospect whose site published no address, and which the search fallback could not find either, was left at "new" — so every tick researched it again, forever, and the funnel filled with businesses that could never be contacted. Those are skipped now, with the reason recorded. The guard is a test asserting none of those hostnames appears in discover.ts, and that the patterns contain no industry vocabulary. It exists because the pull toward naming the site in front of you is strong and the cost only shows up in someone else's niche. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
vu1nz Security Review0 finding(s) in PR #? No security issues found. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The filter I added in #138 was a list of 3D-art hostnames — Blender forums, CG trade press, art schools, ArtStation, Sketchfab. It worked for exactly one campaign.
The community hubs for dentists or accountants have nothing in common with those, so the list was both endless and stale the moment anyone pointed a campaign at a niche nobody anticipated. It's gone.
Decided from shape instead
.edu,.ac.*— decisive, not a guess about any industryforum,community,wiki,jobs,support,docs,blog,newsA forum is a forum whether the subject is character modelling or root canals. A company's
blog.is the same business as its apex, so treating it as a separate prospect would pitch one business twice.Freelance marketplaces and link-in-bio hosts stay named, because those are cross-niche by nature. The giants (LinkedIn, Instagram, Reddit, X) were already covered by
THIRD_PARTY_HOSTSinlib/leadCampaign.ts.Mining works the same way — a community page gets opened for its links without anyone having listed it first.
The other half: give up
A prospect whose site published no address, and which the SERP fallback couldn't find either, was left at
"new"— so every tick researched it again, forever, and the funnel filled with businesses that could never be contacted.Those are now
skipped, with the reason recorded.Guard
A test asserting none of those hostnames appears in
discover.ts, and that the patterns contain no industry vocabulary (academy,portfolio,artist,3d,gaming).It exists because the pull toward naming the site in front of you is strong, and the cost only shows up later, in someone else's niche.
Checks
tsc --noEmitclean🤖 Generated with Claude Code