This project is an automated system for scraping job listings from LinkedIn, analyzing them using AI, generating tailored resumes and cover letters, and syncing the data with Notion. It's designed to streamline the job application process for job seekers.
-
LinkedIn job search and scraping
-
Job analysis using GPT models
-
Automated resume and cover letter generation
-
Notion integration for job application tracking
-
Proxy rotation for enhanced web scraping reliability
Run the main script to start the job application process:
python main.py
This will:
- Search for jobs on LinkedIn based on the specified criteria
- Scrape job details
- Analyze job descriptions using AI
- Generate tailored resumes and cover letters
- Sync job data with Notion
Adjust the settings in src/config/settings.py
to customize:
- Job search parameters
- File paths for templates and output
- Logging settings
- GPT model selection
- Notion schema
LinkedInScraper
: Handles login and navigation on LinkedInLinkedIn
: Manages the job search and data extraction process
DataProcessor
: Preprocesses and analyzes job dataJobAnalyzer
: Uses GPT models to analyze job descriptions and generate personalized content
ResumeManager
: Creates tailored resumes and cover letters based on job descriptions
NotionManager
: Syncs job application data with a Notion database
ProxyRotator
: Manages a pool of proxies for web scraping- Various utility functions for data manipulation and URL generation
Contributions to this project are welcome. Please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature
) - Make your changes
- Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for educational purposes only. Be sure to comply with LinkedIn's terms of service and respect website scraping policies.