Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Résumate

AI-powered resume ATS scorer — matches your resume against a job description using NLP and LLM feedback. Built with FastAPI, Streamlit, spaCy & Sentence Transformers.

What it does

  1. Upload a resume (PDF / DOC / DOCX) and paste a job description.
  2. The backend parses the resume, extracts skills and experience, and compares them to the JD using semantic similarity.
  3. You get an ATS score, a category breakdown (formatting, keywords, content, skill validation, ATS compatibility), and LLM-written suggestions for what to improve.
  4. Past analyses are saved to your account so you can revisit them anytime.

Features

  • ATS Score — an overall compatibility score out of 100
  • Category Breakdown — see exactly where you're losing points: formatting, keyword match, content quality, skill validation, and ATS compatibility
  • Keyword & Skills Gap Analysis — matched keywords, missing keywords, and skills mentioned in the JD but absent from your resume
  • Semantic Similarity Matching — goes beyond exact keyword matching using Sentence Transformer embeddings to catch conceptually similar phrasing
  • LLM-Generated Suggestions — actionable, specific feedback powered by the Groq API
  • PDF Reports — downloadable, professionally formatted score reports
  • Analysis History — save and revisit past resume scans, tied to your account

Tech Stack

Layer Technology
Backend FastAPI
Frontend Streamlit
NLP spaCy, Sentence Transformers
LLM Suggestions Groq API
Database / Auth Supabase
PDF Generation WeasyPrint

Getting Started

Prerequisites

Installation

git clone https://github.com/sumitstat07/resumate.git
cd resumate
pip install -r requirements.txt

Environment Variables

Create a .env file in the backend/ directory with: GROQ_API_KEY=your_groq_api_key SUPABASE_URL=your_supabase_project_url SUPABASE_KEY=your_supabase_service_role_key SUPABASE_ANON_KEY=your_supabase_anon_key AUTH_REDIRECT_URL=http://localhost:8501 SENTENCE_TRANSFORMER_MODEL_NAME=all-MiniLM-L6-v

Running the App

Start the FastAPI backend:

cd backend
uvicorn main:app --reload

Start the Streamlit frontend (in a separate terminal):

cd frontend
streamlit run app.py

Project Structure

resumate/ ├── backend/ │ ├── api/ # API route handlers │ ├── core/ # Core config and app setup │ ├── database/ # Supabase client and queries │ ├── models/ # Pydantic / data models │ ├── services/ # Resume parsing, scoring, matching, PDF export │ ├── templates/ # Jinja2 HTML templates for PDF reports │ ├── utils/ # Helper utilities │ └── main.py # FastAPI entry point ├── frontend/ # Streamlit app ├── .gitignore └── requirements.txt

Roadmap

  • Multi-resume comparison against a single JD
  • Resume version history / diff view
  • Browser extension for quick scoring while job-browsing
  • Support for additional file formats

License

MIT

About

AI-powered resume ATS scorer — matches your resume against a job description using NLP and LLM feedback. Built with FastAPI, Streamlit, spaCy & Sentence Transformers.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages