An intelligent semi-automated LinkedIn job application assistant that helps you apply to relevant positions efficiently while maintaining quality and control.
- 🔍 Smart Job Search: Finds jobs matching your profile and criteria
- 💰 Salary-Based Filtering: Only targets companies with budget matching your expected CTC
- 🎯 Relevance Scoring: Ranks jobs by salary + skills match (best opportunities first)
- 📝 Auto-Fill Forms: Pre-fills applications using your resume data
- 👀 Human-in-the-Loop: You review and approve each application
- 📊 Application Tracker: Logs all applications with status tracking
- 🎯 Multi-Resume Support: Switch between role-specific resumes
- 🌍 Multi-Currency Support: Handles USD, INR, EUR, GBP with automatic conversion
- 🤖 MCP Browser Automation: Uses Cursor's browser MCP for reliable automation
jivika/
├── linkedin/ # LinkedIn automation scripts
│ ├── job_searcher.py # Job search and filtering
│ ├── application_helper.py # Form filling automation
│ ├── profile_manager.py # Resume data management
│ └── tracker.py # Application tracking
├── resumes/ # Your role-specific resumes
├── data/ # Application logs and tracking data
├── config.json # Configuration and search criteria
└── main.py # Main application entry point
-
Install dependencies:
pip install -r requirements.txt
-
Configure your profile in
config.json -
Add your resumes to the
resumes/folder -
Run the assistant:
python main.py
The assistant will:
- Search for jobs matching your criteria
- Filter for Easy Apply positions (faster process)
- Extract job details and requirements
- Pre-fill application forms with your data
- Pause for your review before submission
- Log successful applications to the tracker
Edit config.json to set:
- Salary expectations: Your expected CTC range (filters jobs by budget)
- Job titles and keywords: Roles and skills to match
- Preferred locations: Cities or remote
- Experience level: Years of experience (default: 5)
- Active resume: Which profile to use for applications
- Search filters: Remote, Easy Apply, salary thresholds, etc.
Configure your expected CTC to only apply to jobs within your budget:
{
"salary_expectations": {
"currency": "USD",
"expected_ctc_min": 120000,
"expected_ctc_max": 180000,
"strict_filtering": true,
"exclude_below_expected_salary": true
}
}Features:
- ✅ Filters out jobs below your minimum CTC
- ✅ Converts currencies (INR ↔ USD, EUR ↔ USD, etc.)
- ✅ Parses various salary formats ($120k, ₹25L, €60k)
- ✅ Ranks jobs by relevance (salary + skills match)
See SALARY_FILTERING.md for detailed configuration guide.
- ✅ Human approval required for each application
- ✅ Customizable application messages
- ✅ Respects LinkedIn's rate limits
- ✅ Uses human-like interaction timing
⚠️ Not for mass spamming - quality over quantity
MIT License - Use responsibly and ethically.