How devangana16/ai-powered-resume-analyzer works
This is a web-based resume-to-job matching tool. A user uploads a PDF and provides a job description in the React interface; the FastAPI endpoint validates the inputs, extracts resume text, and computes skills, missing skills, a similarity score, and heuristic feedback. With an optional API key, it also requests Gemini analysis. The interface displays the returned results. The backend workflow is supported by sampled source; README capabilities not visible in excerpts are represented only where documented.
Main entry points: main.py Analysis endpoint · utils.py Resume analysis · App.tsx Upload and results UI
Components 10
User interface
- Upload and results UI
frontend/src/App.tsx
API workflow
- Analysis endpoint
backend/main.py - Input validation
backend/main.py
Resume analysis
- PDF text extraction
backend/utils.py - Resume analysis
backend/utils.py - Skill extraction
backend/utils.py - Score and feedback
backend/utils.py - AI deep analysis
backend/utils.py
External services
- Gemini API
Other components
- Job seeker
Connections 10
- Job seeker → Upload and results UI: provides inputs
- Upload and results UI → Analysis endpoint: posts resume and job
- Analysis endpoint → Input validation: validates inputs
- Analysis endpoint → PDF text extraction: extracts PDF text
- Analysis endpoint → Resume analysis: analyzes text
- Resume analysis → Skill extraction: extracts skills
- Resume analysis → Score and feedback: calculates results
- Analysis endpoint → AI deep analysis: requests optional analysis
- AI deep analysis → Gemini API: generates insights
- Analysis endpoint → Upload and results UI: returns analysis