Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Resume Analyzer

A web-based AI-powered application that analyzes resumes and provides structured feedback including scoring, strengths, weaknesses, missing skills, and improvement suggestions.

It also supports job description matching and PDF report generation.


Try the Application

👉 Click here to open the live app


System Architecture


Features

Resume Analysis

  • Upload resume (PDF / DOCX)

  • Extract and clean text automatically

  • AI-powered structured evaluation

  • Resume score (0–100)

  • Rating: Excellent / Good / Average / Needs Improvement

  • ATS compatibility check (Pass / Fail)

  • Profile summary generation

  • Strengths & weaknesses identification

  • Missing sections / skills detection

  • Improvement suggestions

  • Keyword extraction (Top 12 only)

  • Section-wise scoring:

    • Skills
    • Projects
    • Experience
    • Education

Job Description Matching

  • Compare resume with job description
  • Match score (0–100)
  • Matched skills (exact overlap only)
  • Missing skills extraction
  • AI-based comparison analysis
  • Personalized improvement suggestions

Additional Features

  • Clean and simple UI
  • Download analysis as PDF report
  • Supports both ATS analysis and job matching

Tech Stack

Frontend

  • HTML
  • CSS
  • JavaScript

Backend

  • Python
  • FastAPI

AI Integration

  • Groq API
  • Model: llama-3.1-8b-instant

Libraries Used

  • PyPDF2 → PDF text extraction
  • docx2txt → DOCX parsing
  • FastAPI → Backend framework
  • Groq → AI model inference
  • jsPDF → PDF generation
  • re (Regex) → Text cleaning

Setup Instructions

1. Clone Repository

git clone <your-repo-link>
cd resume-analyzer

2. Install Dependencies

pip install fastapi uvicorn PyPDF2 docx2txt groq

3. Set API Key

import os
client = Groq(api_key=os.getenv("GROQ_API_KEY"))

4. Run Backend

uvicorn main:app --reload

5. Run Frontend

Open index.html in your browser.


🔄 Application Workflow

  1. Upload resume
  2. Extract text (PDF/DOCX)
  3. Clean text using regex
  4. Send data to AI model
  5. Receive structured JSON response
  6. Validate and process output
  7. Display results in UI
  8. Optional: Match with job description
  9. Download report as PDF

AI Implementation

Resume Analysis

  • Structured prompt-based evaluation
  • Strict JSON output format
  • Controlled randomness (temperature = 0.3)
  • Ensures realistic feedback

Job Matching

  • Direct skill comparison
  • Overlap-based matching
  • Missing skills extraction
  • AI-generated improvement suggestions

Prompt Strategy

  • Enforced valid JSON output
  • No markdown formatting in response
  • Consistent field structure
  • No duplicate keywords
  • Must include weaknesses
  • Concise output format

Error Handling

  • JSON cleaning logic implemented
  • Safe parsing for AI responses
  • Fallback values for missing fields
  • Frontend crash prevention
  • Regex-based text normalization

Limitations

  • Depends on AI response quality
  • Limited parsing of complex resume layouts
  • No deep visual structure understanding
  • Basic UI design
  • No authentication system

Future Improvements

  • Advanced NLP-based parsing
  • Improved UI/UX design
  • Cloud deployment
  • Styled PDF reports
  • Enhanced scoring system
  • Multi-user support

Summary

This project demonstrates practical integration of AI into a real-world use case, focusing on structured output generation, prompt engineering, and robust handling of inconsistent AI responses.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages