A FastAPI service that generates tailored CVs using Google's Gemini 2.0 Flash API.
- Generate tailored CVs based on job descriptions and resumes
- Rate limiting with daily quotas
- CORS support for web app and Firefox extension
- Designed for Render deployment
- Python 3.9+
- [Optional] Redis for production rate limiting
Clone the repository:
git clone https://github.com/jobhunterui/jobhunter-api.git cd jobhunter-apiCreate a virtual environment:
python -m venv venv .\venv\Scripts\Activate # Windows source venv/bin/activate # Linux/MacInstall dependencies:
pip install -r requirements.txtCreate a
.envfile with your settings:GEMINI_API_KEY=your_api_key ALLOWED_ORIGINS=https://jobhunterui.github.io,moz-extension:// DAILY_QUOTA=100
uvicorn app.api.server:app --reload The API will be available at http://localhost:8000 with interactive docs at http://localhost:8000/docs
POST /api/v1/cv/generate
Generate a tailored CV based on a job description and resume.
Request Body:
{"job_description": "Full job description text", "resume": "Candidate's resume/CV text" }Response:
{"cv_data":{"fullName": "John Smith", "jobTitle": "Senior Python Developer", "summary": "Experienced Python developer with 5+ years...", ... }, "quota":{"remaining": 99, "total": 100 } }This API is designed to be deployed on Render.com.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.