Job Posting Ghost-Job Likelihood Badge
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This userscript helps job seekers avoid wasting time on "ghost jobs"—postings that are no longer actively recruiting, are perpetually reposted, or exist only for data collection or employer branding. It scans the job posting page for dozens of red-flag indicators, including vague language ("rockstar", "ninja", "urgent hire" with no details), unusually old posting dates (over 30 or 90 days), repost signals ("reposted", "still hiring", "updated"), generic job titles, missing company information, and phrases associated with high turnover or unresponsive recruiters. It then calculates a likelihood score from 0–100% and displays a color-coded badge (green Low, yellow Medium, red High) in the top-right corner of the page, along with a breakdown of the specific reasons for the rating.
WHERE IT RUNS
The script works on every website you visit—job boards like Indeed, LinkedIn, Glassdoor, Monster, and company career pages, as well as niche job listing sites. It runs entirely within your browser, reading only the visible text content of the current page. It does not track your browsing history, access other tabs, or send any data externally. No external APIs are called—all analysis is performed locally.
HOW TO USE
After installation, open the panel by clicking the tool's icon in the BotGentz sidebar. The script automatically scans job postings on page load (you can toggle this off). A badge appears in the top-right corner of the page showing the ghost-job likelihood level and score. Click the badge to expand the panel for more details, or click the ✕ to dismiss it temporarily. You can adjust the sensitivity threshold (Low, Medium, High) to control how aggressively the script flags postings, and choose between a full badge with detailed reasons or a compact color-only badge. Use the "Analyze job posting" button to manually re-scan at any time, or "Clear badge" to remove it.
THE TECHNICAL MECHANISM
This script employs a weighted scoring system across six independent indicators. First, it extracts page text while stripping script and style tags, then scans for a curated list of over 40 vague language phrases—each occurrence adds to a "vagueness" score capped at 10 points. Second, it parses posting dates using a cascade of regex patterns that match relative dates ("posted 3 days ago"), absolute dates ("January 15, 2024"), and common date formats (MM/DD/YYYY and YYYY-MM-DD). The date is converted to an age in days, contributing up to 10 points for postings over 90 days old. Third, it counts repost-related keywords ("reposted", "still hiring", "multiple openings") for up to 8 points. Fourth, it scans for company review red flags ("high turnover", "ghosted", "layoffs") for up to 8 points. Fifth, it checks the job title against a list of generic terms ("sales representative", "associate", "data entry") for up to 4 points. Sixth, it verifies whether company information is present for up to 2 points. The total score is normalized to a percentage, and thresholds (40% and 65%) determine Low/Medium/High classification. All analysis is deterministic and reproducible, with clear reasons provided for each flagged indicator.
THE PANEL
The panel is draggable anywhere on the screen and remembers its position between sessions. It can be collapsed to a small floating bubble to minimize distraction, and expanded again with a single click. The panel's width can be adjusted, and pressing the Escape key closes it instantly. All settings—sensitivity level, badge style, and auto-scan preference—are persisted locally using GM_setValue, so your preferences remain intact across page reloads and browser restarts.
PLEASE NOTE
This userscript requires the free BotGentz extension to function. The analysis is based on statistical patterns and keyword detection—it provides a likelihood estimate, not a guarantee. Some legitimate postings may trigger false positives (e.g., "urgent hire" in a genuinely urgent role), and some ghost jobs may not trigger enough flags to be detected. The script works best on text-heavy job postings with clear dates and descriptions; it may not detect ghost jobs on minimalist or heavily image-based pages. No data from your browsing is stored or transmitted anywhere—all processing occurs entirely in your browser.