Automate your job application workflow with one-click capture of LinkedIn job postings. This Chrome extension creates organized folders and PDF snapshots of job advertisements for your personal tracking.
Authored by Kelltom & Claude
- One-Click Capture: Extract job details from LinkedIn job pages automatically
- Smart Parsing: Robust DOM parsing that handles LinkedIn's dynamic content
- Organized Storage: Creates dated folders with company and job title
- PDF Generation: Saves job details as HTML and text files (PDF coming soon)
- Easy Editing: Review and edit extracted data before saving
- Settings Management: Configurable base folder and connection testing
- Chrome Extension (Manifest V3): Handles LinkedIn page parsing and user interface
- Native Messaging Host (C#): Manages file system operations and PDF generation
- Secure Communication: Uses Chrome's native messaging API for safe extension-to-desktop communication
- Windows 10 or later
- Google Chrome browser
- .NET 9 Runtime (for the native host)
- Open Command Prompt or PowerShell in the
hostdirectory - Run the build script:
build.bat
- This will create
LinkedInJobLoggerHost.exein thehost/bindirectory
- Run the installation script as administrator (recommended):
install.bat
- This registers the native messaging host with Chrome
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked"
- Select the
extensionfolder from this project - Note the extension ID that appears in the extension card
- Click the extension icon in Chrome's toolbar
- Click the settings gear (⚙️) icon
- Set your base folder path (e.g.,
C:\Users\%USERPROFILE%\Documents\Job Applications) - Click "Test Native Host" to verify the connection
- Save your settings
- Navigate to any LinkedIn job posting (
linkedin.com/jobs/view/...) - Click the LinkedIn Job Logger extension icon
- Review the extracted job details:
- Job Title (required)
- Company (required)
- Location (optional)
- Pay (optional)
- Job Description (read-only preview)
- Edit any fields as needed
- Click "Apply" to create the job folder and files
Each job creates a folder named: {YYYY-MM-DD} {Company} - {Job Title}
Inside the folder:
ad.html- Formatted job posting with all details
📁 Job Applications/
📁 2024-09-25 Google - Senior Software Engineer/
📄 ad.html
📁 2024-09-25 Microsoft - Product Manager/
📄 ad.html
"Failed to load job data"
- Ensure you're on a LinkedIn job page (
linkedin.com/jobs/view/...) - Try clicking "Rescan" to parse the page again
- Check that LinkedIn has finished loading the job details
"Native host connection failed"
- Run
install.batagain to re-register the native host - Make sure
LinkedInJobLoggerHost.exeexists in thehost/bindirectory - Check Chrome's extension error console for detailed error messages
"Base folder path does not exist"
- Verify the folder path in settings exists and is accessible
- Use forward slashes or double backslashes in Windows paths
"Access denied to base folder path"
- Check folder permissions
- Try running Chrome as administrator (not recommended for regular use)
Job details not extracting properly
- LinkedIn frequently updates their page structure
- The extension uses resilient selectors but may need updates for major LinkedIn changes
linkedin-job-logger/
├── extension/ # Chrome extension (Manifest V3)
│ ├── manifest.json
│ ├── background.js # Service worker for native messaging
│ ├── content.js # LinkedIn page parser
│ ├── popup.html # Main UI
│ ├── popup.js
│ ├── settings.html
│ └── settings.js
├── host/ # Native messaging host
│ ├── src/
│ │ └── LinkedInJobLoggerHost/
│ │ ├── Program.cs
│ │ ├── NativeMessagingHost.cs
│ │ └── LinkedInJobLoggerHost.csproj
│ ├── build.bat
│ ├── install.bat
│ └── uninstall.bat
└── README.md
-
Native Host:
cd host build.bat -
Extension: No build required, load directly in Chrome developer mode
- Local Storage Only: All job data stays on your computer
- No External Services: No data is sent to external servers
- Minimal Permissions: Extension only accesses LinkedIn pages and local storage
- Open Source: Full source code available for review
- Remove the Chrome extension from
chrome://extensions/ - Run
uninstall.batto remove the native messaging host registration - Optionally delete the project folder and any created job folders
This project is for personal use only. Do not publish to the Chrome Web Store or distribute without modification.
This is a personal project without formal support. However, you can:
- Check the troubleshooting section above
- Review error logs in
%TEMP%\linkedin_job_logger_error.log - Examine Chrome's extension console for JavaScript errors
This extension is not affiliated with LinkedIn.