An automated job application system that helps you find and apply for jobs across multiple job boards.
- Automated job search across multiple job boards (LinkedIn, Indeed, Dice)
- Intelligent job matching based on your resume
- Application tracking and management
- Email notifications for new job matches
- Daily application limit enforcement
- Duplicate application prevention
- Python 3.11+
- Chrome browser
- Gmail account (for email notifications)
- Job board accounts (LinkedIn, Indeed, Dice)
- Clone the repository:
git clone https://github.com/yourusername/job-agent.git
cd job-agent
- Create a
.env
file based on.env.example
:
cp .env.example .env
-
Edit the
.env
file with your credentials and preferences. -
Build and run using Docker:
make docker-build
make docker-run
- Create and activate a virtual environment:
make setup-dev
source .venv/bin/activate
- Install dependencies:
make install
- Create a
.env
file and configure it:
cp .env.example .env
# Edit .env with your credentials
- Run the application:
make run
The application is configured through environment variables in the .env
file:
EMAIL_USERNAME
: Your Gmail addressEMAIL_PASSWORD
: Your Gmail App PasswordNOTIFICATION_EMAIL
: Email address to receive notificationsSMTP_SERVER
: SMTP server (default: smtp.gmail.com)SMTP_PORT
: SMTP port (default: 587)
LINKEDIN_EMAIL
: LinkedIn account emailLINKEDIN_PASSWORD
: LinkedIn account passwordINDEED_USERNAME
: Indeed account emailINDEED_PASSWORD
: Indeed account passwordDICE_USERNAME
: Dice account emailDICE_PASSWORD
: Dice account password
RESUME_PATH
: Path to your resume PDFJOB_TITLE
: Desired job titleMAX_APPLICATIONS_PER_DAY
: Maximum number of applications per dayMIN_MATCH_SCORE
: Minimum match score for job applications
- Start the application:
make run
- The application will:
- Search for jobs matching your criteria
- Calculate match scores
- Send email notifications for new matches
- Track your applications
- Enforce daily limits
make test
make clean
make docker-build # Build Docker image
make docker-run # Start container
make docker-stop # Stop container
make docker-logs # View container logs
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Selenium for web automation
- spaCy for natural language processing
- Python-dotenv for environment management