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-api
-
Create a virtual environment:
python -m venv venv .\venv\Scripts\Activate # Windows source venv/bin/activate # Linux/Mac
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.env
file 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.