Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
LinkedIn Job Filter =================== A Firefox extension that filters LinkedIn job postings based on configurable thresholds and signals. Features -------- * Filter jobs by maximum applicant count * Filter jobs by age (how long ago they were posted) * Filter reposted jobs * Optionally filter Easy Apply jobs * Highlight violations in job details with red, bold text * Automatically remove filtered jobs from the job list * Automatic job scanning - clicks through all jobs to check details * Real-time filtering as you browse LinkedIn jobs * Customizable thresholds through settings page Installation ------------ 1. Download or clone this repository 2. Open Firefox and navigate to about:debugging 3. Click "This Firefox" in the left sidebar 4. Click "Load Temporary Add-on" 5. Navigate to the extension folder and select manifest.json 6. The extension is now loaded and active Usage ----- 1. Navigate to LinkedIn jobs (https://www.linkedin.com/jobs/) 2. The extension will automatically scan all visible jobs 3. Each job is checked by simulating a click to load its full details 4. Jobs that violate your filters are automatically removed from the list 5. The extension automatically scrolls to load more jobs beyond the initial page 6. Processing continues until all available jobs have been checked 7. Every 5 seconds, the extension checks for any new jobs to process 8. Violations will be highlighted in red in the job details panel 9. Click the extension icon in the toolbar to: - Toggle filtering on/off instantly - View processing statistics - Access full settings Note: The extension automatically clicks through jobs to gather complete information like applicant counts, which are only visible in the detail panel. This happens automatically in the background. The extension also handles infinite scroll by automatically scrolling down to trigger loading of additional jobs. Quick Toggle ------------ Pin the extension to your toolbar for quick access: * Click the extension icon to open the popup * Use the toggle switch to enable/disable filtering instantly * View stats showing how many jobs were processed and filtered * Click "Export Remaining Jobs to CSV" to export all visible jobs * Click "Open Settings" for advanced configuration Export to CSV ------------- Export all remaining (non-filtered) jobs to a CSV file: * Click the extension icon in the toolbar * Click "Export Remaining Jobs to CSV" button * The extension will stop filtering and iterate through all visible jobs * Each job is clicked to load full details and extract data * CSV file includes: company, job title, location, post age, applicant count, apply method, job URL * File has no header row for easy combining with other exports * File is automatically downloaded with timestamp: linkedin-jobs-YYYY-MM-DD-HHMMSS.csv * Job URLs are in the format: https://www.linkedin.com/jobs/search/?currentJobId=JOBID Settings -------- * Enable/disable filtering * Set maximum applicants threshold (default: 50) * Set maximum age in days (default: 7) * Toggle filtering of reposted jobs (default: enabled) * Toggle filtering of Easy Apply jobs (default: disabled) * Toggle filtering of remote jobs (default: enabled) * Job title keyword exclusions (default: manager, agent, lawyer, intern, co-op, coop) * Company exclusions (default: staffing agencies and job brokers) * Enable/disable violation highlighting (default: enabled) * Enable/disable console logging for debugging (default: enabled) Job Title Filtering -------------------- You can exclude jobs based on keywords in their titles: * Enter comma-separated keywords in the settings * Matching is case-insensitive * If any keyword appears anywhere in the job title, the job is filtered * Default exclusions: manager, agent, lawyer, intern, co-op, coop * Examples: "Senior Manager" matches "manager", "Sales Agent" matches "agent" Company Filtering ----------------- You can exclude jobs from specific companies: * Enter comma-separated company names in the settings * Matching is case-insensitive * If any company name matches, the job is filtered * Default exclusions include staffing agencies and job brokers: - Epic, JoBot, Jobot, Insight Global, Robert Half, TekSystems - Kforce, Hays, Kelly Services, Adecco, ManpowerGroup, Randstad - Volt, Aerotek, CyberCoders, Apex Systems, TEKsystems * Helps filter out third-party recruiters and job aggregators How It Works ------------ The extension monitors LinkedIn job pages and: 1. Automatically clicks on each job card in the list 2. Waits for the detail panel to load with full job information 3. Extracts signals like applicant count, posting age, reposted status 4. Compares signals against your configured thresholds 5. Removes jobs that violate the filters and advances to the next 6. Highlights violating phrases in the job details panel 7. Automatically scrolls down to load more jobs when all visible jobs are processed 8. Continues until all available jobs have been checked 9. Monitors every 5 seconds for newly loaded jobs and processes them automatically 10. Uses mutation observers to detect and process new jobs as they load The automatic scanning happens in the background without requiring any user clicks. Jobs are processed sequentially with brief delays to allow detail panels to load. The extension handles LinkedIn's infinite scroll by automatically scrolling to trigger loading of additional jobs beyond the initial page load. Applicant Count Detection -------------------------- Recognizes patterns like: * "Over 100 applicants" * "50+ applicants" * "100+ people clicked apply" Age Detection ------------- Parses relative time like: * "2 hours ago" * "3 days ago" * "1 week ago" * "2 months ago" Console Logging --------------- When logging is enabled, the extension logs: * Initialization status * Settings loaded * Number of jobs found and filtered * Specific violations detected * Actions taken (removal, highlighting) Privacy ------- * All processing happens locally in your browser * No data is sent to external servers * No tracking or analytics * Settings are stored locally using Firefox sync storage License ------- MIT License - Open source and free to use Support ------- For issues or questions, check the browser console for diagnostic logs when "Enable console logging" is enabled in settings.