Industry guide · HR

Custom Applicant Tracking System Development: A High-Volume Operator's Build Guide

The short answer

If you are a high-volume employer or staffing firm whose Greenhouse seat bill has crossed six figures and whose coordinators are patching around the pipeline with spreadsheets and add-ons, building is usually the cheaper path within two years. Expect a focused first release at $60,000 to $130,000 in 12 to 16 weeks, and a full platform at $150,000 to $400,000 phased over 6 to 12 months. Build when the seat cost, the high-volume workflow gaps, and the staffing economics all point the same way. Stay on Greenhouse if your hiring is low-volume and standard.

Why your ATS makes or breaks a high-volume hiring operation

When you hire in volume, the applicant tracking system is not a back-office tool. It is the factory floor. Every warehouse associate, CDL driver, call center rep, and travel nurse you place moves through it, and the speed of that movement is your revenue. Most teams at your scale run Greenhouse, Lever, or Workday Recruiting for corporate roles, and Bullhorn, JobDiva, or Ceipal on the staffing side. They work until the volume and the headcount climb, and then two meters start running against you at once: the seat bill and the hours your coordinators lose to workarounds.

Here is a scene that repeats across the operators we work with. A regional logistics company posts forty warehouse reqs before peak season. Within a week, 8,000 applications land. Greenhouse was built for considered hiring, twenty engineers evaluated over a quarter, so the coordinators are now dispositioning candidates by hand, copying phone numbers into a separate texting tool, and scheduling interviews one email at a time. Two coordinators spend most of a week on data entry that the system should have done in the background. The reqs that should fill in three days fill in twelve, and the branch manager is short bodies on the dock.

None of this is a Greenhouse defect. It is a mismatch: the tool is priced and shaped for a different kind of hiring than yours, and no configuration screen closes that gap. Once the seat renewal crosses six figures and keeps climbing every time you add a sourcer, the question stops being how to configure around it and becomes whether the workflow should be yours to own.

Problem: per-seat pricing punishes you for staffing up

Greenhouse, Lever, and most modern ATS vendors price per seat or per employee, billed annually. That model is fine at forty recruiters. It becomes a tax when you run a staffing desk of two hundred, or when a Q4 ramp means adding fifteen sourcers who each need a login, another round of procurement, and another line on next year's renewal. You end up rationing access: coordinators share seats, hiring managers get read-only views that push more work back onto recruiters, and nobody wants to add the tenth interviewer because it costs money.

You cannot fix this inside the tool, because the seat count is the vendor's revenue model, not a setting. Discounts at renewal slow the bleeding, but the curve still points up and to the right, tied to your headcount rather than your infrastructure.

A custom build breaks that link. You host the application, so internal access is a permissions decision, not a purchasing one. Add a hundred coordinators, a branch full of hiring managers, or a pool of seasonal sourcers, and your cost is the same server bill you were already paying. Role-based access replaces per-seat licensing, and the number that grows is your candidate volume, not your login count.

Problem: the pipeline chokes on 10,000 applicants a month

High-volume hourly hiring is a different sport. You are not evaluating candidates, you are filtering and moving them: knockout questions, right-to-work and shift availability, a fast text, an interview slot, an offer, onboarding. Greenhouse and Lever model a considered, stage-by-stage funnel where a recruiter touches every candidate. At 8,000 applications a week, that human touch is exactly the bottleneck.

The off-the-shelf answer is a marketplace add-on for texting, another for scheduling, another like Paradox or Fountain bolted alongside, each with its own login, its own data, and its own bill. The candidate record fragments across four tools and your coordinators become the integration layer, copying between them.

A custom build makes high volume the default, not the exception. Knockout questions auto-disposition candidates who fail must-have criteria the moment they apply. Apply-by-SMS captures the hourly worker who will never finish a ten-field desktop form. Interview slots self-schedule against real availability. Bulk actions move five hundred candidates at once instead of one click each. The whole flow lives in one data model, so a coordinator manages the exceptions and the system handles the volume.

Problem: staffing economics have no home in an employer ATS

If you run a staffing firm, an employer ATS like Greenhouse is the wrong shape entirely. It assumes one company hiring for itself. Your reality is bill rates, pay rates, and the margin between them; the same candidate submitted to three clients; a contractor rolling off an assignment who needs redeploying next week; and a nurse whose BLS certification and state license both have expiry dates you are liable for. Bullhorn and JobDiva cover some of this, which is why so many firms live there, but they are rigid, dated, and still charge per seat.

Greenhouse has no concept of a submission, a placement, a margin, or a redeployment pool, and no custom field turns a candidate into a reusable, billable asset. So the numbers that decide whether your business is profitable live in spreadsheets next to the ATS.

A custom build models your actual entities. Candidate, submission, placement, and assignment become first-class objects. Bill rate minus pay rate calculates margin on every deal. Credential expiry drives alerts before a license lapses on a live assignment. A redeployment pool surfaces available contractors the day they roll off. Integration with a VMS such as Fieldglass or Beeline pulls client requisitions in directly instead of through copy and paste.

Problem: compliance and credentials held together with spreadsheets

Volume hiring carries compliance weight that generic tools handle thinly. Federal contractors owe OFCCP an auditable applicant flow log with a disposition reason on every candidate. Background checks through Checkr or Sterling trigger FCRA pre-adverse and adverse action steps with mandated waiting periods. Healthcare and transportation roles add credential rules: an RN license, a BLS or ACLS card, a DOT medical certificate, each with an expiry that cannot lapse mid-assignment. I-9, E-Verify, and WOTC sit on top.

Greenhouse offers generic EEO capture and standard disposition, but it does not encode your industry's credential logic or run a compliant adverse-action sequence on its own. Teams patch the gap with spreadsheets and calendar reminders, which is exactly what fails an audit or lets a lapsed certification onto a client site.

A custom build treats compliance as data, not diligence. Every disposition writes to an audit-ready log with reason codes OFCCP will accept. The adverse-action workflow enforces its own waiting periods and paper trail. Credentials live as dated records that alert the recruiter and the contractor weeks before expiry and block assignment when lapsed. The rules are yours, versioned in the system, not in someone's memory.

Problem: every tool is another marketplace fee and another silo

Run the tally of what plugs into your ATS: job distribution to Indeed and ZipRecruiter, background checks through Checkr, assessments, texting, e-signature, onboarding, and a payroll handoff. On Greenhouse, most of these are marketplace apps, each with its own subscription and its own copy of your candidate data. The Harvest API has rate limits, so the connections you do build move data in batches and lag. When an operations lead asks for live fill rate by branch on Monday morning, the honest answer is that the number lives in four systems and someone will export it by Wednesday.

Off-the-shelf reporting makes this worse. Greenhouse gates advanced reporting behind its Expert tier or expects you to pipe data into a separate business intelligence (BI) tool, so the metrics you run the business on, time-to-fill, cost-per-hire, recruiter productivity, source ROI, and margin by client, sit one export away from the decision.

A custom build puts one data model under everything. Integrations write directly through webhooks with no per-app markup and no rate-limit lag. Because every event lands in your own database, the dashboards are live: fill rate by branch, submissions per recruiter, and margin per client update as the day happens, not after a Wednesday export.

What a custom ATS actually costs and how long it takes

These bands come from Digital Heroes delivery experience across more than 2,000 projects, not from a rate card. A focused first release, the pipeline, apply-by-SMS, knockout logic, one or two critical integrations, and the reporting your ops review needs, typically runs $60,000 to $130,000 and ships in 12 to 16 weeks. A full platform, staffing economics, VMS integration, credential and compliance engines, multi-client support, and a full migration off your incumbent, runs $150,000 to $400,000, phased over 6 to 12 months.

What moves you up those bands in this category is specific. The number of external integrations is the biggest driver: each VMS, background-check, assessment, job-board, and payroll connection is real engineering, and Fieldglass or Beeline are heavier than a job board. High-volume scale requirements add cost, because ingesting thousands of applications an hour without duplicating records is a real problem to solve. Compliance depth matters: OFCCP audit logging and FCRA adverse-action flows are exacting. And migrating years of candidate history out of Greenhouse or Bullhorn, with resumes, notes, and stage history intact, is often a project of its own.

Build versus buy: an honest line

Buy, and stay bought, when your hiring is genuinely considered rather than high-volume: standard corporate roles, a recruiting team under roughly fifty, no unusual compliance, and no staffing economics. Greenhouse, Lever, and Ashby are good products, and if your volume fits their shape, a custom build is a distraction from work you do not need to own. Running your own software is a commitment, and for many companies the seat fee is cheaper than the responsibility.

Build when the signals stack up. Your seat renewal has crossed six figures and climbs every time you add a recruiter. You are processing thousands of hourly applicants a month and paying for three add-ons to do what one system should. Your bill rates, pay rates, and margins live in spreadsheets because the ATS has no home for them. You keep exporting to run Monday's numbers. And the workflow rule you actually need is one the vendor will not ship. When those are your Tuesdays, the custom build stops being a luxury and becomes the cheaper path.

How to choose a developer for a custom ATS build

This category punishes generalists, so vet for it directly.

Domain data model: ask them to whiteboard candidate, requisition, submission, placement, and assignment, and to explain a redeployment pool and credential expiry without prompting. If they describe generic CRUD, they will rebuild Greenhouse's limits with your logo on it.

Integrations: they should have shipped Checkr or Sterling, a VMS like Fieldglass or Beeline, and job distribution to Indeed and ZipRecruiter, and be able to talk about rate limits, webhooks, and keeping records deduplicated across systems.

Compliance: they should speak fluently about OFCCP applicant flow logging, EEO capture, FCRA adverse action, I-9 and E-Verify, and data retention, and treat those as data models rather than afterthoughts.

Ownership and scale: confirm you own the code and the intellectual property outright, and that they have built for high-volume ingest, not just tidy demos. Ask what happens when 10,000 applications arrive in an hour.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. SHRM's 2025 benchmarking data puts the average cost-per-hire at $5,475 for nonexecutive roles and $35,879 for executive roles - executive hires are on average nearly 7x more expensive than nonexecutive hires. Source: SHRM (Society for Human Resource Management) (2025) →
  2. An EY survey found one in five U.S. payrolls contains errors, each costing an average of $291 to remediate, with a typical 1,000-employee organization spending roughly 29 workweeks per year fixing common payroll errors. Source: EY (Ernst & Young) (2022) →
  3. PMI's Pulse of the Profession research found organizations waste an average of roughly 9.9% of every dollar invested in projects due to poor performance - equivalent to about $1 million wasted every 20 seconds collectively worldwide. Source: Project Management Institute (PMI) (2018) →
  4. The share of tasks performed mainly by humans is projected to fall from 47% to 33% by 2030 as human-machine collaboration expands, with 170 million jobs created and 92 million displaced (a net gain of 78 million). Source: World Economic Forum (2025) →
Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does it cost to build a custom applicant tracking system?
A focused first release runs about $60,000 to $130,000 and ships in 12 to 16 weeks, based on Digital Heroes delivery across more than 2,000 projects. A full platform with staffing economics, VMS integration, and compliance engines runs $150,000 to $400,000 over 6 to 12 months. The biggest cost drivers are the number of external integrations and how much compliance depth you need.
Is a custom ATS cheaper than Greenhouse at 200 recruiters?
Usually yes within about two years, because Greenhouse and similar tools price per seat while a custom build hosts on infrastructure you already pay for. Once your seat renewal crosses six figures and climbs every time you add a recruiter, the build cost is often recovered before the second annual renewal. Adding internal users to a custom system is a permissions change, not a purchase.
How long does it take to build a custom ATS?
A focused first release with the pipeline, apply-by-SMS, knockout logic, and core reporting typically ships in 12 to 16 weeks. A full platform with staffing economics, VMS and background-check integrations, and compliance engines phases over 6 to 12 months. Timeline is driven mostly by integration count and data migration, not screen count.
Can we migrate candidate data from Greenhouse or Bullhorn to a custom ATS?
Yes, and it is often a project within the project. Resumes, notes, stage history, and dispositions can be moved so you do not lose years of pipeline. Budget for it explicitly, because a clean migration with history intact is more work than a simple contact export.
Do we own the code if we build a custom ATS?
You should own the code and the intellectual property outright, and you should confirm that in the contract before work starts. That is a core reason to build: no per-seat licensing and no vendor deciding which workflow rules you get. Insist on full source access and the right to take the code to any developer.
What makes a custom ATS better than Greenhouse for high-volume hourly hiring?
Greenhouse models a considered, stage-by-stage funnel where a recruiter touches every candidate, which becomes the bottleneck at thousands of applications a week. A custom build makes volume the default: knockout questions auto-disposition on apply, apply-by-SMS captures hourly workers, interview slots self-schedule, and bulk actions move hundreds of candidates at once. Everything lives in one data model instead of four add-ons.
Can a custom ATS handle staffing bill rates, pay rates, and margins?
Yes, and that is exactly where employer tools like Greenhouse fall short, since they have no concept of a submission, placement, or margin. A custom build models candidate, submission, placement, and assignment as first-class objects, calculates margin as bill rate minus pay rate on every deal, and can integrate a VMS such as Fieldglass or Beeline. Redeployment pools and credential expiry become built-in, not spreadsheet work.
How do we keep a custom ATS OFCCP and EEO compliant?
Compliance is built as data, not bolted on. Every disposition writes to an audit-ready flow log with reason codes OFCCP accepts, EEO data is captured at apply, and the FCRA adverse-action workflow enforces its own waiting periods and paper trail. For healthcare and transportation, credential records with expiry dates alert before a license lapses and block assignment when it does.
Should a staffing firm build a custom ATS or stay on Bullhorn?
Stay on Bullhorn or JobDiva if their workflow fits and the per-seat cost is tolerable. Build when the seat bill is climbing with headcount, the dated interface is slowing recruiters, or you need workflow and margin logic the vendor will not ship. The signal to build is when you are exporting to spreadsheets to run the numbers your ATS should already produce.
What should I prepare before contacting an agency about HR software?
Bring four things: your current tool list with annual costs, headcount now and projected in two years, the five workflows that waste the most HR hours each week, and any compliance requirements like multi-state employment or union rules. A sample data export from your current system helps too. Digital Heroes scoping calls with this prepared produce a fixed quote in days instead of weeks.
What tech stack should custom HR software use?
Choose boring and hireable: React or Next.js on the front end, Node.js or Django behind it, and PostgreSQL for data, since Postgres row-level security maps cleanly onto salary visibility rules. That is the Digital Heroes default for HR systems because any future team can maintain it. Be wary of agencies pushing an exotic stack; you will be hiring for it for a decade.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
Will custom HR software scale from 100 to 1,000 employees?
Yes, comfortably. A thousand employee records is a tiny dataset by database standards, so the real scaling work is organizational: multi-state tax setups, layered approval chains, and role hierarchies. A properly designed system absorbs those through configuration instead of code changes. This is where custom beats off-the-shelf, because you add complexity as you actually acquire it rather than paying for an enterprise tier up front.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
What questions should I ask a development agency on the first call?
Ask who exactly will build it, what happens when scope changes mid-project, what their maintenance terms are after launch, and what they will need from you every week. Then ask them to describe a project that went wrong and what they changed afterward; teams that have shipped at real volume have war stories, and teams claiming a perfect record are hiding something. The scope-change answer matters most: a disciplined shop describes a written change-order process, not a vague promise to be flexible.
How do I vet a developer or agency for an HR software project?
Ask two questions: show me a project where you handled sensitive employee data, and walk me through how you would stop a manager from seeing salaries outside their team. Teams that have built HR systems answer the second one immediately with role-based access design; teams that have not will improvise. Also ask which payroll APIs they have integrated, because ADP, Gusto, and Paychex each behave differently in practice.
How do I vet a software development agency before signing a contract?
Ask to speak with two past clients whose projects resemble yours in size and industry, and ask exactly who will write your code, since some agencies sell senior faces and deliver junior or subcontracted hands. Demand a written specification with acceptance criteria before any fixed price, and check that their portfolio links to products that are actually live. An instant quote given without questions about your workflows is the clearest warning sign there is.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
How much does custom HR software cost for a small business?
A core HR system covering employee records, onboarding, time off, and documents typically lands between $30,000 and $80,000 for a small business, based on Digital Heroes delivery across 2,000+ projects. Full platforms that add applicant tracking, performance reviews, and time and attendance run $80,000 to $250,000. Most teams under 100 employees start with the core and expand after the first release proves itself.
Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?