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 .envThen 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 --debugTo fetch new job listings:
python scraper.pyTo analyze job listings using AI:
python analyzer.pyOptions:
--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 --debugTo start the web interface:
python list.pyThe 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