An AI-powered, full-stack web application that analyzes a resume against a job description and returns a match score, missing skills, and actionable improvement suggestions using a Large Language Model (LLM).
This project focuses on practical AI integration and real-world system design, rather than academic machine learning or model training.
- Frontend: Coming soon
- Backend API: Coming soon
Live links will be added once deployment is complete.
Given:
- A resume (plain text)
- A job description
The system returns:
- A match score (0β100)
- A list of missing or weak skills
- Actionable improvement suggestions
- A concise final verdict from a recruiterβs perspective
This mirrors how modern AI-powered tools are used in hiring platforms, HR tech, and internal developer tooling.
Frontend (Next.js)
|
| HTTP (JSON)
v
Backend API (FastAPI)
|
| Prompt + Context
v
Large Language Model (LLM)
- The frontend handles user input and result presentation
- The backend validates requests and orchestrates AI inference
- The AI model performs structured analysis using prompt engineering
- Next.js (App Router)
- TypeScript
- Tailwind CSS
- Fetch API
- FastAPI
- Python
- Pydantic (request validation)
- Uvicorn (ASGI server)
- Large Language Models via API
- Structured prompt engineering with enforced JSON output
- Frontend: Vercel
- Backend: Render
ai-resume-analyzer/
βββ backend/
β βββ main.py
β βββ services/
β βββ requirements.txt
β βββ .env.example
βββ frontend/
β βββ (Next.js application)
βββ README.md
βββ .gitignore
The frontend and backend are developed in a single repository and deployed independently.
- Strong request validation with Pydantic
- Automatic interactive API documentation (
/docs) - Excellent fit for AI-driven and data-oriented services
- Minimal boilerplate with production-grade structure
- Reflects how AI is used in real-world products
- Faster iteration and significantly lower operational cost
- Focuses on AI system design, not model research
- Predictable frontend rendering
- Easier validation and error handling
- Prevents malformed or ambiguous AI responses
- Safer than free-form text generation
POST /analyze-resume
{
"resume": "Experienced backend engineer with Python and APIs...",
"job_description": "Looking for a Python developer with cloud experience..."
}{
"match_score": 78,
"missing_skills": ["Docker", "AWS"],
"suggestions": [
"Add quantified achievements",
"Highlight cloud-related projects"
],
"verdict": "Strong candidate with minor gaps"
}The backend requires environment variables for secure configuration.
Example:
OPENAI_API_KEY=your_api_key_hereEnvironment files are excluded from version control.
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reloadVisit:
http://127.0.0.1:8000β API roothttp://127.0.0.1:8000/docsβ Interactive API documentation
The current architecture supports future extensions such as:
- PDF resume upload
- Resume history and comparisons
- Retrieval-Augmented Generation (RAG)
- Authentication
- Analytics and feedback tracking
These additions can be introduced without rewriting the core system.
MIT