GhostJob is a Manifest V3 Chrome extension that scores job listings for ghost listing risk.
It flags weak signals: stale posts, reposted fingerprints, vague evergreen titles, missing dates, low extraction confidence, and optional company career page mismatch.
- Extracts title, company, location, description, posted date, valid through date, application URL, canonical URL, host, and extraction method.
- Uses JSON LD
JobPostingfirst when present. - Falls back through ATS specific extractors for Greenhouse, Lever, Ashby, LinkedIn, Indeed, Workday, and generic job pages.
- Rejects normal app or content pages that only match the weak fallback extractor.
- Stores local listing fingerprints to detect reposts or the same listing appearing across URLs.
- Ignores repeated scans of the exact same page so Run does not inflate repost risk.
- Flags old listings at 30, 60, and 90 days.
- Flags inactive or future pool wording like not an active opening, future opportunities, talent community, general application, and candidate pool.
- Optional live checks can search likely company career URLs when the user grants host permission.
- Open Chrome.
- Go to
chrome://extensions. - Turn on Developer mode.
- Click Load unpacked.
- Select this
ghost_job_detectorfolder. - Open a job listing and click GhostJob.
Use Reset cache in the popup to clear local listing history and scan counters.
manifest.json
src/background.js
src/content/content.js
src/popup/popup.html
src/popup/popup.css
src/popup/popup.js
src/options/options.html
src/options/options.css
src/options/options.js
assets/icon16.png
assets/icon32.png
assets/icon48.png
assets/icon128.png- Page extraction runs only when the popup scans the active tab.
- Local history is stored in
chrome.storage.local. - No remote server is used.
- Live checks are off by default.
- Live checks require optional host permission and fetch likely company career pages from the extension background worker.
