Skip to main content

FS Resume Parser Agent Architecture

System Overview​

Python backend for SiftHire resume intelligence: parse documents, store in MongoDB, score/match to JDs, generate PDF outputs, and talk to AWS/Zoho as configured.

Architecture Diagram​

graph TB
ResumeApi["app.py / resume_service<br/>API entry"]
ParserEngine["parser_engine<br/>extract resume text"]
PdfEngine["pdf_engine / pdf_converter"]
MongoDatabase[("MongoDB")]
AwsS3Storage["AWS S3"]
GptScoring["GPT scoring / matching"]

ResumeApi -->|"parses uploaded resumes"| ParserEngine
ResumeApi -->|"generates PDF outputs"| PdfEngine
ResumeApi -->|"stores candidates / JDs / resumes"| MongoDatabase
ResumeApi -->|"stores files"| AwsS3Storage
ResumeApi -->|"JD match + eligibility score"| GptScoring

How to read this diagram​

Arrows mean flow / dependency / "talks to", not button clicks. Each arrow label says what happens on that step.

Core Components​

ModuleRole
parser_engine.pyDocument parsing
pdf_engine.py / pdf_converter.pyPDF generation/conversion
db.pyMongo access
aws_service.pyS3 and AWS helpers
crypto.pyCrypto/helpers for secure fields
templates/Resume output templates

Fallback behavior​

If DOCX to PDF conversion fails, system falls back to direct DOCX parsing (python-docx / docx2txt) and still extracts text/names.

Technology Stack​

LayerTechnology
LanguagePython
DBMongoDB
StorageAWS S3
AIGPT key in config
PDFPDFMiner / DocumentEngine settings

Next Steps​