How jeys47/cv-parser-ai works
This Streamlit ATS lets HR publish job offers, upload CVs for parsing and candidate evaluation, then review ranked results and export shortlists or reserve lists. The main path runs from upload through document parsing, contact/skill extraction, hybrid scoring, and persistence; offer management and dashboard review are separate UI workflows. The excerpts show the pipeline and scoring implementation, but only parts of the UI, so uncertain dashboard and upload details are not expanded.
Main entry points: pipeline.py Application pipeline · app.py Ranking dashboard · scorer.py Hybrid scoring · models.py ATS records
Components 13
HR interface
- CV upload
app.py - Offer management
app.py - Ranking dashboard
app.py - CSV exports
app.py
CV processing
- Application pipeline
pipeline.py - Document parser
parser.py - Contact and skills
extractor.py
Candidate matching
- Hybrid scoring
scorer.py - Semantic similarity
scorer.py - Skills coverage
scorer.py
Application data
- ATS records
models.py - Relational database
database.py
Other components
- HR user
Connections 16
- HR user → Offer management: creates offers
- HR user → CV upload: uploads CVs
- HR user → Ranking dashboard: reviews rankings
- Offer management → Relational database: writes offers
- Offer management → ATS records: creates JobOffer
- CV upload → Application pipeline: submits files
- Application pipeline → Document parser: parses document
- Application pipeline → Contact and skills: extracts fields
- Application pipeline → Relational database: saves candidates and scores
- Application pipeline → ATS records: creates candidate records
- Application pipeline → Hybrid scoring: requests evaluation
- Hybrid scoring → Semantic similarity: computes similarity
- Hybrid scoring → Skills coverage: computes coverage
- Ranking dashboard → Relational database: reads offers and scores
- Ranking dashboard → ATS records: uses candidate records
- Ranking dashboard → CSV exports: downloads lists