Analysis updated 2026-05-18
Merge candidate details from a recruiter spreadsheet, an ATS export, and a resume PDF into one profile.
Standardize inconsistent emails, phone numbers, and company names across candidate sources.
Detect and merge duplicate candidate records using fuzzy matching.
Generate a confidence score and source history for every field in a candidate profile.
| bashaboinarenuka/candidate-data-transformer-final | 2arons/llm-cli | abe238/claude-video-plus | |
|---|---|---|---|
| Stars | 11 | 11 | 11 |
| Language | Python | Python | Python |
| Setup difficulty | easy | easy | easy |
| Complexity | 2/5 | 2/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Candidate Data Transformer is a backend pipeline written in Python that pulls together information about job candidates from several different sources and combines it into one clean, unified profile for each person. The kinds of sources it can read include a recruiter spreadsheet in CSV format, structured JSON exported from an applicant tracking system, and a resume in PDF form. Once the data is pulled in, the pipeline cleans it up. It standardizes things like email addresses, phone numbers, company names, and skill lists so the same piece of information always looks the same no matter which source it came from. It then works out which records actually describe the same candidate, even if the details do not match exactly, and merges those records together using a set priority order. For example, if a candidate's email appears differently across sources, the applicant tracking system's version wins, while phone numbers instead favor the recruiter spreadsheet. For every field in the final merged profile, the system keeps track of where that piece of information came from and assigns it a confidence score, so a user reviewing the output can see how trustworthy each detail is. The final profile is checked for problems before it is produced, and the shape of the output can be adjusted through a configuration file rather than by editing code. The project is built with Python 3 along with libraries for handling spreadsheets, reading PDF text, validating data structures, matching similar text, and parsing phone numbers. It also explicitly documents the messy real world cases it handles, such as missing phone numbers, duplicate skill entries, differently formatted emails, and invalid or missing files. This tool is aimed at developers building recruiting or HR software who need a reliable way to combine candidate data scattered across multiple systems into one trustworthy record. Planned future work includes calculating confidence scores more dynamically, adding integrations with LinkedIn and GitHub, and exposing the pipeline as a REST API.
A Python pipeline that merges candidate data from a recruiter CSV, an ATS export, and a resume PDF into one clean profile.
Mainly Python. The stack also includes Python, Pandas, pdfplumber.
The README does not state a license.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.