What you will learn
- What an ATS does beyond storing CVs
- The core features recruiters rely on daily
- How to build it in phases, from requisition to offer
- Integrations with job boards, email, and calendars
- Common ATS pitfalls around bias, spam, and data quality
What is a applicant tracking system?
An applicant tracking system centralises job requisitions, applications, screening, interviews, and offers. A hiring manager raises a requisition, the role is published to job boards and a careers page, applications flow into a single pipeline, and recruiters move candidates through stages such as applied, screened, interviewed, and offered. Every note, score, and email stays attached to the candidate record, so nothing depends on one recruiter's inbox.
Building an ATS makes sense when hiring volume outgrows email. The system must handle messy real-world input: CVs in many formats, duplicate applications, candidates referred by employees, and agency submissions. A good ATS also respects candidates, with clear status updates, simple scheduling, and a short application form, because a slow or confusing process loses strong applicants before screening even starts.
Core features of a applicant tracking system
The features below are the ones recruiters open every day; anything missing here becomes a workaround in spreadsheets.
- Requisition and approval workflow: Hiring managers create requisitions with headcount, location, salary band, and approvers, so finance and HR sign off before a role goes live and ghost requisitions never reach candidates.
- Job publishing and careers page: One posting pushes to major job boards and a branded careers page, with tracking links per source so recruiters see which channel actually delivers hires rather than just clicks.
- CV parsing and candidate profiles: Uploaded CVs are parsed into structured fields for experience, skills, education, and contact details, with duplicate detection that merges repeat applications instead of creating parallel records.
- Pipeline and kanban stages: Customisable stages per job family, with bulk actions, drag-and-drop movement, and mandatory rejection reasons so pipeline reports stay honest and candidates are never left in limbo.
- Interview scheduling: Calendar integration lets candidates pick slots, interviewers receive invites with scorecard links, and rescheduling updates everyone automatically instead of spawning email threads.
- Scorecards and collaborative feedback: Structured scorecards rate role-specific criteria, collect interviewer notes in one place, and surface disagreement early, which shortens debriefs and makes hiring decisions defensible.
- Offer and onboarding handoff: Offer letters generated from templates with salary, start date, and conditions flow into e-signature, then hand the hired candidate's data to onboarding without retyping anything.
- Compliance and reporting: Equal-opportunity data is stored separately from hiring decisions, consent and retention rules are enforced, and source, time-to-hire, and funnel reports show where candidates drop out.
How a applicant tracking system is built
Build the pipeline core first and add automation later; recruiters adopt tools that work on day one, not tools that promise magic in phase three.
- Discovery and hiring workflow mapping: Interview recruiters and hiring managers to map the real stages, approval chains, and edge cases, such as internal transfers and agency candidates, before writing any code.
- Data model and pipeline engine: Build candidates, applications, jobs, stages, and activities as the core model, with an audit trail on every status change so reports and disputes can be reconstructed.
- CV parsing and job publishing: Add document parsing, duplicate detection, and board integrations, testing against real CVs in varied formats rather than clean samples.
- Scheduling and collaboration: Connect calendars, build scorecards and commenting, and add notifications that are timely but not noisy, grouped into daily digests where possible.
- Offers, analytics, and compliance: Add offer workflows, e-signature, funnel and source reporting, and data-retention controls, then run a pilot with one live requisition end to end.
- Hardening and rollout: Load-test bulk imports, set up backups and access controls, migrate historical candidate data, and train recruiters with their own live roles rather than demo data.
Technology considerations
An ATS is a document-heavy, workflow-heavy application. The backend needs a relational database for candidates and jobs, an object store for CVs, and a queue for parsing and email delivery. CV parsing can start with a third-party parser API and move in-house only if volume justifies it, and calendar integration should use established calendar APIs rather than custom syncing. Search matters more than most teams expect: recruiters search by skill, location, and past stage, so full-text search with filters is worth building early.
- Relational database with full-text search for candidate and job records, plus object storage for CVs and attachments.
- Queue-based CV parsing and email sending so a large import never blocks the recruiter interface.
- Calendar and email APIs for scheduling and two-way message sync, with webhooks for job board applications.
- Role-based access so hiring managers see only their requisitions and sensitive compliance data stays restricted.
Challenges to plan for
ATS projects fail on data quality and recruiter trust, not on missing features.
- Messy CV data: Parsing errors and inconsistent formats create untrustworthy profiles, so build manual correction flows and show recruiters the parsed result before it is trusted.
- Duplicate candidates: The same person applies twice, is referred, and comes via an agency; fuzzy matching on email, phone, and name must merge safely without destroying history.
- Notification overload: Every stage change can trigger an email, and teams quickly tune out; group updates, let users choose channels, and reserve instant alerts for interviews and offers.
- Bias and compliance risk: Screening automation can entrench bias if it ranks on proxies for protected traits; keep automated ranking advisory, log its inputs, and keep humans deciding.
- Job board fragmentation: Each board has its own API quirks and application formats; isolate board integrations behind one interface so a board change never touches the pipeline core.
What a first version should include
A first version should cover one hiring workflow end to end: requisitions with approval, a careers page, CV parsing for common formats, a kanban pipeline with stages the recruiting team actually uses, interview scheduling, and scorecards. Defer AI ranking, advanced analytics, and niche job board integrations until recruiters use the core daily. The most valuable early test is a live requisition run entirely inside the system, because it exposes gaps in notifications, permissions, and candidate communication that no demo reveals. Plan the data model for agency candidates and internal transfers from the start, since retrofitting them later touches every pipeline report.
Tip: pilot the ATS with a single hard-to-fill role first. If recruiters prefer it over their inbox for that role, adoption will follow; if they do not, you have found the real gaps before rollout.
Frequently asked questions
How long does it take to build an applicant tracking system?
A usable ATS with requisitions, pipeline, parsing, and scheduling typically takes several months of focused development for a small team, with integrations and reporting added after. Timelines vary with team size and scope, so confirm with a quote for your exact hiring workflow.
What does an applicant tracking system cost to build?
Cost depends on scope, integrations, and whether CV parsing uses a third-party service. A core pipeline costs far less than a full suite with AI ranking and dozens of board integrations, so get a scoped quote rather than relying on a single figure.
Should an ATS rank candidates automatically?
Automatic ranking can help with high-volume roles, but it should stay advisory. Recruiters should see why a candidate ranked highly, and final shortlisting should remain a human decision to limit bias and compliance risk.
How does an ATS handle GDPR and data retention?
It should record consent, separate sensitive equal-opportunity data from hiring decisions, enforce retention periods per region, and support deletion requests across candidate records and stored CVs.
Can an ATS replace email for hiring communication?
Yes, for candidate-facing messages it should: templates, two-way sync, and a full message history on the candidate record keep communication consistent even when recruiters change.