jobhaunt

FAQ

We want this to be the kind of site you don't roll your eyes at. So: plain answers, including the ones we don't love giving.

What is jobhaunt actually doing?

We pull job listings directly from the systems companies use to post them (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee) and score every one for the probability that it's a real, fillable opening versus a ghost.

By default we show all listings with their confidence scores. Use the tier filters to narrow down to just “Real” jobs or explore further down the confidence curve.

What's a ghost job?

A listing that's posted but isn't actually being filled. Common flavors:

  • Pipeline req. Posted to keep applications flowing for a future maybe-hire.
  • Forgotten. Filled internally months ago, still up because nobody removed it.
  • Theater. Posted to make the company look like it's growing.
  • Visa filing. Posted to satisfy PERM labor certification, never seriously considered.
  • Scam. A pretend listing trying to phish your info or charge a “processing fee.”

Industry estimates run 15-30% of postings on major job boards. That's roughly why your application-to-response rate feels like shouting into a well.

How do you decide a listing is real?

Every job runs through 17 signals across 5 evidence clusters. Each one contributes a log-likelihood-ratio (how much more likely it is to come from a real opening vs a ghost), and we combine them with Bayes' theorem to get a posterior probability.

ClusterSignals
SourceSource tier (ATS direct vs aggregator), metadata completeness (how many fields the listing actually filled in)
StalenessPosting age, repost frequency, duplicate description detection (same JD recycled across listings)
ContentJD specificity, generic language (cliche density), JD length, JD structure (section headers vs single-blob paragraph)
Pipeline markersTitle red flags ('talent pool', 'future opportunities'), department classification, apply URL patterns, location spread
CompanySalary disclosure, open req ratio, recent layoffs (cross-referenced against layoffs.fyi), company ghost density (historical ghost rate)

Signals in the same cluster measure overlapping evidence, so we cap each cluster's total contribution to prevent correlated signals from triple-counting. This is more honest than treating every signal as independent.

Pro users can see every signal that fired and exactly how much it shifted the score. Same math we use, nothing hidden. Learn more

Is the filter perfect?

No. There's no 100% reliable way to detect a ghost job from the outside. We can't read the recruiter's mind, see the company's hiring approval queue, or know if internal politics killed a req last week.

What we can do:

  • Stack the deck heavily toward listings with multiple positive signals and no red flags.
  • Default to strict mode. If we're less than 90% sure, you don't see it.
  • Track every listing's lifecycle and label it after the fact when we see it disappear quickly (likely real) or get reposted with a new ID (likely ghost).

We will miss real jobs sometimes (false negatives, where we hide a listing that was actually fine). We'll also occasionally show ghosts (false positives, where one slips through and turns out to be dead). Our bet: better to over-filter than to drown you in noise.

How do I know you're not bullshitting me?

Open any listing. The “Why this score” panel shows the tier badge and percentage for every job, free. If you want the full breakdown of every signal, its log-likelihood contribution, and what it means, that's part of Pro. We'd rather you see the math and disagree with us than treat the score as gospel.

Why are there fewer jobs here than on Indeed or LinkedIn?

On purpose. By default, we hide:

  • Anything older than 365 days, full stop.
  • Listings not direct from a real ATS (in strict mode).
  • Listings under our 90% confidence bar.
  • Aggregator clutter: LinkedIn-recycled, staffing-firm reposts.

Flip “Show all candidates” to see more, but “more” is exactly the problem we're trying to solve.

Why don't you have my favorite company / industry / role?

We index ~1,000 companies right now, growing continuously. If a specific employer is missing, it's usually because they're on an ATS we don't support yet, on their own custom careers site, or sometimes because we just haven't discovered them. LinkedIn is intentionally not in our source list because it's a ghost-job swamp.

Pro users can add companies to their watchlist and get notified when we start indexing them, or when a company they care about has a hiring burst. Learn more

Can recruiters game the filter?

Yes. Anything we treat as a positive signal can be optimized for. A recruiter who knows we reward “named team and tech stack” can write that. One who knows we penalize 60+ day-old listings can re-create the same posting every 50 days with a new ID.

Three responses:

  1. We weight multiple signals, so gaming one isn't enough.
  2. Lifecycle tracking catches reposts. Same (company, title) showing up under multiple IDs trips a permanent flag.
  3. If gaming becomes widespread, we change the weights. The signals are public; the weights are not, and they're re-fit periodically against ground-truth lifecycle data.

It's a cat-and-mouse game. We expect to lose some rounds.

What's free and what's paid?

Free, forever: browse every listing, see the confidence score on every job, filter by confidence and source and location, company scorecards, strict mode. You can find and apply to jobs without paying us anything.

Pro ($9/mo): the stuff that makes the search faster and smarter.

  • Full signal breakdown. See every signal that fired on every listing, and exactly how much it shifted the score.
  • Saved listings + application tracker. Save jobs, mark them as applied, track interviews, see your conversion rates.
  • Saved search alerts. Tell us what you're looking for and we'll email you the moment a match drops.
  • Company watchlists. Track companies and get notified when their hiring patterns change.
  • Hiring velocity timelines. Visual history of a company's posting cadence over time.
  • Extended history. See 45 days of listings plus lifecycle outcomes on expired postings.

We will never charge for visibility on the listings side. No sponsored jobs, no pay-to-rank. That would compromise the entire point of this site.

See the full breakdown of what you get. Learn more

Where does my data go?

  • Free browsing: nothing logged beyond standard server logs.
  • Pro accounts: your email, saved searches, and watchlists are stored server-side so we can send alerts. Application tracking data stays yours.
  • Filter state: lives in the URL so you can share it.

We don't sell data. We don't run ads. We make money from Pro subscriptions.

Why a hand-tuned algorithm and not an AI?

Two reasons:

  1. We don't have training data yet. Real ML needs labeled examples (“this listing was real, this one was a ghost”). We're collecting those labels now via lifecycle tracking. After roughly six weeks of operation we'll have enough to fit a model.
  2. You can't audit a black box. A learned model would be more accurate but harder to explain. The current Bayesian system shows you exactly how every score is built. We'll switch to a learned model when we can do both.

We don't use the word “AI” on the site marketing because it'd be misleading. The math is statistics, not magic.

Why is everything so beige?

Because the alternative is another dark dashboard that screams “developer tool.” Job hunting sucks; the website you do it on shouldn't add to that. There's a sun icon top-right if you prefer dark mode anyway.

What's coming next?

  • Recruiter scoring: track who actually responds to applicants.
  • Application funnel analytics: see what's working in your search.
  • More company coverage and a wider range of ATSes.
  • A learned model once enough lifecycle labels accumulate.
  • Resume tooling for the application side.

Roughly that order, probably with surprises.

Something missing or wrong here? Go look at the actual listings and tell us what we got right or wrong. The whole point is that you shouldn't have to take our word for any of this.