ATS CV Upload & AI Profile Extraction
Designed the end-to-end ATS CV upload flow covering file intake, AI extraction, profile creation, async notifications, and cross-platform synchronization between BetterHR, AI services, and Job Landing.
Defined the applicant intake journey from CV upload to parsed profile presentation inside the ATS dashboard.
- Upload CV and extract structured applicant data with AI
- Populate profile cards with bio, education, experience, skills, languages, certificates, and social links
- Notify HR stakeholders and invite new applicants into Job Landing when needed
Outlined a business-friendly system flow where BetterHR handles the ATS experience, a queue runs the full background process.
- File, queue, AI extraction, and applicant services are separated by clear runtime responsibilities
- The platform stores the CV and starts the full background workflow through a queue
- Notification, email, and push services keep recruiters and hiring teams informed
Modeled an asynchronous upload-to-profile pipeline so recruiters do not wait on extraction before continuing ATS work.
- Upload CV file and store it in S3-compatible storage
- Run extraction asynchronously and publish completion via popup notification
- Refresh ATS dashboard with parsed applicant data after profile build succeeds
Captured the core applicant profile domains created from a single CV source while keeping service ownership clear across systems.
- Applicant basic information as root profile record
- Education, work experience, skills, languages, certificates, and social links as structured child datasets
- Unique email per job post prevents duplicate candidate records for the same opening
Planned the feature in delivery slices spanning storage upload, AI extraction, event-driven notifications, and downstream profile synchronization.
- Storage upload plus AI project handoff
- Async completion handling with Pusher and email services
- Conditional invitation flow for first-time applicants on Job Landing
Specified validation around atomic processing, async completion, and profile consistency across ATS and Job Landing.
- Prevent duplicate applicants by enforcing unique email within the same job post
- Verify success notifications only fire after extraction and profile creation complete
- Ensure parsed CV fields map safely into recruiter-facing applicant cards