Primo is an AI-powered job application assistant designed to automate and perfect the modern job hunt. Powered by Google Gemini AI and Flask, this tool can effortlessly dissect your CV, match you with real-time job openings via SerpApi, and magically draft personalized cover letters and structured job application answers.
- ✨ Smart CV Parsing: Upload your CV (PDF or DOCX), and Gemini will extract professional skills, education, experience, and custom search keywords.
- 🎯 Real-Time Job Indexing: Uses extracted CV data combined with live web-scraping to deliver relevant job listings.
- ✉️ Custom Cover Letters: Select a vacancy and click "Cover Letter" to generate a highly tailored, professional letter bridging your exact experience with the role's demands.
- 💡 Application Q&A Generator: Got a tricky pre-screening question? Provide the prompt, and Gemini curates a comprehensive answer leveraging your work history.
- 🌐 Localization & Scaling: Features dynamic translation toggles for multiple languages (English, German, Russian, Polish).
- 💎 Premium Glassmorphism UI: High-end responsive UI interface using dark glass themes, vibrant violet-to-blue gradients, animated spinners, and modern
Outfittypography.
- Backend: Python, Flask server, Werkzeug
- AI Integration: Google Generative AI SDK (Gemini API)
- Data Gathering: SerpApi (for live job vacancies)
- Document Processing: PyPDF2 (for PDFs), python-docx (for Words)
- Frontend: Vanilla HTML/CSS with zero-dependency CSS Glass templates
Before starting, ensure you have:
- Python 3.8+ installed.
- A free Google Gemini API Key
- A free SerpApi Key for sweeping live jobs
-
Clone or Download the Repository:
# inside your preferred directory cd ai-job-hunter
-
Setup the Environment Variables: Create a new
.envfile at the root of the project with your API credentials:GEMINI_API_KEY=your_gemini_api_key_here SERPAPI_KEY=your_serpapi_api_key_here
-
Install Dependencies:
pip install -r requirements.txt
-
Launch the Application:
python app.py
The server will start on
http://127.0.0.1:5000orhttp://0.0.0.0:5000.
Created and maintained by @devpayoub





