An intelligent job hunting assistant that automatically scrapes job listings, analyzes them using AI, and helps you find the most relevant opportunities.
- Job Scraping: Automatically fetches job listings from differnet listing boards.
- AI Analysis: Uses OpenAI to analyze job listings for:
- Remote work compatibility
- Job relevance
- European location compatibility
- SQLite Storage: Efficiently stores and manages job listings
- Real-time Updates: Continuously monitors for new job opportunities
- Web Interface: View and manage job listings through a web browser
Currently supported job boards:
- RemoteOK - ✅ Remote jobs from around the world
- GolangProjects - 🚧 Coming soon!
- Python 3.8+
- OpenAI API key
- Clone the repository:
git clone https://github.com/prodigeris/ai-job-hunter.git
cd ai-job-hunter
- Install dependencies:
pip install -r requirements.txt
- Set up your OpenAI API key:
cp .env.example .env
Then add your OpenAI key and model you want to use.
You can run all components using the unified main.py
script:
# Run all components (scraper, analyzer, and web interface)
python main.py --all
# Run specific components
python main.py --scraper --analyzer # Run scraper and analyzer
python main.py --web # Run just the web interface
# Enable debug logging
python main.py --all --debug
To fetch new job listings:
python scraper.py
To analyze job listings using AI:
python analyzer.py
Options:
--poll-interval
: Set the interval (in seconds) between checks for new jobs (default: 60)--debug
: Enable debug logging
Example:
python analyzer.py --poll-interval 30 --debug
To start the web interface:
python list.py
The web interface will be available at http://localhost:5000
scrape/
: Job scraping modulesproviders/
: Job board scrapersmodels.py
: Data models
store/
: Database managementsqlite.py
: SQLite storage implementation
analyze/
: AI analysis modulesscraper.py
: Main scraping scriptanalyzer.py
: Main analysis scriptlist.py
: Web interface scriptmain.py
: Unified system launcher