How kb-dhanush/resume-parser works
Plac1fy’s backend accepts student resumes and employer job descriptions, then matches them and notifies eligible students. The principal workflow extracts PDF text, structures resume data, persists student records, and indexes embeddings; the matching workflow embeds a job description, queries the index, applies a similarity threshold, and emails matches. The visible source also documents automatic JD parsing and a health endpoint. Excerpts omit some implementation details, so uncertain internal wiring is left out.
Main entry points: main.py Eligibility Check
Components 18
Document Intake
- Resume Upload
app/main.py - PDF Text Extraction
app/main.py - Resume Parsing
app/main.py - Student Records
app/main.py - Resume Embedding
app/main.py - Automatic JD Upload
app/main.py - JD Parsing
app/main.py
Eligibility Matching
- Eligibility Check
app/main.py - JD Embedding
app/main.py - Similarity Threshold
app/main.py - Email Notification
app/main.py - Health Endpoint
app/main.py
External Services
- Gemini API
- Firestore
- Pinecone Index
- SMTP Email
Other components
- Student
- Employer
Connections 20
- Student → Resume Upload: uploads PDF
- Resume Upload → PDF Text Extraction: extracts text
- Resume Upload → Resume Parsing: parses resume
- Resume Parsing → Gemini API: requests parsing
- Resume Upload → Student Records: saves record
- Student Records → Firestore: writes student
- Resume Upload → Resume Embedding: builds embedding
- Resume Embedding → Pinecone Index: upserts vector
- Employer → Automatic JD Upload: uploads PDF
- Automatic JD Upload → PDF Text Extraction: extracts text
- Automatic JD Upload → JD Parsing: parses description
- JD Parsing → Gemini API: requests parsing
- Automatic JD Upload → Eligibility Check: checks parsed JD
- Employer → Eligibility Check: submits JD
- Eligibility Check → JD Embedding: builds embedding
- Eligibility Check → Pinecone Index: queries matches
- Eligibility Check → Similarity Threshold: filters scores
- Eligibility Check → Email Notification: emails eligible
- Email Notification → SMTP Email: sends email
- Student → Health Endpoint: checks status