Your resume, decoded — before the recruiter even sees it.
An AI-powered resume analysis platform that extracts resume insights, evaluates ATS compatibility, identifies skill gaps, and provides personalized improvement recommendations.
- Overview
- Why ResumeIQ?
- Problem Statement
- Features
- System Architecture
- Tech Stack
- AI Engineering Concepts Demonstrated
- Project Structure
- Installation & Setup
- Deployment
- Screenshots
- Future Improvements
- Key Highlights
- License
- Author
ResumeIQ AI is an AI-powered Resume Analyzer built using Python, Streamlit, and open-source NLP technologies.
Every resume tells a story — but not every resume tells it in a way that an Applicant Tracking System (ATS) or a busy recruiter can quickly understand. ResumeIQ AI acts as a first-pass reviewer: parsing the document, understanding its content, and scoring it against real-world expectations, all before it ever reaches a human.
The application helps job seekers understand how well their resume matches industry expectations by analyzing:
- 🧱 Resume structure
- 🛠️ Technical skills
- 🎯 Job-role compatibility
- 🤖 ATS readiness
- 🕳️ Missing skills
- 📈 Improvement opportunities
The project combines Natural Language Processing (NLP), rule-based scoring systems, and machine learning techniques to create an explainable resume evaluation system — no black-box scores, just clear, actionable feedback.
Most resume checkers give a single opaque score and little else. ResumeIQ AI is designed to be explainable end-to-end: every score comes with a "why," every gap comes with a "what to do about it." It's built for job seekers who want to understand their resume the way a hiring pipeline actually sees it — structurally, semantically, and competitively.
A resume isn't just a document — it's the first algorithm you have to pass before you meet a human.
Many candidates submit resumes without knowing:
- ❓ Whether their resume is ATS-friendly
- ❓ Which skills they are missing for a target role
- ❓ How closely their resume matches job requirements
- ❓ What improvements can increase their chances
ResumeIQ AI solves this by providing instant AI-assisted feedback — turning uncertainty into a clear, prioritized action plan.
- 📤 Upload PDF resumes
- 📝 Extract resume text using PyMuPDF
- ⚙️ Process and analyze resume content automatically
Extracts important resume information:
| Field | Extracted |
|---|---|
| 👤 Name | ✅ |
| ✅ | |
| 📱 Phone number | ✅ |
| 🛠️ Skills | ✅ |
| 🎓 Education | ✅ |
| 💼 Experience | ✅ |
| 📁 Projects | ✅ |
Generates an ATS compatibility score based on:
- 📋 Resume completeness
- 📧 Contact information
- 🛠️ Technical skills
- 🎓 Education
- 💼 Experience
- 📁 Projects
Includes visual score representation using Plotly — so the score isn't just a number, it's a picture.
Analyzes missing skills based on selected career roles.
Supported roles:
- 🤖 AI Engineer
- 📊 Data Scientist
- 🧠 Machine Learning Engineer
- 🐍 Python Developer
- 📈 Data Analyst
Provides:
- ✅ Existing skills
- ❌ Missing skills
- 📚 Recommended learning areas
Measures similarity between:
- 📄 Resume content
- 📋 Target job description
Using:
- 🧬 Sentence Transformers embeddings
- 🔢 TF-IDF similarity fallback
Outputs:
- 📊 Job compatibility percentage
- 🎯 Matching areas
Provides actionable recommendations, such as:
- ➕ Add missing projects
- 🐙 Include GitHub profile
- 🏅 Add certifications
- 🛠️ Improve technical skills section
- ✍️ Strengthen resume summary
- 📊 Include measurable achievements
graph TD
A[👤 User] --> B[📤 Upload Resume PDF]
B --> C[📄 PDF Parser<br/>PyMuPDF]
C --> D[📝 Resume Text Processing]
D --> E[🧠 Information Extraction]
D --> F[📊 ATS Score]
D --> G[🔍 Skill Gap Analysis]
E --> H[🎯 Job Match Model<br/>Sentence Transformers]
F --> H
G --> H
H --> I[🌐 Streamlit Dashboard]
I --> J[💡 Resume Insights & Suggestions]
| Category | Tools |
|---|---|
| Programming | Python |
| Frontend | Streamlit |
| NLP & Machine Learning | spaCy, Sentence Transformers, scikit-learn |
| Data Processing | Pandas, NumPy |
| Visualization | Plotly |
| Document Processing | PyMuPDF |
This project demonstrates practical AI engineering skills:
- ✅ PDF document processing
- ✅ Natural Language Processing pipeline
- ✅ Information extraction
- ✅ Semantic similarity matching
- ✅ Hybrid AI systems (rule-based logic + Machine Learning)
- ✅ Explainable scoring systems
- ✅ Model fallback strategies
- ✅ Deployment of AI applications
ResumeIQ-AI/
├── app.py # Streamlit application
├── requirements.txt # Dependencies
├── README.md # Documentation
├── assets/
│ └── screenshots/ # App screenshots
├── components/
│ └── ui.py # UI components
├── parsers/
│ └── pdf_parser.py # PDF extraction logic
├── analysis/
│ ├── ats_score.py # ATS scoring logic
│ ├── information_extraction.py # Resume field extraction
│ ├── job_match.py # Job similarity matching
│ ├── skill_gap.py # Skill gap detection
│ └── suggestions.py # Improvement recommendations
├── data/
│ └── job_descriptions.py # Reference job descriptions
└── utils/ # Helper utilities
git clone https://github.com/SHALINISAURAV/ResumeIQ-AI.gitcd ResumeIQ-AIpython3 -m venv .venvMac/Linux
source .venv/bin/activateWindows
.venv\Scripts\activatepip install -r requirements.txtstreamlit run app.pyhttp://localhost:8501
The application is deployed using Streamlit Community Cloud.
Live Application: 🔗 https://resumeiq-ai-nssmnqpuwft6tcrjsiz6py.streamlit.app
graph LR
A[💻 Local Development] --> B[🐙 GitHub Repository]
B --> C[☁️ Streamlit Cloud]
C --> D[🌐 Live AI Application]
(Add screenshots after deployment)
assets/screenshots/
├── home.png
├── analysis-results.png
└── skill-gap.png
- 🤖 Resume improvement suggestions powered by LLMs
- 🖨️ OCR support for scanned resumes
- 📑 Multiple resume comparison
- 🌐 Real-time job scraping
- 🗺️ Personalized learning roadmap
- 🔐 User authentication
- 🏆 Resume ranking system
- ⭐ Built an end-to-end AI application from scratch
- ⭐ Implemented NLP-based resume understanding
- ⭐ Designed hybrid AI architecture using rules + ML
- ⭐ Developed explainable ATS scoring system
- ⭐ Integrated semantic similarity models
- ⭐ Deployed a production-ready Streamlit application
This project is created for educational and portfolio purposes.