Problems & solutions · HR

Applicant Tracking System Problems: The 7 That Cost Real Money in High-Volume Hiring, and How to Avoid Them

Applicant Tracking System Development workflow illustration showing common problems and fixes.
The short answer

The most expensive failure in a custom applicant tracking system is rebuilding the considered hiring funnel you were trying to escape. Greenhouse and Lever model a stage by stage pipeline where a recruiter touches every candidate, which is correct for twenty engineers over a quarter and fatal at eight thousand applications a week. If your new system carries that assumption forward, the human is still the bottleneck, and the cost is measured in unfilled shifts: requisitions that should close in three days closing in twelve, coordinators spending most of a week on data entry, and a branch manager short bodies on the dock during peak. You will have paid to build a slower version of the tool you already had.

Why do custom ATS builds end up rebuilding Greenhouse?

Because requirements gathering asks people what they do today, and what they do today is work around a tool built for a different kind of hiring. Every workaround gets faithfully specified. Six months later you own a system with the same stage by stage funnel, the same one candidate at a time interactions, and the same texting tool bolted on the side, except now it is your maintenance problem.

The specific trap in this sector is that the incumbent's shape is invisible until you name it. Greenhouse and Lever assume a recruiter evaluates each candidate. Bullhorn and JobDiva assume a staffing desk with submissions and placements. Neither assumption is wrong; they are simply not yours if you are hiring hourly workers in thousands. A requirements document written by people who have only used one shape will reproduce that shape.

The fix is to specify the volume path first and the exception path second, which is the reverse of how these projects usually run. Design the flow where nobody touches the candidate at all: knockout questions disposition on submission, apply by text captures the worker who will never finish a desktop form, interview slots self schedule against real availability, and bulk actions move hundreds of records at once. Then design what a coordinator does with the exceptions. If your first wireframe is a candidate detail page, the project has already drifted. In our delivery experience the builds that succeed at volume were scoped around throughput from the first workshop.

What goes wrong when you migrate candidate history and deduplicate at scale?

Two problems, and both are underestimated. The first is migration. Getting contacts out of Greenhouse or Bullhorn is easy. Getting resumes, recruiter notes, stage history and dispositions out with their dates and authors intact is a project inside the project, and it matters more than teams expect, because disposition history is what an audit asks for and stage history is what your time to fill reporting is built on. A migration that lands names and emails only has thrown away the asset.

The second is deduplication at ingest. The same hourly candidate applies to four requisitions across three branches over six months, sometimes with a different phone number, sometimes with a nickname, sometimes through a job board that rewrites the email address. Match too loosely and you merge two people, which is a serious problem when one has a failed background check. Match too tightly and your recruiters see the same person as a new applicant every time, which destroys the redeployment pool and inflates your applicant counts.

The fix is to treat identity as a first class problem rather than a database constraint. Use tiered matching with a confidence score, auto merge only on high confidence signals, and route everything ambiguous to a review queue rather than guessing. Keep the source application records after a merge so a merge can be reversed, because it will need to be. And migrate history with authorship and timestamps preserved, then reconcile counts per requisition and per disposition reason rather than in aggregate, since an aggregate count hides a whole category going missing.

Why do job board, background check and VMS integrations break after launch?

A hiring stack has more moving external parts than almost anything else in operations: job distribution to Indeed and ZipRecruiter, background checks through Checkr or Sterling, assessments, texting, electronic signature, onboarding, payroll and, on the staffing side, a vendor management system such as Fieldglass or Beeline. Every one of them is somebody else's release schedule.

The failures are specific. Job board feeds reject postings for reasons that are only visible in a portal nobody logs into, so a requisition sits unposted while the branch waits for applicants. Background check webhooks are delivered once, and a deployment during the delivery window loses the result silently, leaving candidates stuck in a status forever. Rate limits on an incumbent API mean a nightly sync that worked at forty requisitions starts skipping records at four hundred. Vendor management systems are the least forgiving of all: requisition data arrives in their format, on their schedule, with their identifiers, and a mismatch means a submission never reaches the client.

The fix is defensive by default. Persist every inbound webhook before processing it and reconcile daily against the provider's own record, so a missed delivery is caught rather than becoming a stuck candidate. Alert on absence: a job board feed that returned zero postings should raise a flag, not pass silently. Build retry and backoff into every outbound call. And give each integration a named internal owner, because the ones that quietly fail are always the ones nobody was responsible for watching.

What happens when OFCCP, FCRA and credential rules are not covered?

This is where high volume hiring turns a software gap into a legal one. Federal contractors owe an auditable applicant flow log with a disposition reason on every candidate. Background checks trigger pre adverse and adverse action steps under the Fair Credit Reporting Act with waiting periods that must actually be observed. Healthcare and transportation roles add credential rules: a nursing licence, a life support certification, a medical examiner's certificate, each with an expiry date that cannot lapse while someone is on assignment.

When the system does not cover this, the gap is filled with spreadsheets and calendar reminders. That fails in two directions. An audit asks for a flow log and receives an export nobody can reconcile. Or a certification expires mid assignment, a worker stays on a client site without it, and you find out when the client does.

The fix is to model compliance as data with enforcement, not as reports produced later. Every disposition writes to a flow log with a reason code at the moment it happens, including automated knockouts, which are the ones most often missing. The adverse action sequence is a state machine that will not permit the final step before its waiting period has elapsed, rather than a task somebody is asked to remember. Credentials are dated records that alert the recruiter and the worker ahead of expiry and block assignment once lapsed. None of this is difficult engineering. It is simply work that gets deferred because it does not fill a requisition this week.

Should you build custom or configure what you already own?

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 running your own software is a commitment rather than a saving. For many companies the seat fee is cheaper than the responsibility, and we say so on calls regularly.

Before building, check whether a purpose built volume tool solves it. Fountain and Paradox exist precisely for high volume hourly hiring and will beat a custom first release on time to value. If your problem is only that the front of the funnel is too slow, buying the front of the funnel is the cheaper experiment.

Build when the signals stack. 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 applicant tracking system has no concept of a submission, a placement or an assignment. You export before every Monday numbers review. And the workflow rule you need is one the vendor will not ship. When those describe your ordinary Tuesday, building becomes the cheaper path rather than the ambitious one.

How do hidden costs get into the quote?

Integration count is the biggest driver and the most frequently understated. Each connection is real engineering with its own authentication, error handling and reconciliation, and they are not equivalent: a job board feed is a fraction of the work of a vendor management system integration. Count them precisely and price them individually rather than accepting a line that says integrations.

Data migration is second. Resumes, notes, stage history and dispositions with dates and authors intact is a different exercise from a contact export, and it usually needs its own investigation phase to find out what the incumbent will actually give you.

Compliance depth is third. Applicant flow logging and an enforced adverse action sequence are exacting rather than large, and the cost is in getting the detail right with your counsel rather than in screens.

Fourth is peak volume engineering. Ingesting thousands of applications an hour without duplicating records or losing webhook deliveries is a real problem with a real price, and it is invisible in a demo built against a hundred candidates. Ask explicitly what happens when ten thousand applications arrive in an hour, and make the answer part of the contract rather than part of the sales conversation.

What separates a build that works from one that fails here?

The working build models your actual entities. For an employer that means requisition, application, candidate identity and disposition with a reason. For a staffing firm it means candidate, submission, placement and assignment as first class objects, with margin computed as bill rate minus pay rate on every deal, a redeployment pool that surfaces contractors the day they roll off, and credential expiry that blocks assignment. If a developer whiteboards generic records and relationships without asking what a submission is, they will rebuild your incumbent's limits with your logo on it.

The second difference is that reporting comes from one data model rather than four exports. Fill rate by branch, submissions per recruiter and margin by client should update as the day happens. The moment your operations lead has to wait until Wednesday for Monday's number, the system has failed at the thing it was bought for.

The third is that the volume path is the default and the human path is the exception. A coordinator should manage what the rules could not decide, not process what the rules should have handled.

The fourth is ownership. Confirm in writing before work starts that you own the code, the intellectual property and the infrastructure accounts, with the right to take it to any developer. At Digital Heroes the client owns the code from the first commit. Escaping per seat licensing is one of the main reasons to build, and it is worth very little if you have simply exchanged one lock in for another.

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. Brandon Hall Group research on onboarding reports that done well, structured onboarding drives measurable gains in new-hire productivity, employee engagement, and retention; the page notes 41% of organizations experience greater than 5% turnover among new hires. Source: Brandon Hall Group (2024) →
  3. One in four US employees report lacking career advancement opportunities; 48% of employees who participated in mentorship programs report high job satisfaction versus 29% of non-participants, and access to advancement opportunities ranges from 33% at organizations under 10 employees to 74% at those with 1,000+. Source: Gallup (2025) →
  4. The right combination of digital transformation actions can unlock as much as US$1.25 trillion in additional market capitalization across Fortune 500 companies, while the wrong combinations put more than US$1.5 trillion at risk; companies with all three core factors (strategy, aligned technology, and change capability) saw a 5% market-value lift relative to peers. Source: Deloitte (2023) →
Kabir B. · Director of Mobile Engineering · Delhi

Kabir directs mobile engineering at Digital Heroes across iOS, Android and cross platform builds. Day to day that means release trains, store review cycles, device coverage and deciding when native work is worth the extra cost. Useful reading before committing to an app roadmap.

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

FAQ

Frequently asked questions

How do we avoid rebuilding the same bottleneck we have now?

Specify the path where nobody touches the candidate first, and design the coordinator's exception handling second. Knockout questions disposition on submission, apply by text captures workers who will not finish a desktop form, interview slots self schedule, and bulk actions move hundreds of records at once. If the first screen anyone designs is a candidate detail page, the project has already reverted to the considered hiring model that made your incumbent too slow.

What should we insist on in a migration from Greenhouse or Bullhorn?

Resumes, recruiter notes, stage history and dispositions with their original dates and authors, not just contacts and emails. Disposition history is what an audit asks for and stage history is what your time to fill reporting depends on, so a migration that lands names only has discarded the asset. Reconcile after load per requisition and per disposition reason rather than in aggregate, because an aggregate count comfortably hides a whole category that failed to map.

How should duplicate candidates be handled at high volume?

With tiered matching and a confidence score rather than a single rule. The same hourly candidate applies repeatedly with different phone numbers, nicknames and board rewritten email addresses. Merging too loosely is dangerous when one record carries a failed background check; merging too tightly destroys your redeployment pool. Auto merge only on strong signals, route ambiguous cases to a review queue, and keep the source application records so a merge can be reversed when it turns out to be wrong.

Why do candidates get stuck after a background check?

Usually a lost webhook. Providers deliver a result once, and a deployment or a brief outage during that delivery window loses it silently, leaving the candidate in a status nobody is watching. Persist every inbound webhook before processing it, and reconcile daily against the provider's own record of what was sent so a missed delivery is detected rather than discovered by a recruiter a week later. The same pattern applies to assessments and electronic signature.

What does an audit ready applicant flow log actually require?

A disposition with a reason code written at the moment it happens, for every candidate including those removed by automated knockout questions. Automated dispositions are the ones most often missing, because they never pass through a human. The log needs to be reconcilable against your requisitions and reportable in a form your counsel is comfortable with, which means capturing it as structured data during the flow rather than reconstructing it from stage changes afterwards.

How do we stop credentials expiring while someone is on assignment?

Model credentials as dated records tied to both the worker and the assignment, with alerts to the recruiter and the worker ahead of expiry and a hard block on assignment once lapsed. Calendar reminders and spreadsheets fail here because the person watching them is also filling requisitions. For healthcare and transportation placements this is the compliance exposure clients check first, and the block is more valuable than the alert because it does not rely on anyone acting.

Would Fountain or Paradox solve this without a build?

Possibly, and it is worth testing before committing to a project. Both are built for high volume hourly hiring and will beat a custom first release on time to value if your problem is confined to the front of the funnel. Building becomes the better answer when seat costs climb with headcount, when staffing economics such as submissions, placements and margin have no home in your stack, or when you are already running three add ons to do what one system should.

What happens when ten thousand applications arrive in an hour?

In a system not built for it, duplicates multiply, webhooks are dropped, job board syncs start skipping records and the queue backs up until someone notices. This is the question to put to any prospective developer, because it is invisible in a demo built against a hundred candidates. You want a specific answer about ingest queuing, idempotent processing, dedupe under load and what degrades first, not an assurance that the system scales.

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.
Does it matter which tech stack the agency wants to use?
Yes, but not in the way most buyers expect: the goal is boring, popular technology such as React, Node.js or Python, and PostgreSQL, because any future team can maintain it and hiring a replacement developer takes days, not months. The red flag is an agency-proprietary framework or an unusual language, which welds you to that one vendor no matter what your contract says about code ownership. A useful test: could you find three freelancers fluent in this stack within a week? If not, push back.
Can custom software connect to the tools we already use, like QuickBooks, Stripe, and Google Workspace?
Yes, and connecting your existing tools is one of the main reasons to build custom: mainstream platforms like QuickBooks, Stripe, Shopify, and Google Workspace all publish documented APIs. Budget 1 to 3 weeks of work per integration depending on API quality and how much data flows in both directions. Ask any vendor whether they have integrated with your specific tools before, because quirks like QuickBooks' OAuth token handling and API rate limits get learned on someone's project, and it should not be yours.
When does Gusto's per-person pricing stop making sense?
Gusto's Plus plan lists at $80 per month plus $12 per person, so a 250-employee company pays roughly $37,000 a year for workflows it cannot change. The common fix is keeping Gusto for payroll, which it does well, and building custom software for onboarding, scheduling, and PTO around it through Gusto's API. That caps the subscription at payroll only while the workflows finally match how you operate.
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 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.
At what point does a company outgrow BambooHR?
The breaking point Digital Heroes sees most often is 100 to 250 employees, when approval chains, multi-state rules, or shift scheduling stop fitting BambooHR's fixed workflows and HR starts managing exceptions in spreadsheets. If your team exports to Excel every week to do something the platform cannot, you have already outgrown it. Per-employee pricing compounds the problem, since the bill grows with every hire while the feature gaps stay the same.
How long until custom HR software pays for itself?
For companies over 100 employees, payback typically lands in 24 to 36 months across Digital Heroes projects, driven by cancelled per-seat subscriptions and recovered HR admin hours. A 200-person company spending $40,000 a year on HR tools plus a day a week of manual workarounds crosses even faster. Under 50 employees the math usually favors staying on Gusto or BambooHR, and an honest agency will tell you that.
How long does it take to build a custom web or mobile app from scratch?
Plan on 8 to 16 weeks for a focused first version and 4 to 9 months for a larger platform, which is the typical spread across Digital Heroes builds. The first 2 to 3 weeks go to discovery and design before any production code ships. The two things that stretch timelines most are integrations with legacy systems and slow feedback from your side, not developer speed.
Should we build our own payroll engine or integrate with a payroll provider?
Integrate, almost without exception; payroll tax across US federal, state, and local jurisdictions is a compliance business rather than a software feature, and getting it wrong creates real liability. Keep ADP, Gusto, or Paychex as the engine and build your workflows on top through their APIs. Nearly every payroll-connected platform Digital Heroes has delivered integrates instead of rebuilding, and the exceptions regretted it.
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.
Who can build a custom HR software system?

Digital Heroes builds custom HR software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other HR software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

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?