How gopi-410/ai-resume-screener-nlp works
This Flask application screens a resume against a job description. The main workflow accepts pasted text or a PDF/DOCX upload, extracts and preprocesses content, evaluates similarity, skills, and experience, then returns a score, recommendation, and improvement feedback for display. The implementation is concentrated in app.py, so analysis stages are logical responsibilities within that file rather than separate modules. README documents several stages whose implementation was not included in the excerpts; those relationships are cited to the README, not presented as inspected source calls.
Main entry points: app.py Score and Recommendation · index.html Screening Form · script.js Form Submission · graphs.html Graphs Page
Components 17
User Interface
- Screening Form
templates/index.html - Form Submission
static/script.js - Results Display
static/script.js - Graphs Page
static/graphs.html
Resume Analysis
- Analysis Endpoint
app.py - Document Text Extraction
app.py - Text Preprocessing
app.py - Candidate Information
app.py - Skill Extraction
app.py
Scoring and Feedback
- Semantic Similarity
app.py - TF-IDF Similarity
app.py - Skill Matching
app.py - Experience Comparison
app.py - Score and Recommendation
app.py - Improvement Suggestions
app.py
Results
- Analysis Response
app.py
Other components
- Candidate or Recruiter
Connections 22
- Candidate or Recruiter → Screening Form: enters resume and job
README.md - Screening Form → Form Submission: submits form
static/script.js - Form Submission → Analysis Endpoint: posts analysis request
static/script.js - Analysis Endpoint → Document Text Extraction: extracts uploaded text
README.md - Document Text Extraction → Text Preprocessing: preprocesses text
README.md - Text Preprocessing → Candidate Information: extracts profile
README.md - Text Preprocessing → Skill Extraction: extracts skills
README.md - Text Preprocessing → Semantic Similarity: compares embeddings
README.md - Text Preprocessing → TF-IDF Similarity: compares keywords
README.md - Skill Extraction → Skill Matching: matches required skills
README.md - Analysis Endpoint → Experience Comparison: compares experience
README.md - Semantic Similarity → Score and Recommendation: contributes similarity
README.md - TF-IDF Similarity → Score and Recommendation: contributes similarity
README.md - Skill Matching → Score and Recommendation: contributes skill score
README.md - Experience Comparison → Score and Recommendation: contributes experience match
README.md - Score and Recommendation → Improvement Suggestions: guides feedback
README.md - Analysis Endpoint → Analysis Response: returns analysis
app.py - Candidate Information → Analysis Response: includes profile
app.py - Score and Recommendation → Analysis Response: includes scores and status
README.md - Improvement Suggestions → Analysis Response: includes suggestions
README.md - Analysis Response → Results Display: renders results
static/script.js - Candidate or Recruiter → Graphs Page: opens graphs