Recruitment ATS for Applicant Tracking & Hiring
How we built a recruitment ATS platform for 200+ companies and 80K+ candidates — with resume parsing, interview scheduling, candidate pipelines, and 65% time-to-hire reduction.
Resume Parsing · Pipeline · Employer Brand
| Client | A staffing and recruitment SaaS |
|---|---|
| Industry | HR Tech / SaaS |
| Stack | Next.js, Node.js, PostgreSQL, Elasticsearch, SendGrid, Calendly API, Resume Parsing, Multi-Tenant |
| Project duration | 8 Months |
| Headline results |
|
The Client's Vision
A staffing and recruitment SaaS serving 200+ SMB and mid-market companies was running on spreadsheets and email. Recruiters manually screened resumes, copied candidate details into ATS fields, and coordinated interviews via back-and-forth emails. Time-to-hire averaged 35 days.
They wanted a modern ATS where resumes could be parsed automatically, candidates searchable by skills and experience, interview scheduling handled via Calendly, and pipeline stages customizable per company — with strong employer branding on career pages.
What Was Breaking
Resume Parsing
Resumes arrived as PDFs and Word files in every format imaginable. Manual data entry took 10–15 minutes per candidate. Typos and inconsistent naming caused duplicate records and missed matches.
Interview Scheduling
Coordinating 3–5 interview rounds across multiple calendars was a nightmare. Recruiters sent Doodle polls and email chains. No-shows and double-bookings were common. Candidates dropped out from frustration.
Candidate Pipeline
Each company had different stages — Applied, Phone Screen, Technical, Offer, etc. The old system used a single rigid pipeline. Drag-and-drop was slow. Bulk actions (reject, move) didn't exist.
Employer Branding
Career pages looked generic. Companies wanted custom domains, branded application flows, and integration with their website. The old system offered only white-label URLs.
The Architecture We Built
We built a multi-tenant ATS with resume parsing via document extraction, Elasticsearch for full-text search, and Calendly API for interview scheduling. Pipelines are configurable per company. Career pages support custom branding and domains. SendGrid powers candidate and interviewer emails.
System Architecture
Resume parsing uses a hybrid approach — we extract text from PDFs and Word via libraries, then apply regex and NLP patterns for name, email, phone, skills, and experience. We store structured data in PostgreSQL and sync to Elasticsearch for search. Parsing accuracy improved from 60% to 92% with iterative refinement.
Tech Stack
How We Delivered It
Mapped recruiter workflows across 20 pilot companies. Designed multi-tenant schema with company isolation. Defined pipeline stage and job models.
Built job posting, application, and pipeline modules. Implemented resume parsing with PDF/Word extraction. Indexed candidates in Elasticsearch with full-text search.
Integrated Calendly API for scheduling links. Built branded career pages with custom domains. Implemented SendGrid email templates for applications and interviews.
Added configurable pipeline stages per company. Implemented bulk actions and analytics. Migrated 200+ companies with historical data. Trained recruiters and measured time-to-hire.
The Impact
What Made This Work
Resume parsing is hard — PDFs and Word files have inconsistent layouts. We focused on extracting the high-value fields (name, email, phone, skills, experience) and accepted that some fields might be wrong. Recruiters can correct parsed data; we learn from corrections over time.
Elasticsearch changed how recruiters search for candidates. They can find “React developers with 5+ years in fintech” in seconds. We use synonym expansion for skills (e.g., “JS” maps to “JavaScript”) and faceted filters for location and salary. Index updates are near real-time.
Calendly API integration was straightforward — we create scheduling links per interview round and pass candidate context via custom questions. The tricky part was handling cancellations and rescheduling. We sync Calendly webhooks to update our interview records. No-shows are tracked and flagged for follow-up.
Written by Mukesh Swami, Founder & CEO
Building a Recruitment ATS?
We help HR Tech companies build production-grade ATS platforms. Let's talk about your architecture.
- A 30-minute technical discovery call with an engineer, not a salesperson.
- We reply within 1 business day.
- Related service: SaaS Development
