Inspiration

As someone passionate about tech and hiring efficiency, I recognized how time-consuming and inconsistent resume screening can be especially when handling a large volume of applications. Recruiters often struggle to quickly identify the most suitable candidates, while job seekers are left guessing whether their resumes align with the job requirements. I wanted to build a tool that leverages AI to streamline this process on both sides: helping recruiters make faster, smarter decisions and enabling job seekers to better understand how well their resume matches a specific job description.

What it does

Resume Ranker is an AI-powered web application that:

Accepts a job description and multiple resumes (.pdf, .docx, .doc)

Extracts relevant skills from both the resumes and job description

Computes semantic similarity using Sentence-BERT (SBERT)

Generates a match score combining skill overlap and text similarity

Ranks candidates and highlights matching/missing skills

Provides resume previews with an interactive and secure interface

How I built it

Frontend: HTML, CSS (Bootstrap), JavaScript

Backend: Python with Flask

NLP: Sentence-BERT for semantic similarity, spaCy for skill extraction

Parsing: PyPDF2 and python-docx for reading resume files

Challenges I ran into

Parsing and extracting consistent text from diverse resume formats

Ensuring the semantic similarity model worked accurately across industries

Managing file uploads securely without overwhelming the session memory

Designing a ranking logic that fairly balances skills and similarity

Accomplishments that I'm proud of

Building a working end-to-end resume screening tool from scratch

Successfully integrating NLP models into a real-world use case

Creating a responsive and intuitive user interface

Making the system flexible to support multiple file formats

What I learned

How to apply Sentence-BERT and spaCy in production use cases

Practical experience with Flask session management and routing

Insights into ATS (Applicant Tracking System) logic and hiring workflows

Real-world NLP challenges like skill ambiguity and synonym handling

What's next for Resume Ranker

Deploying to a cloud platform (Heroku or AWS)

Adding user login and recruiter dashboards

Expanding to analyze cover letters and LinkedIn URLs

Adding analytics and filtering tools for recruiters

Making the app mobile-friendly

Share this project:

Updates