Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

CVly

Intelligent Resume-to-Job Match Scorer

Version License Python FastAPI React

CVly is an intelligent resume matching engine that evaluates how closely a candidate's resume aligns with a job description.

Built to bridge the gap between job seekers and Applicant Tracking Systems (ATS), CVly leverages Natural Language Processing (NLP) to extract skills, analyze experience relevance, and provide actionable feedback that helps optimize resumes for target roles.


✨ Features

🎯 Instant Match Scoring

Generate an overall match percentage based on:

  • Keyword overlap
  • Contextual skill relevance
  • Experience alignment

📊 Skill Gap Analysis

Identify important hard and soft skills that are missing from a resume compared to the job description.

🤖 ATS Optimization Insights

Detect issues that may prevent resumes from performing well in Applicant Tracking Systems, including:

  • Missing section headers
  • Formatting problems
  • Missing keywords

🧠 Semantic Search & Vector Matching

Go beyond keyword matching by understanding semantic relationships between technologies and skills.

Example:

  • Node.jsBackend JavaScript

📈 Side-by-Side Comparison

Compare resumes against job descriptions with visual insights into:

  • Keyword density
  • Experience relevance
  • Critical requirement coverage

🏗️ Architecture & Tech Stack

Component Technology
Frontend React.js, Next.js, Tailwind CSS
Backend Python 3.9+, FastAPI
NLP Engine spaCy, scikit-learn, Sentence Transformers
Database PostgreSQL
Cache Redis

🚀 Quick Start

Prerequisites

Make sure you have installed:

  • Python 3.9+
  • Node.js 18+
  • pip
  • npm

1. Clone the Repository

git clone https://github.com/your-username/cvly.git
cd cvly

2. Backend Setup

cd backend

python -m venv venv

# Linux / macOS
source venv/bin/activate

# Windows
venv\Scripts\activate

pip install -r requirements.txt

python -m spacy download en_core_web_sm

3. Frontend Setup

cd ../frontend

npm install

4. Environment Variables

Create a .env file inside the backend/ directory.

PORT=8000
ENV=development

# External LLM / Vector API Keys
OPENAI_API_KEY=your_key_here

5. Run the Application

Start the Backend

cd backend

uvicorn main:app --reload

Start the Frontend

cd frontend

npm run dev

⚙️ Matching Engine Workflow

Resume + Job Description
            │
            ▼
     Upload & Parse
            │
            ▼
    Entity Extraction
            │
            ▼
 Similarity Calculation
            │
            ▼
   Score Compilation
            │
            ▼
   Match Score + Suggestions

1. Upload & Parse

Extract text from Resume (PDF/DOCX) and ingest the target Job Description.

2. Entity Extraction

Extract:

  • Skills
  • Job Titles
  • Years of Experience
  • Education
  • Technologies

3. Similarity Calculation

Compute similarity using:

  • TF-IDF
  • Cosine Similarity
  • Sentence Embeddings

4. Score Compilation

Generate:

  • Match Score (0–100%)
  • Missing Skills
  • ATS Feedback
  • Improvement Suggestions

📄 License

This project is distributed under the MIT License.

See the LICENSE file for more information.


💡 Future Improvements

  • AI Resume Rewriting
  • Cover Letter Generator
  • Multi-language Resume Parsing
  • Recruiter Dashboard
  • Resume Version Tracking
  • Interview Readiness Score

About

CVly is a system or algorithm that evaluates and assigns a numerical or categorical score indicating how closely a candidate's resume aligns with a job description.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors