AI Resume Ranker Development Report
AI Resume Ranker Development Report
III
2
CERTIFICATE
I hereby certify that the work which is being presented in the [Link]. Minor Project-I Report
entitled Design and Development of AI Powered Resume Ranker using NLP, in partial
fulfillment of the requirements for the award of the degree of Bachelor of Technology, submitted
to the Department of CSE with Artificial Intelligence & Data Science, Sagar Institute of Science
& Technology (SISTec), Bhopal (M.P.) is an authentic record of my own work carried out
during the period from July-2025 to Dec-2025 under the supervision of Ms. Ruchi Jain
(Assistant Professor).
The content presented in this project has not been submitted by me for the award of any other
degree elsewhere.
Devendra Singh 0187AS231017
This is to certify that the above statement made by the candidate is correct to the best of my
knowledge.
Date:
ACKNOWLEDGEMENT
We would like to express our sincere thanks to Dr. Manish Billore, Principal, SISTec and Dr.
Swati Saxena, Vice Principal, SISTec Gandhi Nagar, Bhopal for giving us an opportunity to
undertake this project.
We also take this opportunity to express a deep sense of gratitude to Dr. Vasima Khan, HOD,
Department of CSE-Artificial Intelligence & Data Science for her kindhearted support.
We extend our sincere and heartfelt thanks to our Guide, Ms. Ruchi Jain for providing us with
the right guidance and advice at the crucial junctures and for showing us the right way.
I am thankful to the Project Coordinator, Ms. Ruchi Jain who devoted her precious time in
giving us the information about the various aspect and gave support and guidance at every point
of time. I am thankful to their kind and supportive nature. His inspiring nature has always made
my work easy.
I would like to thank all those people who helped me directly or indirectly to complete my
project whenever I found myself in any issue.
III
4
SISTec/BTech/AD/2025/5/Minor Project_I/04
TABLE OF CONTENTS
List of Abbreviations ii
List of Tables iv
Chapter 1 Introduction 1
Chapter 9 Coding 21
References 43
Appendix-1 Glossary of Terms 44
Project 49
Summary
IV IV
SISTec/BTech/AD/2025/5/Minor Project_I/04 5i
ABSTRACT
This project presents the design and development of an AI-powered resume ranking system that
automates candidate shortlisting using Natural Language Processing (NLP) and Machine Learning
(ML) techniques. Prior research demonstrates that ML-based resume screening improves recruitment
efficiency and reduces manual bias [1]. The proposed system follows a structured pipeline consisting
of resume preprocessing, text normalization, resume parsing, feature extraction, and candidate–job
relevance scoring, as adopted in existing resume ranking methodologies [2]. Resumes are converted
into structured textual representations to extract skills, experience, education, and domain-specific
keywords, while a hybrid ranking approach combining TF-IDF-based keyword weighting and
semantic similarity techniques is employed to evaluate candidate suitability [2]. Supervised machine
learning models are further used to enhance ranking accuracy and consistency [1]. The system is
designed with a modular and scalable architecture to efficiently process large volumes of resumes,
and experimental evaluation indicates improved precision and recall compared to traditional manual
screening methods [3]. The proposed solution provides a practical, extensible framework suitable for
integration with modern Applicant Tracking Systems (ATS), supporting efficient and data-driven
recruitment automation.
ii
SISTec/BTech/AD/2025/5/Minor Project_I/04
LIST OF ABBREVIATIONS
LIST OF FIGURES
LIST OF TABLES
CHAPTER 1
INTRODUCTION
Effective interview preparation is widely recognized as a crucial factor for employment success;
however, traditional preparation methods often fail to deliver practical outcomes. Most candidates
depend on informal mock interviews or costly professional coaching programs, which are financially
inaccessible to a large section of students . Moreover, conventional approaches lack realistic interview
simulation and personalized feedback. They neither replicate real interview pressure nor provide
instant performance analysis. Recent studies identify interview training as a neglected area and
emphasize the urgent need for automated interview simulation platforms to ensure equal access to
quality preparation.
Recent advancements in Artificial Intelligence (AI), particularly deep learning and large language
models (LLMs), present effective solutions to these limitations. AI-driven mock interview systems can
dynamically generate interview questions and analyze candidate responses in real time [2][3]. Machine
learning models are capable of evaluating speech, facial expressions, and linguistic patterns to provide
personalized performance feedback and realistic practice scenarios [2]. The emergence of generative
AI and LLMs further enables the development of virtual interview systems with adaptive questioning
and targeted improvement guidance. In alignment with these advancements, the proposed system
applies AI techniques to simulate domain-specific interviews by generating questions based on the
user profile and providing immediate feedback on both content and delivery [2][3].
The proposed AI-based interview preparation application integrates multiple intelligent modules to
provide realistic, adaptive, and personalized interview practice. The system includes a domain-specific
question generation module that utilizes deep learning and Natural Language Processing (NLP) to
dynamically generate interview questions based on the candidate’s selected field. A similar approach
was implemented by Qin et al. [3], where questions were generated using resume data, industry
knowledge, and adaptive difficulty adjustment. The proposed system follows this model by learning
from large textual datasets and a resume parsing engine to ensure accurate and relevant question
generation.
During each mock interview session, the system offers real-time feedback on candidate responses. It
analyzes audio and video inputs, including speech clarity, vocal tone, facial expressions, and
emotional cues, to evaluate confidence and communication effectiveness. In [4], an AI-based mock
1
SISTec/BTech/AD/2025/5/Minor Project_I/16 2
interview tool is presented that utilizes speech recognition and emotion detection algorithms to assess
response quality and provide detailed feedback. The proposed system adopts similar methods by
integrating emotion recognition and NLP-based answer evaluation to generate instant improvement
suggestions.
In addition to question generation and answer analysis, the system also includes resume analysis,
interview scheduling, and performance tracking features. The resume analyzer extracts key skills,
educational background, and work experience from uploaded resumes, which directly influence both
question generation and feedback mechanisms [3]. A scheduling module enables users to plan multiple
mock interview sessions, encouraging consistent practice. Furthermore, a comprehensive performance
dashboard visualizes progress through graphical metrics such as response time, speaking rate, tone
modulation, and answer relevance. Visual feedback mechanisms have been shown to improve user
awareness and performance optimization [4].
Several enhancement modules have been incorporated to improve user engagement and system
effectiveness. A coding practice section allows users to solve technical problems across multiple
programming languages with instant evaluation, strengthening technical and problem-solving skills
alongside interview readiness. Google Analytics integration enables monitoring of user activity,
performance trends, and engagement patterns for continuous system improvement [13]. A quiz module
allows users to test theoretical knowledge through domain-specific multiple-choice questions with
instant scoring and explanations. Additionally, a job search and recommendation module uses
Selenium-based web scraping techniques to retrieve real-time job listings from [Link] [14][15],
thereby directly connecting interview preparation with live employment opportunities.
The primary objectives of the proposed AI-based interview preparation system are as follows:
Personalization: To deliver customized interview questions and feedback for each user. The
system utilizes resume data and performance history to tailor mock interview sessions and
improvement recommendations.
Automation: To automate the generation, execution, and evaluation of interview sessions,
thereby minimizing manual intervention and reducing evaluator bias. AI models consistently
assess candidate performance and dynamically adjust question difficulty.
Data Privacy: To ensure secure handling of user data such as resumes, interview recordings, and
performance analytics. Ethical and privacy concerns are addressed through consent-based data
usage, encryption techniques, and secure storage mechanisms.
2
SISTec/BTech/AD/2025/5/Minor Project_I/4 3
CHAPTER 2
SOFTWARE & HARDWARE REQUIREMENTS
NLP
Pillow(PIL)
3
SISTec/BTech/AD/2025/5/Minor Project_I/16 4
4
SISTec/BTech/AD/2025/5/Minor Project_I/4 5
CHAPTER 3
PROBLEM DESCRIPTION
Resume screening is one of the most critical stages in the recruitment process. Every year,
organizations receive hundreds or even thousands of resumes for a single job opening.
However, manual resume screening is slow, inconsistent, and highly dependent on human
judgment. Recruiters often face difficulties in identifying the most relevant candidates within a
limited time, which results in delayed hiring and poor selection decisions.
Another major limitation is the lack of automation and intelligent feedback. Existing systems
rarely provide relevance scoring, skill gap analysis, or candidate ranking based on job
descriptions. As a result, recruiters struggle to identify the best-fit candidates accurately and
efficiently.
Therefore, there is a strong need for an AI-powered automated resume screening and
ranking system that can extract information from resumes, match it with job requirements,
assign relevance scores, and rank candidates intelligently in a fast, accurate, and unbiased
manner.
The traditional resume screening process suffers from multiple challenges that reduce hiring --
efficiency and accuracy.
5
SISTec/BTech/AD/2025/5/Minor Project_I/16 6
Recruiters are required to manually review large volumes of resumes, which consumes excessive
time and effort.
Example: A company receiving 1,000 resumes for a software engineer role may take several days
to manually shortlist candidates.
Most existing systems rely only on keyword matching and fail to understand the semantic meaning
skills.
Example: A candidate with “Machine Learning Engineer” experience may be rejected if the job
requires “AI Developer” due to keyword mismatch.
Traditional systems do not assign relevance scores or provide ranked candidate lists based on job
suitability.
Example: Recruiters must manually compare multiple shortlisted resumes to decide priority.
Human evaluation varies from recruiter to recruiter and is influenced by personal judgment.
Example: wo recruiters may shortlist completely different candidates from the same resume set.
Most platforms do not provide proper resume storage, tracking, or version management.
Example: Recruiters may mistakenly evaluate outdated resumes due to poor record handling.
6
SISTec/BTech/AD/2025/5/Minor Project_I/4 7
CHAPTER 4
LITERATURE SURVEY
Several researchers have explored the use of Artificial Intelligence to automate resume screening
and improve recruitment efficiency. One study proposed an AI-based resume screening system that
uses Natural Language Processing (NLP) to extract candidate skills, education, and experience from
resumes. The extracted features are compared with job descriptions to compute a relevance score.
The results showed that automated screening significantly reduced manual effort and improved
shortlist accuracy .
Another research introduced a machine learning-based candidate ranking system where multiple
classification models were trained on historical hiring data. The system automatically categorized
resumes into suitable and unsuitable groups. Their findings demonstrated that supervised learning
models such as Random Forest and Support Vector Machines achieved higher accuracy than
traditional keyword-based filtering.
A deep-learning-based resume parser was proposed to handle unstructured resume formats more
effectively. The system used word embeddings and sequence learning models to extract named
entities such as skills, organizations, and job roles. This approach improved extraction accuracy
even for poorly formatted resumes.
Natural Language Processing plays a critical role in resume screening systems. One study presented
an NLP-based resume analysis framework that applied tokenization, lemmatization, and named
entity recognition for structured information extraction. The system successfully converted
unstructured resume text into machine-readable structured data .
Another work proposed a semantic job matching approach using TF-IDF and cosine similarity to
measure the relevance between resumes and job descriptions. Their method provided better
matching accuracy compared to basic keyword matching techniques .
7
SISTec/BTech/AD/2025/5/Minor Project_I/16 8
Transformer-based models such as BERT have also been applied to resume-job matching. These
models capture semantic relationships between skills and job requirements, leading to more accurate
candidate-job alignment even when exact keywords are absent .
Several studies have focused on ranking candidates based on suitability scores. One research
developed a weighted scoring model where experience, skill match, project relevance, and education
were assigned specific weights. The final ranking was generated automatically based on the combined
score, improving recruiter decision-making speed.
Another study applied regression-based machine learning models to predict hiring probability from
resume features. The model produced a numerical suitability score that helped recruiters compare
multiple candidates objectively.
Clustering-based techniques were also explored to group candidates based on similar skill profiles.
This approach helped recruiters quickly identify specialized candidate pools for different job roles.
Although existing AI-based resume screening systems show promising results, several limitations still
exist. Many systems rely heavily on keyword-based matching and fail to capture the true semantic
meaning of skills. Some platforms lack domain adaptability, making them unsuitable for multi-role
recruitment scenarios. Additionally, most systems do not provide transparency in scoring logic, which
raises trust and fairness concerns. Data bias in training datasets can also lead to unfair candidate
ranking.
The literature survey indicates that Artificial Intelligence, Machine Learning, and Natural Language
Processing have significantly improved the automation of resume screening and candidate ranking.
However, most existing systems suffer from limitations such as restricted domain adaptability, lack of
explainable scoring mechanisms, and poor handling of unstructured resume formats.
8
SISTec/BTech/AD/2025/5/Minor Project_I/4 9
CHAPTER 5
SOFTWARE REQUIREMENTS SPECIFICATION
ID REQUIREMENTS DESCRIPTION
9
SISTec/BTech/AD/2025/5/Minor Project_I/16 10
ID CATEGORY REQUIREMENTS
10
SISTec/BTech/AD/2025/5/Minor Project_I/4 11
CHAPTER 6
SOFTWARE DESIGN
This chapter presents the core design structure of the AI-Powered Resume Screening and Ranking
System using structured diagrams and detailed descriptions. It includes the Use Case Diagram and
Data Flow Diagram (DFD) to illustrate user interaction, system behavior, and information flow.
The Use Case Diagram illustrates the different interactions between the Recruiter (User) and the
Admin with the AI-based Resume Screening System. It highlights the main system functionalities
such as resume upload, job description analysis, candidate scoring, ranking, and data management.
Actors
User (Recruiter/HR): Person responsible for uploading job descriptions, screening resumes, and viewing
ranked candidates.
11
SISTec/BTech/AD/2025/5/Minor Project_I/16 12
Admin: System administrator who manages users, data, and overall system configuration.
Include Relationships:
12
SISTec/BTech/AD/2025/5/Minor Project_I/4 13
Extend Relationships:
The DFD Level 0 represents the high-level architecture and data flow of the AI-Powered Resume
Screening and Ranking System. It shows how recruiter inputs move through various system components
to generate intelligent resume analysis, relevance scoring, and candidate ranking using AI and Machine
Learning models.
Frontend
Functions:
Resume Upload
13
SISTec/BTech/AD/2025/5/Minor Project_I/16 14
Data Flow:
Backend Server
User Authentication
Resume Parsing Requests
Job Description Processing
AI-Based Matching & Scoring
Ranking Computation
Resume Management
Report Generation
Data Flow:
Communicates with:
Database
Cache
AI/ML Model
Stored Data:
Purpose:
14
SISTec/BTech/AD/2025/5/Minor Project_I/4 15
Data Flow:
Backend ↔ Cache:
Database
Stored Information:
Data Flow:
Backend ↔ Database:
Functions:
Data Flow:
15
SISTec/BTech/AD/2025/5/Minor Project_I/16 16
CHAPTER 7
MACHINE LEARNING MODULE
This module is responsible for evaluating resumes and ranking them based on job relevance. It operates
through the following internal components:
16
SISTec/BTech/AD/2025/5/Minor Project_I/4 17
Machine Learning models like Logistic Regression / SVM / Random Forest trained to classify
resume relevance.
17
SISTec/BTech/AD/2025/5/Minor Project_I/16 18
Output Generation :
18
SISTec/BTech/AD/2025/5/Minor Project_I/4 19
CHAPTER 8
FRONTEND CONNECTIVITY
This chapter outlines the frontend architecture, components, and connectivity for the AI ATS platform,
which facilitates interaction between users and the backend.
The frontend is built using basic web technologies with Jinja templates for dynamic content rendering:
Dashboard
Resume Upload
19
SISTec/BTech/AD/2025/5/Minor Project_I/16 20
Authentication & Sessions: Server-side session management for secure user login.
Frontend Testing: Manual testing of forms, file uploads, and page rendering.
Debugging Tools:
Browser DevTools for inspecting HTML, CSS, console errors, and network
requests.
Backend logs used to trace issues in form submission and response handling.
20
SISTec/BTech/AD/2025/5/Minor Project_I/16 21
CHAPTER 9
CODING
1. Folder Structure :
21
SISTec/BTech/AD/2025/5/Minor Project_I/4 22
ATS_Project/core/[Link] :
import re
import docx
import PyPDF2
def clean_text(text):
text = [Link]()
stop_words = set([Link]('english'))
words = [Link]()
def read_resume_file(file):
file_extension = [Link]('.')[-1].lower()
text = ""
if file_extension == 'pdf':
try:
reader = [Link](BytesIO([Link]()))
22
SISTec/BTech/AD/2025/5/Minor Project_I/16 23
except Exception as e:
return None
try:
doc = [Link](BytesIO([Link]()))
text += [Link]
except Exception as e:
return None
else:
return None
return text
resume_text = read_resume_file(resume_file)
return 0.0
23
SISTec/BTech/AD/2025/5/Minor Project_I/4 24
cleaned_resume = clean_text(resume_text)
cleaned_jd = clean_text(job_description)
tfidf_vectorizer = TfidfVectorizer()
tfidf_matrix = tfidf_vectorizer.fit_transform(documents)
return ranking_score
24
SISTec/BTech/AD/2025/5/Minor Project_I/16 25
ATS_Project/core/[Link] :
import fitz
import requests, os
GEMINI_API_KEY = "AIzaSyCvr1wleqVw-rp3o9Kc0jfUHNEZNNgC0fA"
def candidate_signup(request):
25
SISTec/BTech/AD/2025/5/Minor Project_I/4 26
if [Link] == 'POST':
form = CandidateSignUpForm([Link])
if form.is_valid():
user = [Link](commit=False)
user.is_candidate = True
[Link]()
return redirect('login')
else:
form = CandidateSignUpForm()
def chatbot_response(request):
user_message = [Link]('message')
prompt = f"""You are an AI career assistant. Your goal is to provide helpful and concise advice
to job seekers.
"""
try:
client = [Link](api_key=GEMINI_API_KEY)
model_name = 'gemini-2.5-flash'
26
SISTec/BTech/AD/2025/5/Minor Project_I/16 27
response = [Link].generate_content(
model=model_name,
contents=prompt,
# model = [Link]('gemini-2.5-flash')
# response = model.generate_content(prompt)
# ai_response = [Link]
except HTTPError as e:
except Exception as e:
@login_required
def dashboard(request):
if [Link].is_candidate:
return redirect('candidate_dashboard')
27
SISTec/BTech/AD/2025/5/Minor Project_I/4 28
elif [Link].is_recruiter:
return redirect('recruiter_dashboard')
else:
return redirect('home')
@login_required
def candidate_dashboard(request):
if not [Link].is_candidate:
return redirect('dashboard')
internal_jobs = [Link](is_internal=True)
external_jobs = []
if query:
try:
external_jobs.append({
'title': job_data['title'],
28
SISTec/BTech/AD/2025/5/Minor Project_I/16 29
'description': job_data['description'],
'external_url': job_data['redirect_url']
})
except [Link] as e:
my_applications = [Link](candidate=[Link])
context = {
'internal_jobs': internal_jobs,
'external_jobs': external_jobs,
'my_applications': my_applications,
'query': query,
'location': location,
def generate_job_description(job_title):
client = [Link](api_key=GEMINI_API_KEY)
model_name = 'gemini-2.5-flash'
29
SISTec/BTech/AD/2025/5/Minor Project_I/4 30
prompt = f"Write a detailed and professional job description for the role of a {job_title}. The
description should include responsibilities, qualifications, and company information. The length
should be around 250-300 words. Return only the job description content."
try:
response = [Link].generate_content(
model=model_name,
contents=prompt,
return [Link]
except Exception as e:
except Exception as e:
@login_required
def recruiter_dashboard(request):
30
SISTec/BTech/AD/2025/5/Minor Project_I/16 31
if not [Link].is_recruiter:
return redirect('dashboard')
recruiter_jobs = [Link](recruiter=[Link])
total_applications = [Link](job__in=recruiter_jobs).count()
shortlisted = [Link](job__in=recruiter_jobs,
status='shortlisted').count()
context = {
'jobs': recruiter_jobs,
'total_applications': total_applications,
'shortlisted': shortlisted,
'rejected': rejected,
@login_required
def post_job(request):
generated_jd = None
if [Link] == 'POST':
if 'generate_jd' in [Link]:
if job_title:
31
SISTec/BTech/AD/2025/5/Minor Project_I/4 32
generated_jd = generate_job_description(job_title)
[Link](request, generated_jd)
else:
else:
form = JobPostingForm([Link])
else:
form = JobPostingForm([Link])
if form.is_valid():
job = [Link](commit=False)
[Link] = [Link]
[Link]()
return redirect('recruiter_dashboard')
else:
form = JobPostingForm()
32
SISTec/BTech/AD/2025/5/Minor Project_I/16 33
generated_jd})
@login_required
if not [Link].is_candidate:
return redirect('dashboard')
if [Link](candidate=[Link], job=job).exists():
return redirect('candidate_dashboard')
if [Link] == 'POST':
if form.is_valid():
resume_file = [Link]['resume']
job_description = [Link]
if ranking_score is None:
[Link](request, "Resume file read nahi ho payi. Kripya sahi format mein file
33
SISTec/BTech/AD/2025/5/Minor Project_I/4 34
upload karein.")
application = [Link](commit=False)
[Link] = [Link]
[Link] = job
application.ranking_score = ranking_score
[Link]()
return redirect('candidate_dashboard')
else:
form = ApplicationForm()
def home(request):
@login_required
if not [Link].is_recruiter:
return redirect('dashboard')
34
SISTec/BTech/AD/2025/5/Minor Project_I/16 35
applications = [Link](job=job).order_by('-ranking_score')
@login_required
if not [Link].is_recruiter:
return redirect('dashboard')
[Link] = 'Shortlisted'
[Link]()
def candidate_login(request):
if [Link] == 'POST':
if form.is_valid():
user = form.get_user()
auth_login(request, user)
35
SISTec/BTech/AD/2025/5/Minor Project_I/4 36
return redirect('candidate_dashboard')
else:
else:
else:
form = LoginForm()
def recruiter_login(request):
if [Link] == 'POST':
if form.is_valid():
user = form.get_user()
auth_login(request, user)
return redirect('recruiter_dashboard')
else:
else:
36
SISTec/BTech/AD/2025/5/Minor Project_I/16 37
else:
form = LoginForm()
@login_required
if not [Link].is_recruiter:
return redirect('dashboard')
[Link] = 'Rejected'
[Link]()
37
SISTec/BTech/AD/2025/5/Minor Project_I/4 38
CHAPTER 10
RESULT & OUTPUT SCREENS
FIGURE 10.1
FIGURE 10.2
38
SISTec/BTech/AD/2025/5/Minor Project_I/16 39
FIGURE 10.3
FIGURE 10.4
39
SISTec/BTech/AD/2025/5/Minor Project_I/4 40
FIGURE 10.5
40
SISTec/BTech/AD/2025/5/Minor Project_I/16 41
FIGURE 10.7
FIGURE 10.8
41
SISTec/BTech/AD/2025/5/Minor project _I/4 42
CHAPTER 11
CONCLUSION & FUTURE WORK
11.1 CONCLUSION
The AI-based Applicant Tracking System (ATS) automates resume screening and candidate shortlisting,
leveraging backend algorithms to extract skills, qualifications, and experience from resumes. This
project demonstrates how AI can streamline recruitment by reducing manual effort, improving
accuracy in candidate evaluation, and speeding up the hiring process. Users can upload resumes, view
the extracted information, and receive automated recommendations for suitable job roles. The system
provides a simple, user-friendly interface using HTML, CSS, and Jinja templates, making it accessible
and easy to use. Overall, this ATS bridges the gap between job seekers and employers, offering a more
efficient, reliable, and scalable recruitment process.
I. Enhanced Resume Parsing: Incorporate NLP models to extract more nuanced information such as
certifications, projects, and achievements.
II. Job Matching Algorithms: Implement AI-based ranking of candidates against job descriptions for
improved relevance.
III. Candidate Analytics Dashboard: Provide visual insights into candidate statistics, trends, and skill
gaps.
IV. Automated Notifications: Add email or SMS alerts to notify candidates about application status or
feedback.
V. Integration with Job Portals: Enable automatic fetching of live job postings to match candidates
with relevant opportunities.
SISTec/BTech/AD/2025/7/Major Project_I/04 43
REFERENCES
[1] A. R. Vishaline, R. K. P. Kumar, V. V. N. S. Sai Pramod, K. V. K. Vignesh, and P. Sudheesh, “An ML-
based Resume Screening and Ranking System,” in *2024 International Conference on Signal Processing,
Computation, Electronics, Power and Telecommunication (IConSCEPT)*, Karaikal, India, Jul. 4–5, 2024,
pp. 1–6. doi:10.1109/IConSCEPTXXXX.10627825.
[2] K. Tejaswini, V. Umadevi and S. Revanna, “Design and Development of Machine Learning based
Resume Ranking System,” *Global Transitions Proceedings*, vol. 3, no. 2, Nov. 2022.
doi:10.1016/[Link] (S2666285X21001011). :contentReference[oaicite:1]{index=1}
[3] N. Aidasani, P. Adep, V. Darade, S. Chavan, and Dr. Shagufta Md. S. Sheikh, “AI-Powered Resume
Ranking System: Enhancing Recruitment Efficiency through Natural Language Processing,” *International
Journal for Research Trends and Innovation (IJRTI)*, vol. 10, no. 5, pp. b367–b371, May 2025, ISSN 2456-
3315, doi:10.6084/[Link].IJRTI2505141. :contentReference[oaicite:0]{index=0}
43
SISTec/BTech/AD/2025/7/Major Project_I/01 44
Term Definition
Deep neural model used for extracting contextual meaning from resume
Bi-LSTM text.
Maximum users who can upload resumes or run evaluations at the same
Concurrent Users
time.
Term Definition
One full pass over the training dataset during model training.
Epoch
Measures how far predicted labels are from actual labels during training.
Loss Function
NLP (Natural Language Techniques enabling the model to understand and classify resume text.
45
SISTec/BTech/AD/2025/7/Major Project_I/01 46
Term Definition
OTP (One-Time One-time password used for verifying users during login/registration.
Password)
Making text sequences the same length for the neural model.
Padding
Standard API design used for resume uploads, scoring, and result retrieval.
RESTful API
System can handle more users, resumes, and features without crashing.
Scalability
46
SISTec/BTech/AD/2025/7/Major Project_I/04 47
Term Definition
An NLP technique used to categorize text inputs (e.g., user responses) into
Text Classification
predefined labels or categories.
A tool in NLP used to break text into individual elements such as words or
Tokenizer
subwords for further processing.
Training Set The subset of data used to train the deep learning model.
A portion of the dataset used to evaluate the model during training to tune
Validation Set
hyperparameters and prevent overfitting.
Word Embedding A vector representation of a word capturing its semantic meaning and
47
SISTec/BTech/AD/2025/5/Minor Project_I/4 48
48
PROJECT SUMMARY
About Project
Title of the project Design and Development of an AI-Powered
Applicant Tracking System (ATS)
Semester 5
Members DEVENDR SINGH–0187AS231017
SAMEER GUPTA – 0187AS231053
RAHUL KUSHWAHA-0187AS231042
The motivation for this project arises from the inefficiencies and subjectivity
What is the motivation for
selecting this project? in traditional resume screening processes. Recruiters often spend hours
manually reviewing resumes, which is error-prone, inconsistent, and biased.
The AI-powered ATS was chosen to:
Tools &Technologies
Programming language Python, HTML, CSS, JS
used
Compiler used Python 3.12.8
(withversion)
IDE used Visual Studio Code (VS Code)
(with version)
Version: 1.103.2
HTML5
Front End Technologies
(with version, wherever CSS3
Applicable) JavaScript (ES6+)
Python (v3.12.8)
Back End Technologies
(with version, wherever Django (v5.x)
applicable) NumPy
Justify that the SDLC model The project was built incrementally. We started with
mentioned above is followed in
the project. the core prediction UI, then iteratively added the
backend API, the result page, the full disease library,
and the user authentication system. Each component
was developed and refined in a separate cycle,
allowing for flexible adjustments and continuous
improvement, which is a hallmark of the Agile
methodology.
Software Design approach Object-Oriented
followed
(Functional orObjectOriented)
Use Case Diagram
Name the diagrams
developed Project Flow Chart
(according to the Design
approach followed)
Project Requirements
MVC architecture followed Yes
(Yes / No)
If yes, write the name of MVT (Model-View-Template), which is Django's implementation
MVC architecture followed analogous to MVC-2.
(MVC-1, MVC-2)
Design Pattern used Yes
(Yes / No)
If yes, write the name of Model-View-Template (MVT)
Design Pattern used Singleton (for loading the AI model once on server start)