Problems & solutions · Custom Software

Public Broadcasting Station Software Problems: The 7 That Quietly Cost Revenue, and How to Avoid Them

Public Broadcasting Station Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure at a public radio or television station is the one nobody sees happen: sustaining members who stop giving because a stored card expired or was reissued, not because they decided to leave. The system retries once, sends an email that goes unread, and the gift disappears from the file. Nobody notices until an annual comparison, by which point the station is paying full acquisition cost to win back donors it never actually lost. When sustainers carry most of your individual giving, that silent monthly attrition is the largest single leak in the building, and almost no station can state its involuntary churn number from memory.

Why does the project get scoped as a database replacement?

The meeting always starts in the same place. Somebody says the membership database is the problem, and everybody agrees, because it is the screen they stare at. So the scope becomes replace Allegiance, and sometimes replace the traffic system too while we are in there.

That is the biggest scope failure in this category, and it is specific to stations because you are running two businesses on two ledgers. Allegiance knows members and pledges and knows nothing about what aired, by design. WideOrbit Traffic knows spots, avails and logs, and has no concept of a supporter, also by design. Myers ProTrack is genuinely strong on programme rights and scheduling for television and was never built to bill a monthly donor. None of them is broken. The station is reconciling between them by hand, and the pain of that reconciliation gets blamed on whichever system the complainer looks at most.

Replacing traffic is the most expensive version of this mistake. Spot scheduling, avails and log reconciliation are a large, mature problem with a competent incumbent and almost no upside in rebuilding. The fix is a scoping rule you set before you talk to anyone: the supporter side is where the leak lives, so that is where custom work goes, and the broadcast side gets integrated rather than replaced. Write that into the brief, and treat any proposal that opens with rebuilding your log as evidence the developer has not understood the problem.

What goes wrong when you migrate twenty years of donor history?

Coded gift types nobody can explain. Long-lived membership databases accumulate campaign codes, appeal codes, adjustment types and premium codes that meant something precise to a development assistant who left in 2011. The list is usually several hundred entries long, a third of them used once, and a handful carrying real meaning that the current staff assume rather than know.

Teams treat this as a technical import and it is not. It is a decision exercise. Map a code wrong and you either lose the ability to compare year over year giving, or you inherit a distinction that will confuse everyone for another decade. Worse, soft credits, matched gifts, vehicle donations and in-kind support are frequently recorded as ordinary gifts with a code, so a naive import inflates your contributed revenue and your Corporation for Public Broadcasting figures with it.

The fix is to budget a structured pass with your development director as scheduled work: for each code, decide whether it carries forward as a real category, becomes an archived note on the record, or is dropped. Do it before anyone writes an import script. Everything else in the migration is comparatively routine, which is why teams underestimate this one and then lose a month to it. And keep the source records readable somewhere for reference, because a question about a 2009 gift will arrive eventually.

Why do the payment, traffic and fulfilment integrations break after launch?

Because four different integrations here fail in four different ways, and quotes usually price them as one line.

The payment gateway breaks quietly. Recurring charges return issuer decline codes that mean different things, and a system treating a soft decline for insufficient funds the same as a hard decline for a closed account will retry the wrong one and give up on the right one. Enrolment in the card networks' account updater services also has to be maintained, and when it lapses reissued cards stop updating and your recovery rate falls without an error appearing anywhere.

The as-run feed breaks structurally. Some automation and playout vendors expose an interface and others expect a scheduled file drop, and a file that does not arrive looks exactly like a day with no discrepancies. That is the worst possible failure, because it means make-goods stop generating and you find out from a sponsor.

The fulfilment vendor breaks on format. A spreadsheet layout changes, a column shifts, and eight weeks of premiums ship to the wrong addresses or not at all.

Ask three questions before signing. What runs when an expected file does not arrive. What happens when the same record is processed twice. And who receives the exception when a charge, a log line or a fulfilment confirmation cannot be matched. If the answer to the last one is nobody in particular, the queue will fill and be ignored.

What happens when underwriting copy rules and premium deductibility are not covered?

Two compliance gaps sit in this category, and both are the sort that get discovered publicly.

The first is underwriting copy. Announcements on noncommercial educational stations cannot contain calls to action, price or savings claims, or qualitative and comparative language. A seller closes a schedule, the sponsor sends copy with a call to action in it, and if copy is a free text field on a schedule with no approval state, it goes to air. In software terms the requirement is simple and frequently missed: copy is a versioned object with an approval status and a recorded approver, and every version that aired must be traceable to an approval. Confirm the specifics with your own counsel, but build on that assumption.

The second is premium deductibility. When a donor takes the tote and the mug, the acknowledgment letter must state the deductible portion net of the premium value, and a donor who declined a premium should get a letter stating the full amount. If premiums are a code on the pledge rather than an inventoried item with a value, the letter is computed wrong, and that is exactly the paperwork your auditor asks about. The same model fixes the other premium failure, which is a phone volunteer promising a mug that ran out an hour earlier because the pledge screen has no view of stock.

Should you build custom or configure what you already own?

If your station raises under roughly $1.5M from individuals, runs two drives a year and sells underwriting through one or two people, keep Allegiance or your existing donor tool, keep your traffic system, and fix the fulfilment spreadsheet instead. The reconciliation between them is a few hours a month at that size, and a few hours a month does not justify a build. Put the money into content and into a fulfilment vendor who answers email.

Even when you do build, keep the traffic system. If WideOrbit works for your spot scheduling, integrate with it. Spending your budget rebuilding avails while the supporter side stays broken is the most common way stations end up disappointed by a custom project.

The signals that justify building arrive in pairs. Sustainers are more than half your individual giving and you cannot state your monthly involuntary churn. You run radio and television, or multiple licences, and no system spans them. Underwriting is large enough that make-goods and proof of performance are handled by a person rather than by a process. Your annual federal reporting takes more than a week of somebody's life because the numbers live in four exports. Or your membership database is old enough that the vendor's roadmap and your needs stopped overlapping years ago.

How do hidden costs get into the quote?

Five ways, and most are avoidable by naming them in the brief.

Two media. Running both radio and television with different traffic systems is not a slightly larger project, it is a second set of scheduling, avails and as-run integrations against a shared supporter record.

Multiple licences and repeaters. Separate programme schedules per signal multiply the reconciliation logic.

The as-run integration itself. Every automation vendor exposes logs differently, so this is specific work per vendor rather than a generic connector, and a quote that does not name your vendor has not priced it.

Membership card and local business benefit programmes, which look like a small feature and are actually a partner directory, redemption tracking and a support burden.

And the migration decision pass described above, which is compliance and development work rather than engineering, and should be resourced and timetabled explicitly instead of assumed to be free. For anchoring, our bands: a focused first release covering the supporter record, sustainer billing with card recovery, pledge intake and premium fulfilment runs $60,000 to $120,000 in twelve to sixteen weeks. A full platform adding underwriting agreements, copy approval, as-run reconciliation, events and federal reporting exports runs $150,000 to $350,000 phased over six to twelve months.

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

Timing against the drive calendar, first and most importantly. Never cut over during a pledge drive. A first release ships in twelve to sixteen weeks, which means starting roughly five months before the drive you want to run on it. The pattern that works is going live on sustainer billing and the supporter record between drives, running one drive on the new pledge intake with the old system still available for reference, then retiring the old path afterwards.

Separation of the pledge path from the administrative system. For two weeks a year your systems take more traffic in an hour than in a normal month, entered by volunteers trained twenty minutes earlier. If a slow report can affect the form a volunteer is typing into, you will lose pledges in the 8am hour, which is the hour with the strongest ask of the day. Duplicate detection runs after the drive, not during it.

A recovery number that somebody owns. Before the build, write down what you know about lapsed sustainers this year, even if the answer is that you do not know. After launch, the development director should open one view each Monday showing sustainers at risk this month and dollars recovered last month. That number is the return on the whole project, and if nobody watches it, the feature quietly stops being used.

And ownership settled in writing before kickoff. You should hold the repository, the cloud accounts and the right to hire anyone else to continue the work. A station's donor file is the institution's most valuable asset, and it should never sit somewhere the station cannot reach on its own terms.

Research & sources

The evidence behind this guide

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

  1. McKinsey's Developer Velocity research finds best-in-class tools are the top contributor to software business success, yet only about 5% of executives ranked tools among their top-three software enablers, signaling underinvestment in developer tools (this finding originates in McKinsey's Developer Velocity study rather than the linked generative-AI article). Source: McKinsey & Company (2023) →
  2. Technical debt is the number-one frustration at work for professional developers, cited by about 63% of respondents - roughly twice the rate of the next-most-common frustration (complexity of tech stack, ~33%). Source: Stack Overflow (2024) →
  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. SaaS spend averaged $4,830 per employee (up 21.9% year over year), with large enterprises (10,000+ employees) spending roughly $284M annually and running about 660 apps, while organizations wasted an average of $21M annually on unused licenses. Source: Zylo (2025) →
Eleanor W. · VP Client Services · UK & EU · London

Eleanor leads client services across the UK and EU, which means she sits between what a client asks for and what the delivery teams can realistically build. She writes about scoping, budget conversations and the questions worth asking before a build starts.

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 find out how many sustainers we are losing to card failures right now?
Pull twelve months of recurring gift attempts from your gateway rather than from the membership database, and count the schedules that stopped without a cancellation request. Most stations have never run that query, which is why the number feels like a surprise. Do it before you scope anything, because it sizes the whole business case and it tells you whether the problem is retry logic, account updater enrolment, or donors who genuinely left.
Our traffic manager reconciles the as-run log by hand every morning. Can that be automated safely?
Yes, and the safety comes from treating a missing log as an alert rather than as a clean day. The comparison itself is straightforward once the file or interface is in place, and make-goods generate from the difference instead of from a sponsor complaint. The failure mode to design against is silence: if yesterday's log never arrived and nothing tells anyone, the system will cheerfully report no discrepancies for a week.
Can a phone volunteer see what premiums are actually still in stock?
Only if premiums are modelled as inventoried items with counts and thresholds rather than as codes on a pledge. That is the single change that stops a host or a volunteer promising a mug that ran out an hour earlier, which is the complaint that reaches the general manager six weeks later. It also lets you configure substitutions and back-order handling in advance rather than improvising them mid-drive.
Should the underwriting seller and the development director see each other's records?
Yes, and it is one of the clearest arguments for a shared supporter record. Your general manager should not walk into a renewal meeting unaware that the underwriter's marketing contact is also a $2,500 individual donor. Set field-level visibility so sensitive gift details stay with development, but let the relationship itself be visible to both. Two systems make that impossible no matter how good either one is.
What is the safest time of year to go live?
Between drives, with enough runway that the first drive on the new pledge intake is not also the first week anyone has used it. Sustainer billing and the supporter record can go live earlier and quietly, since they run continuously rather than in a spike. Keep the old pledge path available for reference through the first drive, and retire it afterwards once the numbers have been compared side by side.
Our federal reporting takes a week every year. Will custom software actually fix that?
It makes it repeatable, which is the real problem. Today the Annual Financial Report and non-federal financial support figures get assembled from several exports by whoever remembers the method, so it is slow and hard to audit. Once contributed revenue, underwriting, events and in-kind support live in one model with consistent categorisation, the report becomes a query that returns the same answer twice. Have your auditor sign off the category mapping once, then reuse it.
Do we need to replace Allegiance to fix reconciliation between systems?
Usually not. If the pain is between membership, traffic, fulfilment and reporting, a supporter layer that integrates outward addresses it without a risky rip and replace. Replacement becomes reasonable when the database itself is the constraint, meaning the vendor roadmap no longer matches your station or the data model cannot express how you actually work. Diagnose which of the two you have before deciding, because the answers have very different price tags.
How should recurring gifts be modelled if the payment provider already handles subscriptions?
Keep the charge schedule in the payment provider and keep the gift in your own model, with its own history, premium linkage, deductibility, soft credits and recovery state. If the gift only exists as a subscription object at a gateway, you lose all of that the day you change providers, and stations do change providers. A developer who proposes the gateway subscription as the record has solved billing and left the station without its own file.
Should we build an MVP first or go straight to the full system?
MVP first, for almost everyone: ship the single workflow that carries the business value in 10 to 16 weeks, learn from real users, then fund phase two from evidence instead of guesses. The caveat is that an MVP is a small version of a well-built system, not a badly built version of a big one; the data model must already support what comes next. An agency that cannot tell you what they deliberately left out of your MVP has not designed one.
How do I work out whether custom software will pay for itself?
Do the arithmetic on hours before anything else: if the system saves three staff eight hours a week at a $35 loaded hourly cost, that is about $43,700 a year against, say, a $70,000 build plus 15 to 20% annual maintenance, a payback around two years. Add revenue effects only if you can name them specifically, like faster quotes or fewer abandoned orders, not as vague growth. In our delivery experience the businesses that see payback inside 24 months are the ones automating a process they already measure.
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.
What should I have ready before I contact a development agency?
Three things, none of them technical: a one-page description of the problem in your own words, a list of the tools and spreadsheets the new system must replace or connect to, and a must-have versus nice-to-have split of features. Add a budget range, even a wide one, because it changes the conversation from fantasy to engineering. You do not need a formal specification; producing that is what a discovery phase is for.
Does the tech stack matter, and which one should I ask for?
It matters less than agencies imply, provided it is boring. A mainstream stack, something like React or Next.js on the front end, Node.js or Python behind it, and PostgreSQL for data, means thousands of developers can maintain your system if you ever change vendors. Apply one test: ask how hard it would be to hire a replacement developer for the proposed stack, and walk away from anything built on an agency's in-house framework.
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.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
Is custom software more secure than off-the-shelf SaaS?
Neither is secure by default; security tracks the practices of whoever builds and operates the system, not the model. SaaS gives you the vendor's certifications and patching but puts your data in a shared multi-tenant platform on their terms, while custom gives you full control over data residency, access rules, and compliance requirements like HIPAA, with the responsibility sitting with you and your agency. Before hiring anyone for a system holding sensitive data, ask for their security checklist: encryption at rest and in transit, an OWASP Top 10 review, role-based access, and a penetration test before launch.
How long does it take from first call to software my team can actually use?
Plan for four to six months: two to three weeks of discovery, two to four weeks of design, then a 10 to 16 week build with testing. In Digital Heroes delivery experience the schedule killer is not engineering speed but decision lag; a client who takes two weeks to approve wireframes adds two weeks to launch. Book a weekly 30-minute decision slot before kickoff and most of that risk disappears.
Should I ask for a fixed price or pay the agency hourly?
Fixed price for the first version, hourly or retainer for what comes after launch. A fixed-scope, fixed-price V1 puts the estimation risk on the agency, which is exactly where you want it while trust is unproven; hourly billing on an unscoped greenfield build is a blank check. After launch, flip it, because maintenance and small features arrive unpredictably and fixed-pricing every ticket wastes everyone's time.
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.
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?