Problems & solutions · Custom Software

Public Benefits Eligibility Software Problems: The 7 That Cost Real Money, and How to Avoid Them

Public Benefits Eligibility Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure in eligibility software is a determination the system can produce but cannot explain. A household is found ineligible, the worker's screen shows a countable income figure, and nobody in the hearing room can say which pay stubs were counted, over what period, with what conversion factor, against which deduction set, under the rules in force on the determination date rather than today. The explanation is the legal product in this domain, because every determination is appealable and the burden of showing the calculation sits with the agency. An agency that cannot produce it loses hearings it should have won, then absorbs the reversal work, the reinstatement work and the corrective action that follows.

Why do projects scope a rules engine that cannot explain itself?

Because the requirement is stated as accuracy and delivered as an answer. Everybody agrees the determination must be correct. Almost nobody writes down that it must also emit a structured trace naming each rule applied, the values it consumed and the source of every value, and if that is not a written requirement it will not be built.

The second cause is architectural drift. Policy logic ends up spread across configuration screens, application code and interface behaviour, so no single artefact represents what the rule was on a Tuesday in March. Each individual placement was reasonable at the time. The sum is a system with no authoritative statement of its own policy.

The third is that rules get stored as configuration fields that are overwritten on update. A legislature raises an asset limit, a federal adjustment moves a standard deduction, a waiver expires, a disaster declaration triggers temporary rules for one region. Each has an effective date, and a system that overwrites loses its own history. A redetermination for a past period then computes with current numbers, which produces overpayment findings that are not real and appeal losses that are.

The fix is to hold every rule as a versioned artefact with effective dates, evaluate against the period under determination rather than the present, and emit the trace alongside the result. That has an unglamorous benefit directors care about more than hearings: when policy changes you change one versioned artefact, and you can replay a sample of real cases against both versions before it goes live.

What goes wrong with case conversion and the household model?

The defining conversion mistake is forcing one household model. A single application can touch Medicaid, food assistance, cash assistance and child care subsidy. Medicaid for most adults and children uses a tax based household construction with its own income methodology, food assistance uses who purchases and prepares food together, and child care subsidy uses its own definition again. The same three people can be one household in one programme and two in another, with different countable income in each.

Systems that maintain a shared countable income field and adjust it per programme are where the subtle errors found in quality control samples come from. They are also close to impossible to unwind later, because every downstream calculation inherits the shared field.

Model the person and the relationships once, then let each programme construct its own household view from that graph under its own rules. Store income as evidence rather than as a computed number: a pay stub with an amount, a date, a frequency and a source, converted by each programme under its own methodology at determination time. It is more work to build and it is the only design that survives a quality control review.

Conversion has its own version of the same trap. Legacy case data will carry a household structure that reflects whatever the old system needed, and importing that structure directly imports the defect. Profile it first, reconstruct people and relationships from what the data actually supports, and mark anything you had to infer, because a worker at a hearing needs to know which facts came from the household and which came from a conversion assumption.

Why do data source interfaces break after launch?

Because the engineering was never the hard part. Consuming a wage interface is a small piece of work. Obtaining the agreement, the test environment and the production credentials is not, and it is rarely shown on a developer's critical path chart. Interfaces then break for institutional reasons rather than technical ones: an agreement lapses at renewal, a partner agency reorganises and the contact who approved the connection has gone, credentials rotate on a schedule nobody communicated.

The technical breakages are ordinary. A source changes a field layout. A batch window moves. A partner starts returning a new status code for a case type that used to return nothing. None of these announce themselves.

What survives is monitoring built for silence rather than error. A wage source that stops responding looks exactly like a month where nobody had wages, and that misreading directly causes wrongful terminations. Instrument every source with a per source success and volume expectation, alert when the volume drops out of band, and record for every individual which sources were checked and what each returned. That record has a second use: when a determination is challenged, it shows the agency attempted verification properly.

Start the agreement work in week one of the project, not at integration time. It is the most common schedule risk in this domain and it is almost never on the engineering plan.

What happens when notice and language obligations are not covered?

The call centre absorbs it, and then the hearing officer does. Adequate and timely notice is a due process requirement, and the notice is also the first artefact a hearing officer reads. Most agency notices cite a regulation, state a conclusion, and leave the recipient unable to tell what to do about it.

The failure that costs most is a notice generated separately from the determination. If the letter is assembled from its own template logic rather than from the determination trace, the reasons in the letter and the reasons in the system will diverge, and the one that diverges is the one the hearing officer reads aloud.

Generate notices from the same trace that produced the decision. Template by notice type in plain language, translate into the languages your population actually speaks rather than the two you have always used, and produce accessible formats. Archive every notice exactly as sent with its delivery record, because the question at hearing is frequently not what you decided but whether the person was told properly and when.

Renewals sit in the same territory. Federal rules require states to attempt a Medicaid renewal using information already available before asking the enrollee for anything. When that works the household never sees a form. When it does not, a packet goes out, it is missed, and a person who is still eligible loses coverage procedurally. The 2023 unwinding of the continuous enrolment condition made the mechanism visible nationally, with CMS identifying states running the ex parte attempt at household level rather than individual level, requiring pauses in procedural terminations and reinstatements. That was a data model defect, not a policy misunderstanding, and any build should run the attempt per individual, per source, with the result logged.

Should you build custom or configure what you already own?

Do not replace the integrated eligibility system with a custom build. The programme risk is enormous, the funding process alone runs longer than most software projects, and the states that have tried have made national news for the wrong reasons. Any firm quoting you one should be declined on that basis.

Configure the incumbent where the incumbent can genuinely reach. Merative Curam, Conduent and Deloitte implementations all have configuration surface, and Salesforce Public Sector Solutions is a reasonable platform for worker facing workflow if your agency already runs on it. If your problem is queueing, assignment or a screen layout, that is a configuration conversation and possibly a two week engagement rather than a two year one. Some of the offices we have assessed did not need software at all, they needed workload distribution changed.

Build modules, because that is now the sanctioned architecture. The components with the clearest return are the ones where the incumbent's roadmap is slow and the policy is yours: the versioned rules and explanation service, ex parte renewal, notice generation, and document intake with verification matching. Treat the rules engine as something you own regardless of platform, because that is where policy lives. Build nothing that quietly reimplements policy the incumbent already applies, because two engines applying the same rule will disagree eventually and you will not know which is right.

How do hidden costs get into the quote?

  • Programme count. Medicaid alone is one shape. Add food assistance, cash assistance and child care and you have four rule sets and four household constructions, not one system with four flags.
  • Federal tax information. If the component touches data covered by IRS Publication 1075, the environment, staffing and logging controls become a security programme with its own review cycle.
  • Data source agreements. Quoted as integration days, delivered as months of interagency negotiation.
  • Certification. Work inside a Medicaid eligibility programme sits under CMS streamlined modular certification, which shapes what you build rather than only what you document.
  • Language and accessibility. Broader here than for a typical government portal, and far cheaper designed in than retrofitted.
  • Policy staff time. Extracting rules and validating replays needs your policy analysts, and their hours are almost never in the plan.

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

The builds that work drive the worker screen, the notice and the hearing packet from one determination trace. If those are three outputs assembled separately they will disagree, and the disagreement will surface in the worst room. Ask any developer what they intend to do with the trace, and treat a vague answer as disqualifying.

They measure the right number. For renewal work that is the share of renewals completed without contacting the household, per individual, tracked weekly. For document work it is the share of verification requirements cleared electronically before anyone asks the household. Neither is a vanity metric and both drive design decisions that a feature list will not.

They use automation where it removes clerical load rather than where it makes decisions. Classifying an incoming pay stub, matching it to the right case and the right open verification requirement, and extracting the gross amounts for a worker to confirm is a genuinely appropriate use of document models in a benefits agency. The determination stays with the versioned rules service, because a determination that cannot cite the rule it applied is not defensible however it was produced.

They replay before they release. A sample of real cases run against both the current and proposed rule versions, with every difference explained, is the only credible way to ship a policy change into a system that decides eligibility.

And they settle ownership before kickoff, in writing: the repository, the rules artefacts and the environments, with the right to move the work to another firm. At Digital Heroes the agency owns the code from the first commit. Eligibility rules are public policy, and locking them inside a vendor's proprietary configuration is how agencies end up waiting two quarters to implement a change the legislature made in an afternoon.

Research & sources

The evidence behind this guide

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

  1. Retailers improving Core Web Vitals saw measurable gains: Vodafone improved LCP by 31% for 8% more sales, Lazada saw a 16.9% mobile conversion increase, and Cdiscount saw a 6% Black Friday revenue uplift. Source: web.dev (Google Chrome team) (2021) →
  2. 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) →
  3. In the Flexera 2025 State of ITAM report, respondents reported roughly 33% of SaaS spend is wasted, underscoring how paying for off-the-shelf seats and tiers that go unused erodes the supposed cost advantage of generic SaaS. Source: Flexera (2025) →
  4. 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) →
Tara K. · React Native Lead · Delhi

Tara leads React Native work at Digital Heroes, building apps that share one codebase across iOS and Android. She writes about where that sharing pays off, where native modules become unavoidable, and how to judge whether cross platform is the right call for a given product.

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

FAQ

Frequently asked questions

Why do we lose fair hearings on determinations that were actually correct?
Because correctness is not what is being tested in the room. The agency has to show which rules were applied, what values they consumed, where each value came from, and what the policy was on the determination date rather than today. If rules are stored as configuration overwritten on update, the system has lost its own history, and a redetermination for a past period silently computes with current numbers. Requiring a structured determination trace, and generating the hearing packet from it, is the fix.
How should a household be modelled across Medicaid, SNAP, TANF and child care?
Do not model a household at all. Model people and relationships once, then let each programme construct its own household view under its own rules, and store income as evidence rather than as a shared computed figure so each programme converts it under its own methodology. Medicaid uses a tax based construction, food assistance uses who purchases and prepares food together, and child care uses its own definition again, so a shared countable income field guarantees the subtle errors that show up in quality control samples.
Why does ex parte renewal keep failing even when it is implemented?
Usually because the attempt runs at case level when the rule operates on the individual, which is precisely what CMS identified across multiple states during the 2023 unwinding and which required pauses in procedural terminations and reinstatements. The second cause is silent source failure: a wage interface that stops responding looks identical to a month with no wages, so people are asked for documents or terminated because a feed died. Run the attempt per person per source and log what each source returned.
What is realistically buildable without launching a multi year programme?
Modular components around the system of record: a versioned rules and determination trace service, ex parte renewal automation with source by source logging, a notice generation and archive engine, or document intake with verification matching. Each of those is a defined piece of work with a measurable outcome. A full integrated eligibility replacement is among the largest state IT programmes in existence, runs for years under advance planning document funding and federal review, and no mid sized firm should be quoting one.
How does IRS Publication 1075 change the shape of the project?
If a component touches federal tax information, Publication 1075 controls apply to the hosting environment, the people with access, logging and physical security, which turns part of the build into a security programme with its own review cycle rather than a configuration task. Establish the data boundary during design, because keeping tax data out of a component entirely is frequently cheaper than bringing that component into scope. Deciding this late is one of the more expensive corrections available.
What should notices look like in a system designed to survive appeals?
Generated from the same determination trace that produced the decision, so the reasons in the letter match the reasons in the system exactly. Plain language rather than a regulation citation and a conclusion. The languages your population actually speaks, not the two you have always produced. Accessible formats. And a permanent archive of every notice as sent with its delivery record, because at hearing the question is often not what you decided but whether the person was properly told and when.
Where does AI genuinely help, and where is it a liability?
It helps in document handling: classifying an incoming pay stub, matching it to the right case and open verification requirement, and extracting gross amounts for a worker to confirm rather than key. That removes real clerical load without touching eligibility. It is a liability anywhere near the determination itself, because a decision that cannot cite the rule it applied is not defensible at hearing regardless of how it was produced. Keep determinations in the versioned rules service.
What is the most common schedule risk on eligibility projects?
Not engineering. Obtaining data source agreements, test environments and production credentials from partner agencies, which is institutional work with no reliable timeline and is rarely shown on a developer's plan. Start it in week one. The second most common is policy staff availability, since extracting rules and validating replays needs your analysts rather than your vendor, and their hours are almost never budgeted. Both risks are manageable if named early and unmanageable if discovered at integration time.
What does a $50,000 custom software budget actually buy?
One core workflow done properly: 10 to 15 screens, two or three user roles, a couple of integrations, an admin panel, and automated tests, delivered in roughly 12 to 14 weeks. What it does not buy is that workflow plus a mobile app plus AI features plus five more integrations. The discipline of picking the one workflow that matters is what separates $50,000 projects that ship from $50,000 projects that stall at 70% complete.
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.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
Will custom software work with the tools we already use, like QuickBooks and Stripe?
Yes, and this is one of custom software's genuine advantages: QuickBooks, Stripe, Shopify, and most mainstream business tools publish documented APIs built for exactly this. Expect each standard integration to add one to two weeks of build time, and be suspicious of any quote that lists five integrations without asking what data flows in which direction. The hard cases are legacy systems with no API, which is a question to raise in discovery, not in week nine.
Couldn't I just build my app in Bubble or another no-code tool instead of hiring an agency?
For validating an idea with real users, yes, and we tell clients that honestly. The walls come later: Bubble apps cannot be exported as code to run anywhere else, performance drops on complex data operations, and usage-based pricing climbs as you grow. A meaningful share of Digital Heroes custom builds are rebuilds of no-code MVPs that proved the business worked, which is the system operating as intended: validate cheap, then build the version that scales.
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.
How many people should be working on my software project?
Three to five for a typical focused build: a project lead, one or two engineers, a designer, and part-time QA, which is the standard shape across 2,000+ Digital Heroes projects. Larger platforms justify 6 to 10, but a ten-person team on a small first version usually signals bill padding rather than horsepower. What predicts success is whether a senior engineer is writing your code daily, not the headcount on the proposal.
What happens if I stop paying for maintenance after launch?
Nothing breaks on day one, which is what makes it dangerous. Within 6 to 18 months, unpatched dependencies accumulate known vulnerabilities, an integrated API like Stripe ships a breaking change, and the first fix requires a developer to relearn a stale codebase at full price. Budget 15 to 20% of the build cost per year for upkeep; it is the difference between a $500 patch and a $15,000 emergency.
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.
Who can build a custom software system?

Digital Heroes builds custom 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 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?