Report Format
Report Format
on
“Career Nest”
Submitted to
KIIT Deemed to be University
BACHELOR’S DEGREE IN
COMPUTER SCIENCE ENGINEERING
BY
Jigme Choden 21053412
Vezzu Venkata Revanth 21051559
Apoorav Raj 21053373
B.Tarun Kumar 22057022
1
School of Computer Engineering
Bhubaneswar, ODISHA 751024
CERTIFICATE
This is certify that the project entitled
“Career Nest“
submitted by
is a record of bonafide work carried out by them, in the partial fulfilment of the
requirement for the award of Degree of Bachelor of Engineering (Computer Sci-
ence & Engineering OR Information Technology) at KIIT Deemed to be university,
Bhubaneswar. This work is done during year 2023-2023, under our guidance.
Date:07/04/2024
Vishal Meena
Project Guide
2
ACKNOWLEDGEMENTS
We are profoundly grateful to Vishal Meena of Affiliation for his expert guidance
and continuous encouragement throughout to see that this project rights its target
since its commencement to its completion.
JIGME CHODEN
VEZZU VENKATA REVANTH
APOORAV RAJ
B.TARUN KUMA
3
ABSTRACT
In today's competitive job market, recruiters seek not just skilled candidates but those with
personalities that align with the role and company culture. Manually sifting through countless
CVs to assess personality is a challenge. This project explores the potential of using machine
learning to analyze CVs and predict a candidate's personality. The research investigates
various machine learning algorithms, finding that a Random Forest approach yielded the best
results in personality prediction compared to other methods. This technology offers a
promising solution to streamline the recruitment process by facilitating faster and more
informed candidate shortlisting.
4
CONTENTS
ACKNOWLEDGEMENTS.........................................................................................................3
ABSTRACT................................................................................................................................4
TABLE OF FIGURES.................................................................................................................6
CHAPTER 1 Introduction...........................................................................................................7
Problem Statement...................................................................................................................7
Proposed system......................................................................................................................8
CHAPTER 2 Basic Concept........................................................................................................9
CHAPTER 3 System Requirements..........................................................................................11
Functional Requirements.......................................................................................................11
Non-Functional Requirements...............................................................................................11
Constraints.............................................................................................................................12
User Classes and Characteristics...........................................................................................12
Technologies..........................................................................................................................12
CHAPTER 4 Design..................................................................................................................13
System Design.......................................................................................................................13
Database Design....................................................................................................................14
CHAPTER 5 User Interface Picture..........................................................................................15
User Interface........................................................................................................................15
Working on our project..........................................................................................................17
CHAPTER 6..............................................................................................................................19
Future Scope..........................................................................................................................19
Conclusion.............................................................................................................................20
5
TABLE OF FIGURES
Figure 1: Proposed System..........................................................................................................8
Figure 2: Class diagram.............................................................................................................13
Figure 3: ER-Diagram...............................................................................................................14
Figure 4: Home User Interface..................................................................................................15
Figure 5: Home User Interface..................................................................................................15
Figure 6: Home User Interface..................................................................................................16
Figure 7: Home User Interface..................................................................................................16
Figure 8: Contact web page.......................................................................................................16
Figure 9: Link to post the Resume.............................................................................................17
Figure 10: Enter the API key.....................................................................................................17
Figure 11: Upload Resume and job description........................................................................18
Figure 12: Result.......................................................................................................................18
6
CHAPTER 1 Introduction
The ever-growing tide of resumes threatens to drown recruiters in a sea of paperwork.
Manually processing these documents, which come in a bewildering array of formats (text,
PDF, Word) and writing styles, is a time-consuming and inefficient process. This
inconsistency not only slows down recruitment but also hinders the evaluation of qualified
candidates.
A technological life raft exists in the form of a Resume Parsing System, often called a
"Resume Scanner." This system automates the extraction of vital information from resumes.
Using sophisticated algorithms, the parser can accurately identify and extract key details like
contact information, skills, and work history. This extracted data is then stored electronically
in a centralized database, readily accessible for filtering based on specific job requirements.
However, navigating this sea of resumes isn't without its hazards. Resumes themselves can be
highly variable, with information presented in a non-uniform way within the document.
Furthermore, the use of various file formats (like .txt, .pdf, or .docx) adds another layer of
complexity to the extraction process. To overcome these challenges, a robust resume parsing
system needs to be format-agnostic, meaning it can handle different file types and extract
information regardless of its location within the resume. Such a system would rely on
advanced algorithms, like Natural Language Processing (NLP), to accurately identify and
categorize relevant data within these documents.
Problem Statement
The current resume screening process, often based on keyword searches or manual reviews, is
plagued by inefficiencies and potential bias. This results in recruiters spending excessive time
sifting through resumes, potentially overlooking qualified candidates whose resumes don't
perfectly match keywords or visually stand out. Traditional methods also struggle with diverse
resume formats, leading to qualified individuals being missed. This negatively impacts
recruiters and job seekers, as recruiters miss top talent and job seekers may have their
applications unfairly disregarded. CV Analyzer aims to address these issues and enhance the
recruitment process.
7
Proposed system
The proposed system aims to convert unstructured resumes into structured formats for job
profile matching and ranking using API (Gemini). It uses a website created using HTML,
CSS, Javascript, Natural Language Processing (NLP) for analysis, and Machine Learning to
generate job suitability reports. The system is deployed on Git Hub and Streamlit Cloud and
aims to reduce manual work and time in resume sorting and shortlisting.
8
CHAPTER 2 Basic Concept
1. Technology Stack:
Natural Language Processing (NLP): It’s techniques are used to analyze the text content of
resumes. This allows the analyzer to identify skills, experience, and keywords mentioned
by the applicant.
Machine Learning: Some advanced CV analyzers utilize machine learning algorithms to
learn patterns from labeled datasets of resumes and job descriptions. This can improve the
accuracy of skill identification and job suitability assessment.
Database: Some analyzers may store pre-defined skills lists, keywords, or industry-specific
terminology in a database for reference during analysis.
2. Functionality:
Resume Parsing: The analyzer extracts key information from the resume format, including
contact details, education, work experience, skills sections, and keywords.
Skills Extraction: NLP techniques are used to identify skills mentioned in the resume text.
This can involve comparing the text to a pre-defined skills list or using machine learning
models trained on labeled data.
Keyword Matching: The analyzer compares the extracted keywords from the resume to the
keywords specified in a job description (if provided) or a general database of relevant
keywords.
Scoring and Reporting: Based on the analysis, the tool generates a score or report that
indicates:
Job Suitability: How well the resume aligns with the requirements of a specific job.
Skill Analysis: Missing skills, overused keywords, or areas for improvement in the resume's
presentation of skills.
Readability & Clarity: Potential issues with grammar, typos, or sentence structure.
3. User Interface:
The UI may allow users to upload resumes in various formats (e.g., docx, pdf).
Some analyzers offer features for specifying a target job role or uploading a job description
for a more tailored analysis.
The UI should present the analysis results, including the score, identified skills, missing
keywords, and suggestions for improvement.
9
4. Benefits:
Reduced Time: Analyzers automate resume screening, saving recruiters time spent on
manual review.
Improved Accuracy: NLP can identify skills and experience more objectively than manual
screening.
Enhanced Candidate Experience: Analyzers can provide feedback to job seekers on how to
improve their resumes.
5. Limitations:
Accuracy Relies on Data: The quality of analysis depends on the training data used for NLP
and machine learning models.
Doesn't Replace Human Judgment: Analyzers provide insights, but human evaluation is
still crucial for nuanced understanding and decision-making.
Formatting Issues: Can struggle with unconventional resume formats or heavily stylized
layouts.
These basic concepts provide a foundational understanding of the technology and
functionalities that power a CV analyzer tool.
10
CHAPTER 3 System Requirements
Functional Requirements
Interactive User Interface: Design a user-friendly web interface using a popular framework
Streamlit. The interface should allow to upload resume in various formats (docx, pdf). For a
more personalized analysis, offer options to:
i) Specify a target job role through a searchable database of job titles or industries.
a) Intelligent Resume Parsing: Develop a robust resume parsing engine that can handle
diverse resume formats, including bullet points, paragraphs, tables, and even
unconventional layouts. This engine should extract key information like contact details,
education, work experience, and skills sections with high accuracy.
b) Skills Extraction: Leverage the power of Natural Language Processing (NLP) and
Machine Learning (ML) techniques to identify skills mentioned within the resume text.
Consider a two-pronged approach:
i) Maintain a curated, industry-specific skills database that the NLP engine can
reference for efficient skill recognition.
ii) Explore integrating a trainable machine learning model for advanced skill
recognition, continuously improving with new data.
c) Keyword Matching: Implement a system for identifying keywords within the resume and
comparing them dynamically against two sources:
i) Keywords specified within the uploaded job description (if provided) for highly
relevant matches.
ii) A comprehensive database of industry-aligned keywords that can be filtered based
on the specified job role or uploaded job description.
d) Insightful Reporting: Generate a detailed report summarizing the analysis with clear
visualizations for easy comprehension. Offer options to:
i) Customize the report with recommendations tailored to the specific job role or
industry.
Non-Functional Requirements
a) Responsive Performance: Strive for a highly responsive application that delivers analysis
results within a reasonable timeframe, even with an increasing number of users and
resumes.
11
b) Robust Security: Implement secure user authentication mechanisms (if applicable) and
utilize encryption for sensitive data storage to protect against unauthorized access or data
breaches.
c) Scalable Architecture: Designing the system based on scalability, ensuring it can handle a
growing user base and increasing resume upload volume without compromising
performance.
d) Intuitive Usability: Prioritize user-friendliness by creating an intuitive user interface with
clear instructions and helpful tooltips to guide users through the analysis process.
Constraints
a) Limited File Size: Define a maximum file size limit for uploaded resumes to manage
storage requirements and processing time.
b) Supported Languages: Initially, the application may focus on analyzing resumes in English
only. Support for additional languages can be considered for future enhancements.
c) Data Accuracy: The accuracy of analysis results depends on the quality of the training data
used for NLP and machine learning models. Ongoing data improvement and model
retraining are crucial.
Technologies
a) Programming Languages: HTML, CSS, Javascript, Python, and Java.
b) Web Frameworks: Streamlit (Frontend), Flask (Backend)
c) Python libraries.
12
CHAPTER 4 Design
System Design
System design involves gathering stakeholder needs and expectations through a town hall
meeting. This lays the groundwork for a well-organized and maintainable software system.
The system's structure is defined through city planning, which maps out its modules,
components, and interactions. The system is then divided into logical sections, like residential
or commercial districts, and construction begins.
a) Class Diagram
It is a detailed program blueprint, consisting of classes representing real-world concepts
with attributes, methods, and relationships, aiding in visualization, understanding, and
maintenance of the program's structure.
13
Database Design
Database design involves creating a detailed data model to create a fast, optimized, and
reliable database.
a) E-R Diagram
An entity relationship diagram (ERD) is a model that represents system data by entity.
Figure 3: ER-Diagram
14
Figure 4: Home User Interface
15
Figure 5: Home User Interface
16
Figure 6: Home User Interface
17
Working on our project
18
Step 3: Here, you can enter the job description or it will be generated
automatically from the system. Upload the resume you want to scan and
click on submit.
Step 4: Result.
19
CHAPTER 6 Conclusion
Future Scope
20
Conclusion
This project successfully developed an automated system for parsing and
analyzing resumes, tackling the challenge of handling unstructured resume
data efficiently. The system leverages Natural Language Processing (NLP)
techniques through an API to analyze resumes and generate
a score indicating job suitability. The score is derived from factors like
relevant keywords and skills identified within the resume content. The user
interface, built with Streamlit, allows for easy interaction, including login
and registration functionalities. Ultimately, this project reduces manual
effort and time spent on resume analysis, benefitting both employers and
students. With its strong foundation, the project holds promise for further
advancements like semantic mapping for deeper analysis, improved
handling of diverse resume formats, and potentially incorporating
additional features for a more comprehensive evaluation.
21
INDIVIDUAL CONTRIBUTION REPORT: CAREER
NEST
Individual contribution to the project: The student should mention
his/her role in the part of the project.
Vezzu Venkata Revanth: Backend coding.
B.Tarun Kumar: Integration of frontend and backend.
Apoorav Raj: Design part and PPT
Jigme Choden: Front end and documentation.
22
23