Skip to content

Latest commit

ย 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AI-Powered Resume Analyzer & Career Resume Coach

An AI-powered web application that analyzes a candidate's PDF resume against their target career and generates a structured resume review.

The system combines Prompt Engineering, Google Gemini, Flask, PDF text extraction, ATS analysis, career matching, resume scoring, and structured AI outputs to provide practical resume improvement guidance.

This project was developed as part of the Vault of Codes Prompt Engineering Internship.


๐Ÿ“Œ Project Overview

The AI-Powered Resume Analyzer & Career Resume Coach allows students, freshers, and job seekers to upload a PDF resume and provide information about their target career.

The application extracts the resume content and processes it through a modular 8-prompt AI pipeline.

The final report includes:

  • Overall Resume Score
  • ATS Readiness Score
  • Career Match Score
  • Resume Strengths
  • Key Problems
  • Missing Information
  • Grammar & Consistency Issues
  • Content Improvement Suggestions
  • Priority Improvement Plan
  • Top Actions
  • Final Recommendation

The application is designed to provide useful career guidance without inventing skills, achievements, technologies, or experience that are not supported by the candidate's resume.


๐ŸŒ Live Demo

Try the AI Resume Analyzer & Career Coach

โœจ Features

๐Ÿ“„ Resume Processing

  • PDF resume upload
  • PDF-only validation
  • Maximum file size validation
  • Multi-page PDF support
  • Resume text extraction using PyMuPDF
  • Detection of unreadable or invalid PDFs
  • Character and page count extraction

๐Ÿ‘ค Student Information

Users can provide:

  • Full Name
  • Current Education
  • Degree / Course
  • Current Year / Stage

๐ŸŽฏ Career Goal Information

Users can specify:

  • Target Job Role
  • Target Industry
  • Career Goal
  • Experience Level
  • Preferred Job Type
  • Skills to Highlight
  • Current Career Purpose

๐Ÿค– AI Resume Analysis

The AI analyzes:

  • Resume structure
  • Resume quality
  • Career alignment
  • ATS readiness
  • Grammar and consistency
  • Missing information
  • Content improvement opportunities
  • Overall resume readiness

๐Ÿ“Š Resume Scoring

The system provides:

  • Overall Resume Score
  • Resume Quality Score
  • ATS Readiness Score
  • Career Match Score
  • Content Completeness Score
  • Error & Consistency Score
  • Content Strength / Evidence Score

๐ŸŒ™ User Interface

  • Responsive interface
  • Professional report layout
  • Dark mode
  • Structured result cards
  • Priority-based recommendations
  • Resume analysis dashboard

๐Ÿ–ผ๏ธ Application Screenshots

Homepage

The homepage introduces the AI Resume Analyzer and allows users to begin the resume review process.

Homepage


Student Information

Users enter their current education and academic background before starting the analysis.

Student Information


Career Goal

Users specify their target job role, industry, career goal, experience level, and preferred job type.

Career Goal


Analyze Resume

After entering the required information and uploading a PDF resume, the user can start the analysis.

Analyze Resume


AI Resume Analysis Report

The final report presents the overall resume score, ATS readiness, career match, and detailed AI analysis.

Analysis Report


Career Goal Match

The application compares the candidate's existing resume with the selected target career.

Career Goal Match


Key Problems in Resume

Important resume problems are identified along with their priority, reason, and recommended action.

Key Problems


Resume Improvements

The application generates practical improvement recommendations while preserving the candidate's actual experience.

Resume Improvements


Updated Resume Suggestions

The system provides content improvement guidance based on the candidate's existing resume information.

Updated Resume


Final Recommendation

A final career-focused recommendation summarizes the most important improvements the candidate should make.

Final Recommendation


Dark Mode

The application also supports a dark-mode interface.

Dark Mode


๐Ÿง  Prompt Engineering Architecture

Instead of sending the entire task through one large AI prompt, this project uses a modular 8-prompt pipeline.

PDF Resume
    โ”‚
    โ–ผ
Resume Text Extraction
    โ”‚
    โ–ผ
Prompt 1 โ”€โ”€ Resume Structure
    โ”‚
    โ–ผ
Prompt 2 โ”€โ”€ Quality Analysis
    โ”‚
    โ–ผ
Prompt 3 โ”€โ”€ Career Match
    โ”‚
    โ–ผ
Prompt 4 โ”€โ”€ ATS Analysis
    โ”‚
    โ–ผ
Prompt 5 โ”€โ”€ Error Detection
    โ”‚
    โ–ผ
Prompt 6 โ”€โ”€ Missing Information
    โ”‚
    โ–ผ
Prompt 7 โ”€โ”€ Content Improvement
    โ”‚
    โ–ผ
Prompt 8 โ”€โ”€ Final Report
    โ”‚
    โ–ผ
AI Resume Review

๐Ÿงฉ 8-Prompt Pipeline

Prompt 1 โ€” Resume Structure

File

prompts/01-resume-structure.txt

Extracts and organizes information from the uploaded resume into structured JSON.

Typical information includes:

  • Candidate information
  • Professional summary
  • Education
  • Technical skills
  • Soft skills
  • Work experience
  • Internships
  • Projects
  • Certifications
  • Achievements
  • Languages
  • Other detected sections

Prompt 2 โ€” Resume Quality Analysis

File

prompts/02-quality-analysis.txt

Evaluates the overall quality of the resume.

It considers:

  • Section quality
  • Professional clarity
  • Resume structure
  • Existing strengths
  • Weak content
  • High-priority quality issues

Prompt 3 โ€” Career Match Analysis

File

prompts/03-career-match.txt

Compares the resume against the user's selected career goal.

It evaluates:

  • Target role alignment
  • Relevant existing skills
  • Strong alignment points
  • Weakly demonstrated skills
  • Career alignment gaps
  • Recommended development areas

Prompt 4 โ€” ATS Analysis

File

prompts/04-ats-analysis.txt

Evaluates resume readiness for Applicant Tracking Systems.

It reviews:

  • Section headings
  • Resume readability
  • Keyword coverage
  • Relevant keywords
  • Missing or weakly represented keywords
  • ATS strengths
  • ATS issues
  • Priority ATS improvements

Prompt 5 โ€” Error Detection

File

prompts/05-error-detection.txt

Checks the resume for:

  • Grammar issues
  • Wording problems
  • Repetition
  • Terminology inconsistencies
  • Timeline inconsistencies
  • Formatting consistency
  • Information requiring candidate verification

Prompt 6 โ€” Missing Information Analysis

File

prompts/06-missing-information.txt

Identifies important information that may be:

  • Missing
  • Incomplete
  • Weakly demonstrated
  • Candidate-verification dependent

The prompt also avoids treating optional sections as mandatory.


Prompt 7 โ€” Content Improvement

File

prompts/07-content-improvement.txt

Generates practical content improvements while preserving the candidate's real experience.

It can provide:

  • Improved professional summary
  • Project description improvements
  • Internship improvements
  • Work experience improvements
  • Skills presentation improvements
  • Wording improvements
  • Future development areas

The prompt is designed not to fabricate unsupported candidate information.


Prompt 8 โ€” Final Report Generation

File

prompts/08-final-report.txt

Combines the previous analyses into the final structured resume review.

The final report contains:

  • Scores
  • Executive summary
  • Resume strengths
  • Key problems
  • ATS review
  • Career goal review
  • Missing information
  • Errors and consistency
  • Content improvements
  • Priority action plan
  • Top actions
  • Final recommendation

๐Ÿ“Š Resume Scoring Methodology

The overall resume score is based on six components.

Component Weight
Resume Quality 25%
ATS Readiness 20%
Career Goal Match 20%
Content Completeness 15%
Error & Consistency Quality 10%
Content Strength / Evidence 10%
Total 100%

Formula

Overall Resume Score =

(Resume Quality Score ร— 0.25)
+
(ATS Readiness Score ร— 0.20)
+
(Career Match Score ร— 0.20)
+
(Content Completeness Score ร— 0.15)
+
(Error & Consistency Score ร— 0.10)
+
(Content Strength / Evidence Score ร— 0.10)

The final result is rounded to the nearest whole number.

The overall score is therefore derived from the component scores instead of being an arbitrary standalone value.


๐Ÿ“ˆ Score Interpretation

Score Interpretation
85โ€“100 Strong Resume
70โ€“84 Good Resume with Targeted Improvements
50โ€“69 Moderate Resume Requiring Meaningful Improvement
30โ€“49 Weak Resume Requiring Major Improvement
0โ€“29 Very Weak or Highly Incomplete Resume

๐ŸŽ“ Fresher Fairness

The scoring methodology does not automatically reduce a candidate's score simply because they are a student or fresher.

For students and freshers, the analyzer can consider evidence such as:

  • Education
  • Academic projects
  • Personal projects
  • Internships
  • Certifications
  • Coursework
  • Technical skills
  • Practical implementation
  • Achievements

Professional employment history is not treated as mandatory when the candidate's experience level does not reasonably require it.


๐Ÿ› ๏ธ Technology Stack

Backend

  • Python
  • Flask
  • Google Gemini API
  • Google GenAI Python SDK
  • PyMuPDF
  • python-dotenv

Frontend

  • HTML5
  • CSS3
  • JavaScript

AI

  • Google Gemini
  • Prompt Engineering
  • Structured JSON outputs
  • Multi-stage AI pipeline

Testing

  • Pytest

Deployment

  • Gunicorn
  • Flask-compatible hosting

๐Ÿ“ Project Structure

AI-Resume-Analyzer/
โ”‚
โ”œโ”€โ”€ prompts/
โ”‚   โ”œโ”€โ”€ 01-resume-structure.txt
โ”‚   โ”œโ”€โ”€ 02-quality-analysis.txt
โ”‚   โ”œโ”€โ”€ 03-career-match.txt
โ”‚   โ”œโ”€โ”€ 04-ats-analysis.txt
โ”‚   โ”œโ”€โ”€ 05-error-detection.txt
โ”‚   โ”œโ”€โ”€ 06-missing-information.txt
โ”‚   โ”œโ”€โ”€ 07-content-improvement.txt
โ”‚   โ””โ”€โ”€ 08-final-report.txt
โ”‚
โ”œโ”€โ”€ screenshots/
โ”‚   โ”œโ”€โ”€ analyse_button.png
โ”‚   โ”œโ”€โ”€ Analysis_report.png
โ”‚   โ”œโ”€โ”€ career_goal_match.png
โ”‚   โ”œโ”€โ”€ career_goal.png
โ”‚   โ”œโ”€โ”€ Dark_mode.png
โ”‚   โ”œโ”€โ”€ Final_recommendation.png
โ”‚   โ”œโ”€โ”€ Homepage.png
โ”‚   โ”œโ”€โ”€ improvements.png
โ”‚   โ”œโ”€โ”€ Key_problem_in_resume.png
โ”‚   โ”œโ”€โ”€ student_information.png
โ”‚   โ””โ”€โ”€ updated_resume.png
โ”‚
โ”œโ”€โ”€ static/
โ”‚   โ”œโ”€โ”€ script.js
โ”‚   โ””โ”€โ”€ style.css
โ”‚
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ index.html
โ”‚
โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ conftest.py
โ”‚   โ”œโ”€โ”€ test_final_report.py
โ”‚   โ”œโ”€โ”€ test_mock_pipeline.py
โ”‚   โ”œโ”€โ”€ test_pdf_processing.py
โ”‚   โ”œโ”€โ”€ test_profile_validation.py
โ”‚   โ””โ”€โ”€ test_scoring.py
โ”‚
โ”œโ”€โ”€ uploads/
โ”‚   โ””โ”€โ”€ .gitkeep
โ”‚
โ”œโ”€โ”€ .env
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ app.py
โ”œโ”€โ”€ requirements.txt
โ””โ”€โ”€ README.md

.env and uploaded resume files are excluded from Git using .gitignore.


โš™๏ธ Installation and Setup

1. Clone the Repository

git clone YOUR_GITHUB_REPOSITORY_URL

Move into the project directory:

cd AI-Resume-Analyzer

2. Create a Virtual Environment

python -m venv venv

Windows PowerShell

.\venv\Scripts\Activate.ps1

If PowerShell prevents activation:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
.\venv\Scripts\Activate.ps1

3. Install Dependencies

pip install -r requirements.txt

๐Ÿ” Environment Variables

Create a .env file in the root directory.

For full AI mode:

GEMINI_API_KEY=your_gemini_api_key
GEMINI_MODEL=your_gemini_model

USE_AI=true
AI_PROMPT_LIMIT=8

Replace the placeholders with your actual Gemini configuration.

Never upload your real Gemini API key to GitHub.

The .env file is ignored through .gitignore.


๐Ÿค– AI Mode

To execute all eight Gemini prompts:

USE_AI=true
AI_PROMPT_LIMIT=8

When the application starts, the terminal should show:

========================================
AI Resume Analyzer
USE_AI: True
AI_PROMPT_LIMIT: 8
Gemini enabled for prompts 1 to 8.
========================================

During a successful full analysis:

========== RUNNING PROMPT 1 ==========
Prompt 1 completed successfully.

========== RUNNING PROMPT 2 ==========
Prompt 2 completed successfully.

========== RUNNING PROMPT 3 ==========
Prompt 3 completed successfully.

========== RUNNING PROMPT 4 ==========
Prompt 4 completed successfully.

========== RUNNING PROMPT 5 ==========
Prompt 5 completed successfully.

========== RUNNING PROMPT 6 ==========
Prompt 6 completed successfully.

========== RUNNING PROMPT 7 ==========
Prompt 7 completed successfully.

========== RUNNING PROMPT 8 ==========
Prompt 8 completed successfully.

๐Ÿงช Development / Mock Mode

The application also contains a mock mode for development and testing without consuming Gemini API quota.

Set:

USE_AI=false
AI_PROMPT_LIMIT=0

The terminal will show:

AI Resume Analyzer
USE_AI: False
AI_PROMPT_LIMIT: 0
Gemini AI calls are DISABLED.

Mock mode can be used to test:

  • Frontend
  • PDF processing
  • Form validation
  • Scoring logic
  • Report layout
  • Application flow
  • Automated tests

Mock results are clearly identified as development values and should not be presented as real Gemini analysis.


โ–ถ๏ธ Run the Application

Start Flask:

python app.py

The development server will run at:

http://127.0.0.1:5000

Open this URL in your browser.


๐Ÿ“„ Resume Upload Requirements

The application currently accepts:

File Type: PDF
Maximum Size: 5 MB

The uploaded resume should contain readable text.

Image-only/scanned PDFs may not provide sufficient extractable text.


๐Ÿงช Automated Testing

The project uses Pytest for local automated testing.

Tests cover:

  • Career profile validation
  • Missing required field detection
  • PDF extension validation
  • PDF text extraction
  • Invalid PDF handling
  • Weighted resume score calculation
  • Resume score-level classification
  • Mock pipeline execution
  • Final report structure

Run all tests with:

pytest tests -v

Latest local test result:

========================
9 passed, 5 warnings
========================

The five warnings observed during testing were PyMuPDF/SWIG dependency-level deprecation warnings and did not cause test failures.


โœ… Tested Components

Component Status
Student Information Form โœ… Tested
Career Goal Form โœ… Tested
PDF Validation โœ… Tested
PDF Text Extraction โœ… Tested
Prompt 1 โœ… Tested
Prompt 2 โœ… Tested
Prompt 3 โœ… Tested
Prompt 4 โœ… Tested
Prompt 5 โœ… Tested
Prompt 6 โœ… Tested
Prompt 7 โœ… Tested
Prompt 8 โœ… Tested
Weighted Scoring โœ… Tested
Final Report โœ… Tested
Mock Mode โœ… Tested
Pytest Suite โœ… 9 Passed

๐Ÿค– Live Gemini Pipeline Test

A complete end-to-end Gemini test was performed using all eight prompts.

The terminal confirmed:

Prompt 1 completed successfully.
Prompt 2 completed successfully.
Prompt 3 completed successfully.
Prompt 4 completed successfully.
Prompt 5 completed successfully.
Prompt 6 completed successfully.
Prompt 7 completed successfully.
Prompt 8 completed successfully.

Example result from the test resume:

Overall Score: 78
ATS Score: 88
Career Match: 90

The test demonstrated that the pipeline could generate:

  • Resume strengths
  • Career alignment analysis
  • ATS analysis
  • Keyword analysis
  • Missing information
  • Timeline inconsistencies
  • Grammar and consistency issues
  • Content improvement suggestions
  • Priority recommendations
  • Final career-focused recommendation

API calls can be limited during development using AI_PROMPT_LIMIT to help manage API quota.


๐Ÿ”’ Privacy and Security

Resumes can contain sensitive personal information.

The application therefore follows several privacy-oriented practices:

  • PDF files are validated before analysis.
  • File size is limited to 5 MB.
  • Resume text is extracted for analysis.
  • Uploaded resumes are not intentionally permanently stored by the current application flow.
  • Uploaded files are excluded from Git tracking.
  • API keys are stored through environment variables.
  • .env is excluded from Git.
  • AI instructions discourage fabrication of candidate information.

The uploads/ directory contains .gitkeep only so that the directory structure can remain in Git.


๐Ÿ›ก๏ธ AI Accuracy and Responsible Recommendations

The analyzer is designed to avoid inventing candidate information.

The AI should not fabricate:

  • Skills
  • Technologies
  • Employers
  • Work experience
  • Internships
  • Certifications
  • Achievements
  • Project details
  • Responsibilities
  • Numerical metrics

When recommending a skill the candidate does not currently demonstrate, it should be treated as a future development recommendation, not as an existing skill.

Users should verify AI-generated recommendations before modifying their resume.


โš ๏ธ ATS Disclaimer

The ATS score is an advisory estimate.

Different employers and Applicant Tracking Systems use different:

  • Parsing methods
  • Ranking algorithms
  • Keywords
  • Job requirements
  • Resume filters

Therefore, an ATS score generated by this project does not guarantee that a resume will pass a real employer's ATS.


๐Ÿ“ฆ Requirements

The project uses the following Python dependencies:

Flask==3.1.3
python-dotenv==1.2.3
google-genai==2.18.1
PyMuPDF==1.26.4
gunicorn==26.1.0
pytest==9.1.1

Install them using:

pip install -r requirements.txt

๐Ÿ—‚๏ธ .gitignore

Sensitive and unnecessary development files should not be committed.

Recommended configuration:

.env
venv/
.venv/
__pycache__/
*.pyc

.pytest_cache/

uploads/*
!uploads/.gitkeep

.vscode/
.DS_Store
Thumbs.db

๐Ÿš€ Deployment

The project includes gunicorn for production-compatible Flask deployment.

A typical production start command is:

gunicorn app:app

Environment variables must be configured on the deployment platform instead of uploading the local .env file.

Required AI environment variables include:

GEMINI_API_KEY
GEMINI_MODEL
USE_AI
AI_PROMPT_LIMIT

๐Ÿ”ฎ Future Improvements

Potential future enhancements include:

  • Job Description vs Resume comparison
  • Downloadable PDF analysis report
  • Resume builder
  • Resume version comparison
  • LinkedIn profile analysis
  • Job-specific keyword recommendations
  • Resume improvement checklist
  • Multiple resume comparison
  • Career roadmap generation
  • Additional AI provider support
  • Improved analytics dashboard

๐Ÿ“š Key Learning Outcomes

This project demonstrates practical knowledge of:

  • Prompt Engineering
  • Multi-prompt AI workflows
  • Google Gemini API integration
  • Structured JSON generation
  • Flask backend development
  • HTML, CSS, and JavaScript
  • PDF document processing
  • ATS-oriented resume analysis
  • Career goal matching
  • AI safety constraints
  • Environment variable management
  • API quota-aware development
  • Automated testing with Pytest
  • Git and GitHub project management

๐Ÿ“Œ Important Notes

  1. Never commit .env to GitHub.
  2. Never expose the Gemini API key in screenshots or source code.
  3. Uploaded resumes should not be committed to the repository.
  4. AI-generated recommendations should be treated as guidance.
  5. Candidates should only add skills and achievements they genuinely possess.
  6. ATS scores do not guarantee hiring outcomes.
  7. Mock-mode scores are for development and interface testing only.

๐ŸŽ“ Internship Project

Vault of Codes โ€“ Prompt Engineering Internship

Project

AI-Powered Resume Analyzer & Career Resume Coach

The project demonstrates the use of prompt engineering to transform unstructured resume information into structured, career-focused recommendations through a modular AI analysis pipeline.


๐Ÿ‘ฉโ€๐Ÿ’ป Author

Kanneboina Maheshwari

Computer Science and Engineering

GitHub: KanneboinaMaheshwari29

๐Ÿ“œ Disclaimer

This application is an educational and career-support project.

Resume recommendations, career-match scores, ATS scores, and other AI-generated assessments are advisory only. Recruiter preferences, ATS systems, job requirements, and hiring decisions vary between employers.

Users are responsible for reviewing the generated recommendations and ensuring that their final resume contains only accurate and truthful information.

โš ๏ธ Gemini API Quota Note

This project uses the Google Gemini API for AI-powered resume analysis through an 8-prompt pipeline.

Gemini API usage is subject to rate limits and quota restrictions. If the available quota is exhausted, live AI analysis may temporarily fail or become unavailable.

To support development and testing without consuming API quota, the application includes a Mock/Development Mode that:

  • Does not make Gemini API requests.
  • Uses predefined test responses.
  • Allows the UI, scoring logic, PDF processing, and report rendering to be tested safely.
  • Helps prevent unnecessary API usage during development.

The complete Gemini pipeline has also been successfully tested with all 8 prompts, producing real ATS, career-match, resume-quality, and final-report results.

Mock results are intended only for development and testing. Real resume analysis requires Gemini API access and available API quota.

About

AI-powered resume analyzer using Gemini for ATS scoring, career matching, resume evaluation, and personalized improvement recommendations

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages