The ask is obvious. People apply into postings that were never real, and they want a tool that filters them out. Every competitor in my category advertises some version of it.
We have the code for it. A whole service directory, eight modules, scoring, tiers, a layoff cross-check. It is documented in our own architecture notes.
It is not wired into the apply path. Zero consumers. No gate, no skip, no check anywhere in the submit flow.
I found that out by fact-checking my own launch copy against the codebase, and it was the second most useful hour I have spent this year.
Because when I looked at what the score actually measured, it was recency, salary disclosure, and description length. That is a proxy for "this posting looks well maintained". It is not detection of intent, and intent is the thing a ghost job is made of.
I could not write a test that would fail if the feature were wrong. That is the tell. If you cannot construct the failing case, you have not built a check, you have built a number that goes up.
A unique index on user id plus normalised posting URL.
The URL normaliser folds tracking parameters, so the same job syndicated across four boards collapses into one row. The claim happens before any browser session starts, so the expensive part never runs twice. Four call sites, one constraint, and it either holds or the database rejects the write.
It does something much smaller than ghost-job detection. It means a posting that was never real costs you once instead of three times.
Detection is a claim. Deduplication is a constraint.
A claim needs you to trust that our scoring is good. A constraint is enforced by something that cannot be talked around, and when it fails you get an error rather than a quietly wrong answer.
I have started asking of every feature that sounds intelligent: is there an index or a uniqueness rule underneath this, or is it a model output wearing a confident label? Surprisingly often the honest version is smaller, duller, and actually works.
Curious whether others have killed a headline feature for this reason, and what you replaced it with. And whether anyone has genuinely solved ghost-job detection in a way you could falsify, because I would rather be wrong about this than right.
I build AI Applyd — https://aiapplyd.com?ref=indiehackers — it applies to jobs for you across the twelve ATS platforms we cover, and counts an application as sent only when the employer's own system confirms it.
every rival advertising it makes this a sales problem too tho. what do u say when a buyer scans ur pricing page for that checkbox and it isn't there?