- cd resume-builder-ui (move to the directory)
- Install the dependency
npm install - Start a development server
npm run dev - Open your browser and visit http://localhost:3000 to see OpenResume live
This is a lightweight FastAPI service that scores a resume against a job description based on skill matching using TF-IDF weights.
- Install required packages:
pip install fastapi uvicorn scikit-learn pandas spacy joblib
python -m spacy download en_core_web_smInside the fastapi-backend folder, run:
uvicorn main:app --reload- Server will start at:
http://127.0.0.1:8000 - You can access automatic API docs at:
http://127.0.0.1:8000/docs
- Method: POST
- Request Body (JSON):
{
"resume_text": "<Paste your resume text here>",
"job_description": "<Paste your job description text here>"
}- Response (JSON):
{
"normalized_score": 0.85,
"matched_skills": {
"java": 0.6,
"javascript": 0.25
},
"missing_skills": {}
}-
Method: GET
-
Response (text):
true- Method: POST
- Request Body (JSON):
{
"sender": "<User id>",
"message": "<Paste your prompt here>"
}- Response (JSON):
{
"recipient_id": "<User id>",
"text": "<Bot response>"
}This script scores a candidate's resume against a job description (JD) based on a predefined list of Computer Science skills using TF-IDF weighting.
- Uses NLP library spaCy to extract relevant skills from both JD and resume.
- Trains and loads a TF-IDF model based on job descriptions to weigh skill importance.
- Compares resume skills with JD-required skills.
- Uses a predetermined vocabulary list of CS related job skills.
- Calculates:
- 🎯 A normalized match score (0 to 1).
- ✅ A list of matched skills with weights (sorted by importance).
- ❌ A list of missing but important skills (also sorted).
🎯 Score: 0.52
✅ Matched Skills (with weights): {'python': 0.26, 'sql': 0.34}
❌ Missing Skills (with weights): {'kubernetes': 0.90, 'r': 0.0}