01Backend AI System

Resume Intelligence Engine

A modular FastAPI backend that dynamically generates tailored resumes and cover letters from job descriptions. Features NLP-driven JD parsing, skills prioritization, experience reordering, and PDF/DOCX export.

FastAPIPythonNLPRegexReportLabpython-docxREST APIJinja2
View on GitHub
6
Modules
3
Export Formats
87%
Avg Suitability
Drag to rotate scene
type
Backend AI System
status
In Development
year
2026
role
Solo Engineer
01

System Architecture · 3D View

02

Architecture Diagram

JD Input
JSON / Text
FastAPI Router
REST Endpoints
JD Parser
NLP · Regex
Suitability
Scoring · Ranking
Skill Bridge
Prioritization
Profile Store
Candidate Data
Generator
Content Builder
PDF Export
ReportLab
DOCX Export
python-docx
JSON Response
REST API
03

Screenshots & Output

terminal
$ uvicorn main:app --reload --port 8000
INFO: Uvicorn running on http://127.0.0.1:8000
POST /api/generate-resume HTTP/1.1
✓ JD parsed: 14 skills extracted
✓ Suitability score: 87.3%
✓ Skills prioritized: [FastAPI, NLP, Python...]
✓ Summary generated: 68 words
✓ PDF rendered → resume_darshan_joshi.pdf
✓ DOCX rendered → resume_darshan_joshi.docx
Response time: 1.43s Status: 200 OK
$
API Terminal Output
FastAPI server live generation log
Skill Match Scores
Python98%
FastAPI94%
NLP Match87%
PDF Rendering82%
Regex Parser90%
Skill Match Scores
Per-skill suitability scoring
Data Output
{
"suitability_score": 0.873,
"matched_skills": ["FastAPI", "NLP", "Python"],
"missing_skills": ["Docker"],
"outputs": {
  "pdf": "/out/resume.pdf",
  "docx": "/out/resume.docx"
}
}
JSON API Response
Structured response payload
Project Structure
📁 resume-intelligence-engine/
├─ main.py FastAPI entry
├─ jd_parser.py NLP pipeline
├─ suitability.py Scoring engine
├─ skill_bridge.py Prioritization
├─ generator.py Content builder
├─ exporters/
│ ├─ pdf_export.py ReportLab
│ └─ docx_export.py python-docx
└─ requirements.txt
Project Structure
Modular file organization
04

What I Built

Architected and implemented a modular FastAPI backend for dynamic resume and cover letter generation from JDs.

Designed an NLP-driven JD parsing pipeline using regex and heuristic classification to extract skills, responsibilities, and role families.

Engineered dynamic skills prioritization and experience reordering mechanism for recruiter relevance.

Developed rule-based intelligence for summary auto-generation and project relevance scoring.

Built scalable PDF/DOCX generation workflow using ReportLab and python-docx.

Structured codebase into independent modules: profile store, suitability engine, skill bridging, generator.

05

Project Insights

Personal Notes & Learnings
Markdown Editor
Live Preview

What I Built

A modular FastAPI backend that generates tailored resumes on-the-fly by parsing job descriptions with NLP.

Key Challenges

  • Designing a robust jd_parser that handles unstructured text reliably
  • Getting the skill prioritization order right without manual rules
  • Making PDF layout consistent across different content lengths

What I Learned

  • Regex + heuristics can outperform heavy NLP models for well-scoped tasks
  • Modular architecture pays off immediately when adding new export formats

Next Steps

  • Add an LLM-powered summary rewriter as an optional layer
  • Build a frontend UI for non-technical users
✓ Insights saved locally