A tool that scores resumes against job descriptions, providing detailed feedback and analytics on resume-job fit.
👉 Click here for a quick product demo.
- Intelligent resume parsing from PDF and DOCX formats
- Advanced job description analysis and requirement extraction
- AI-powered resume scoring with comprehensive feedback
- Semantic skills matching using embeddings and fuzzy logic
- Modern React frontend with interactive user interface
- RESTful API backend built with FastAPI
scorj/
├── backend/
├── frontend/
├── utils/
├── tests/
├── config.py
├── requirements.txt
└── Procfile
- Clone the repository:
git clone https://github.com/sohv/scorj.git
cd scorj- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
# create .env file with:
OPENAI_API_KEY=your_openai_api_key_hereuvicorn backend.main:app --reload --host 0.0.0.0 --port 8000The API will be available at http://localhost:8000
cd frontend
npm install
npm startThe web interface will be available at http://localhost:3000
Run the test suite:
python run_tests.py allAvailable test commands:
unit- Run unit tests onlyintegration- Run integration testsall- Run all testscoverage- Run tests with coverage report
- Resume Parser: Extracts structured data from PDF/DOCX files
- Job Parser: Analyzes job descriptions and extracts requirements
- Skills Matcher: Uses embeddings and fuzzy matching for semantic skill analysis
- Scoring Engine: OpenAI-powered resume evaluation
- Base Scoring Engine: Structured analysis and scoring logic
- Resume Upload: User uploads resume in PDF or DOCX format
- Resume Parsing: Extract structured data including:
- Contact information
- Work experience with dates and descriptions
- Education details
- Skills and technologies
- Job Description Input: User provides job description text or URL
- Job Analysis: Parse job requirements including:
- Required skills and technologies
- Experience level expectations
- Company and role information
- Skills Matching: Compare resume skills against job requirements using semantic matching
- Scoring Analysis: Generate comprehensive score using OpenAI GPT model
- Results Display: Present detailed feedback with:
- Overall score and dimension-specific scores
- Matching and missing skills
- Strengths and areas for improvement
- Actionable recommendations
The scoring system uses a hybrid approach combining structured analysis with AI evaluation:
- Skills Matching: Semantic embedding comparison with fuzzy string matching
- Experience Evaluation: Years of experience vs job requirements
- Education Assessment: Degree level scoring (Bachelor's: 60, Master's: 80, PhD: 100)
- Relevance Calculation: Domain-specific experience weighting
- Contextual Analysis: GPT-4o-mini evaluates resume content against job description
- Qualitative Assessment: Analyzes writing quality, achievements, and cultural fit
- Comprehensive Scoring: Generates scores across four dimensions:
- Skills Score (40% weight)
- Experience Score (25% weight)
- Education Score (20% weight)
- Domain Score (15% weight)
- Final score combines structured analysis with AI evaluation
- Results include confidence level and detailed breakdown
- Recommendations provided for skill gaps and improvements
- Transparency metrics show processing time and token usage
Unlike traditional resume reviewers that rely on keyword matching or basic templates, Scorj offers several unique advantages:
- Contextual Understanding: Uses OpenAI GPT-4o-mini for deep content analysis beyond simple keyword matching
- Job-Specific Evaluation: Scores resumes specifically against provided job descriptions rather than generic criteria
- Qualitative Assessment: Evaluates writing quality, achievement presentation, and cultural fit indicators
- Embedding-Based Matching: Uses sentence transformers to find semantically similar skills
- Fuzzy String Matching: Catches variations in skill names and terminology
- Contextual Relevance: Understands the importance of skills in the job context
- API-First Design: REST API backend enables integration with other tools
- Modern Stack: FastAPI backend with React frontend for performance and usability
- Comprehensive Testing: Extensive test cases ensure reliability and accuracy
- Actionable Feedback: Specific recommendations for improvement rather than just scores
- Skills Gap Analysis: Identifies missing skills with suggestions for development
- Processing Transparency: Shows analysis time and token usage for trust and debugging
- Multiple Formats: Supports both PDF and DOCX resume formats
- Interactive Chat: AI-powered chat assistant for resume and job-specific questions