Problems & solutions · Internal Tools

Spectrum License Management Software Problems: The 5 That Cost Real Money, and How to Avoid Them

Spectrum License Management Software product interface illustration showing common problems and fixes.
The short answer

The most expensive failure in a spectrum licence build is treating buildout evidence as a document rather than as data. A coverage map exported to PDF and emailed to the regulatory lead proves nothing two years later, because the propagation model, terrain data, clutter settings and the population intersection behind that picture are gone. When a showing is challenged, you are rebuilding a calculation from an image. The licence at stake is often the most valuable asset the company owns, and the failure mode is automatic termination rather than a fine.

Why does trying to build a coverage planning tool sink these projects?

The obligation is a coverage number, so the first specification tends to include coverage prediction. Within a month somebody is asking about terrain databases, clutter classification and diffraction models, and a project that should have shipped in eight to twelve weeks has become an attempt to rebuild propagation engineering.

This is specific to spectrum because the person feeling the pain is usually in regulatory or legal, not in radio engineering, and from that seat the coverage number and the obligation look like one problem. They are two. LS telcom and ATDI represent decades of physics and validation work, and there is no version of this where rebuilding that pays.

Write the boundary before quoting. The planning environment predicts coverage. Your platform holds the licence, the authorisation area as real geography, the obligation with its rule, threshold and deadline, the evidence record with its parameters, and the owner. Coverage arrives as an import, not as a calculation you perform.

The same discipline applies at the other end. Comsearch and the other coordinators do coordination properly and there is no reason to take that in house, and a spectrum access system administrator such as Federated Wireless occupies a regulated role you cannot replicate. Your platform consumes what those parties produce and holds your side of the file. Say that in the statement of work and the scope stops drifting.

What goes wrong when a holdings spreadsheet and acquired filing history are migrated?

The spreadsheet imports in an afternoon and is the smaller half of the problem. It carries a column called notes containing conditions, exceptions and half remembered obligations in prose, and prose cannot be tracked. Somebody has to read every row and decide what is a deadline, what is a condition on an asset and what is a comment.

Acquired portfolios are the real cost. A company that bought a regional operator inherits call signs, coordination correspondence, conditions accepted during coordination and the specific orders that granted the licences, and that material frequently exists as boxes and as inboxes belonging to people who have left. There is no import for it. Somebody reads it.

The second failure is subtler. Entity names change through acquisitions, so a licence granted to a company that was later merged sits in the regulator's database under a name nobody internally uses. Migrating your spreadsheet without reconciling entity names produces a register that looks complete and omits exactly the holdings most at risk of being forgotten.

Sequence it to expose the gap early. Export your current holdings sheet and pull the regulator's record for every entity name you have ever operated under on the same day, then compare. That takes an afternoon and produces both your business case and your migration scope. Start with the services carrying buildout or performance risk and leave stable site licences on the existing process for a phase. Budget the historical file reading as a named line with a named reader rather than hiding it inside development.

Why do regulator data feeds and network inventory integrations break after launch?

The regulator's public data is authoritative and it is not tidy. Entity naming varies, call sign history includes assignments and administrative changes, and pending applications appear and disappear as they are processed. A reconciliation built against clean assumptions produces a wave of false exceptions in month two, the team stops reading the exception report, and the feature is dead while still technically running.

Network inventory breaks the other way. Linking licences to the sites and equipment actually operating under them is what surfaces a decommissioned site, and that link depends on identifiers maintained by the network team for their own purposes. Sites get renamed during consolidation, a new inventory system arrives, and the join quietly stops matching. Nothing errors, because a licence with no linked sites looks the same as a licence whose sites are unmatched.

Fix both with the same approach. Tune the reconciliation to your entity name list, including historic names, and treat a persistently noisy exception class as a defect to fix rather than a report to ignore. Report unmatched licences and unmatched sites as their own metric, so the join quality is visible rather than assumed. And where a spectrum access system governs assignments in shared spectrum, consume its records so your view of what you are authorised to transmit matches what is actually being granted rather than what you believe you configured.

What happens when coordination conditions and discontinuance are not covered?

Coordination is how interference protection is established, and the value of the process is entirely in the record it produces. Terrestrial microwave coordination follows the recognised industry bulletin process, and if a neighbouring licensee later claims harmful interference, your defence is the notice you sent and their lack of objection within the window. When that correspondence lives in an engineer's inbox, it leaves when the engineer does.

The failure that costs most is not the missing file. It is the condition inside it. An azimuth restriction or a power limit accepted during coordination is a constraint on that path forever, and a future engineer with no visibility of it will change an antenna and quietly break an agreement made years earlier. That is not a document management problem. It is a constraint that has to be enforceable at the point of change.

Discontinuance is the second uncovered risk and it is the quietest one in this category. Permanent discontinuance of operation can terminate an authorisation, and a site removed during a consolidation and never rebuilt puts a licence at risk without anyone filing anything or noticing anything. The spreadsheet has no view of operational status because it was never joined to the network.

Attach correspondence to the asset rather than to a person, with response windows tracked as obligations carrying a clock rather than as emails awaiting somebody's memory. Record accepted conditions as constraints on the path or site so a change request meets them. And link licences to operating sites so a decommission raises a flag against every authorisation depending on it.

Should you build custom or configure what you already own?

Keep the calendar and the shared folder if you hold a dozen site authorisations with no performance conditions, no leases and one regulator. That is a genuinely defensible answer at that size and we would rather you spent the money on the network. Adding a shared reminder for each renewal and a single owner for the folder closes most of the practical risk.

Keep buying where the product is the specialism. LS telcom and ATDI are your planning environment and should stay so. Comsearch runs coordination and there is no case for replicating it. Federated Wireless and the other spectrum access system administrators occupy a regulated role. None of that is a gap in your operation.

Build when two or more hold. You carry performance or buildout obligations that require evidence rather than a filing. Your holdings span more than one service type or more than one acquired entity. Coordination correspondence is your interference defence and it lives in individual inboxes. You lease spectrum in or out and carry obligations sitting in agreements rather than on the licence. Or one person is the only reliable index of what you hold and when it is due. The tipping point is that planning tools model propagation and coordinators manage notices, while the obligation register that sits above both is made of your holdings, your acquisitions and your specific grants, so nobody sells it.

How do hidden costs get into the quote?

Historical file reading is the largest and it is almost never in a development quote, because it is not development. Someone has to read boxes and inboxes from acquired markets and turn prose into obligations, conditions and evidence records. Price it as a named line with a named person and an estimated volume, or it will be discovered as a delay rather than a cost.

Service type count is the second. A broadcast authorisation, a mobile market licence, a site licence and a microwave path are four different obligation shapes with four different evidence requirements, and a quote written around one of them will be reopened when the second arrives.

Coverage evidence is the third and it is the heaviest engineering component. Importing a geospatial export with its model parameters and computing a covered population against a licensed area is real work, and a quote that prices it as attaching a map has priced a filing cabinet.

Then the quieter ones. Multiple regulators if you operate across borders, since each publishes data differently and some publish very little. Ongoing reconciliation tuning, because entity naming edge cases keep arriving. And the internal time to agree who owns each obligation, which sounds administrative and is the decision the whole system depends on.

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

Ask a prospective developer to model an obligation on a whiteboard. The right picture has a licence, an authorisation area as real geography, an obligation with a rule, a threshold and a deadline, an evidence record carrying its parameters, and a named owner. Anyone who draws a task list with due dates has built a project tracker, and it will fail at the first coverage showing.

Ask how coverage results come in from your planning environment. If the answer involves a screenshot or a PDF, the evidence will not be reproducible at the only moment it matters. The workable answer handles a geospatial export with the propagation model, terrain and clutter settings recorded as data alongside the result and a timestamp.

Ask whether they have worked with public regulatory data feeds. Reconciling against a licensing database sounds trivial and is not, because entity naming, call sign history and pending applications all have edge cases that only appear at volume. A developer who has done it will ask about your acquired entity names before quoting rather than after.

Settle ownership of the code, the repository and the hosting accounts in writing before kickoff. At Digital Heroes it is yours from the first commit. This is a small, fast build relative to the asset it protects, which is unusual in telecommunications and worth saying plainly, and the register it produces should outlive every vendor relationship including ours.

Research & sources

The evidence behind this guide

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

  1. The average developer spends more than 17 hours a week dealing with maintenance issues such as debugging and refactoring, and about four of those hours on 'bad code' - waste that equates to nearly $85 billion annually worldwide in opportunity cost. Source: Stripe (2018) →
  2. Almost half of all the activities people are paid almost $16 trillion in wages to do in the global economy have the potential to be automated by adapting currently demonstrated technologies. Source: McKinsey Global Institute (2017) →
  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. Qualtrics research (Q3 2023 survey of ~28,400 consumers across 26 countries) estimated bad customer experiences put roughly $3.7 trillion in global revenue at risk annually, a 19% jump from the prior year's $3.1 trillion; 64% of customers say they will switch companies over poor service regardless of how much they like the product. Source: Qualtrics XM Institute (via Forbes) (2024) →
Beau S. · Performance Marketing Manager · APAC · Sydney

Beau runs performance marketing for APAC clients, which at an agency that builds the underlying software means he sees both the ad spend and the tracking behind it. He writes about measurement: what a platform can honestly report, what it cannot, and how that changes a budget decision.

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

FAQ

Frequently asked questions

What is the fastest way to size this before committing budget?

Export your current holdings sheet and pull the regulator's record for every entity name your company has ever operated under, on the same day, then compare the two lists. That exercise takes an afternoon and produces both the business case and the migration scope. The size of the gap, particularly for acquired entities, tells you whether this is a tidy up or a genuine exposure.

Why does our record disagree with the regulator's database?

Usually because assignments and transfers from acquisitions process on their own timetable, consummation notices get filed late, and administrative changes happen without anyone internally being told. Call signs also move between entity names that nobody uses day to day. The gap tends to surface during financing or diligence, which is the worst possible moment, and a scheduled reconciliation turns that from archaeology into a report that is always current.

How should coverage evidence be stored so it survives a challenge?

As data, not as a picture. Import the coverage result from your planning environment as a geospatial export, record the propagation model, terrain data and clutter settings used, compute the covered population against the licensed area, and timestamp the whole set. A map exported to PDF cannot be reproduced under challenge, and reconstructing the calculation years later from an image is not a defence anyone wants to mount.

What do we do with conditions accepted during coordination?

Record them as constraints on the specific path or site rather than as text in a stored letter. An azimuth restriction or a power limit agreed during coordination binds that asset indefinitely, and a future engineer with no visibility of it will change an antenna and break the agreement without knowing it existed. The test of a good design is whether a proposed change meets the constraint before the change is approved.

How does a decommissioned site put a licence at risk?

Permanent discontinuance of operation can terminate an authorisation, and the failure mode is silence rather than a notice. A site removed during a network consolidation and never rebuilt can jeopardise a licence without anyone filing or noticing anything, because a spreadsheet has no view of operational status. Linking licences to the sites actually operating under them, sourced from network inventory, is what surfaces it while there is still time to act.

Why does the exception report get ignored after a couple of months?

Because the reconciliation was tuned against clean assumptions and produces false exceptions at volume. Entity naming variants, call sign history and pending applications all generate noise, and a report that is mostly noise stops being read within weeks. Treat a persistently noisy exception class as a defect to fix rather than a report to filter, and track unmatched licences and unmatched sites as their own visible metric.

Do spectrum leases need to be in the same system?

Yes, because the licence holder generally remains responsible to the regulator regardless of who is operating. Hold leases as structured terms with their own obligations and expiry dates linked to the underlying authorisation, rather than as documents in a folder, so a sublease renewal is a tracked deadline with an owner. Where a spectrum access system governs assignments, consume its records so your view of authorised operation matches what is actually granted.

Who should own each obligation once the system exists?

A named person with a deputy, agreed before go live rather than after. The most common reason these systems decay is that obligations are created with a team as the owner, which means nobody. Deciding ownership sounds administrative and is the decision everything else depends on, because an alert with no owner is a notification and an alert with an owner is a control.

How long does it take to build an internal tool from scratch?
A working first version typically ships in 4 to 8 weeks, and larger multi-module tools run 10 to 16 weeks. Across Digital Heroes internal tool projects the schedule splits into roughly one week of process mapping, 3 to 6 weeks of build, and 1 to 2 weeks of testing with your actual staff. The most common delay is not development but waiting on the client for sample data and workflow decisions, so name one internal owner before kickoff.
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 many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
How do I know when spreadsheets are no longer enough to run my operations?
Replace the spreadsheet once more than three people edit it, versions travel by email, or a single broken formula could cost real money. Other reliable signals: staff keep personal shadow copies, month-end reporting takes days of manual assembly, and nobody can say who changed a number or why. In Digital Heroes discovery calls the tipping point is almost always a specific expensive error, a mispriced quote, a missed order, or payroll built on a tab someone sorted wrong.
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.
Can a custom internal tool connect to QuickBooks, Salesforce, and the other software we already use?
Yes, and integrations are usually the strongest argument for going custom instead of chaining tools together with Zapier. QuickBooks, Salesforce, Shopify, Stripe, Slack, and Google Workspace all have mature APIs, and each integration typically adds $1,500 to $5,000 to a Digital Heroes build depending on how much two-way syncing you need. The honest caveat is legacy industry software without an API, which may need file-based imports instead of a live connection, so list every system in the first conversation.
How do I vet a development agency for an internal tools project?
Ask to see two or three internal tools they have shipped and whether those clients still use them daily, because internal tools fail on adoption, not code quality. Good signs: they ask to see your current spreadsheet or process before quoting, they propose a phased build instead of one big launch, and they spell out who handles training and post-launch changes. Walk away from anyone who gives a fixed price before seeing your actual workflow, since internal tools live or die on process details.
Is a freelancer or an agency better for building an internal tool?
A solid freelancer works for a single-workflow tool under roughly $10,000, if you accept that one person holds all the knowledge. An agency earns its premium once the tool spans departments or integrations, because you get a developer, a designer, and a project manager plus continuity when someone leaves or gets sick. The hidden freelancer cost appears 18 months later when you need changes and the original builder has moved on, a rescue situation Digital Heroes is hired for regularly.
Can we start on Airtable or Retool now and move to custom software later?
Yes, and it is often the smartest sequence: run the workflow on Airtable or Retool for 6 to 12 months to learn what you actually need, then go custom once the process stabilizes. The no-code version becomes free requirements documentation, and its data exports cleanly into a custom database. The one risk is waiting too long, because teams stack automations and workarounds until migration becomes a project of its own, so set a concrete trigger in advance, such as hitting Airtable's 50,000-record Team plan cap.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
How do I calculate whether custom software will pay for itself?
Divide the build cost by the monthly benefit, where benefit is hours saved times loaded hourly cost, plus subscription fees replaced, plus any revenue the software unlocks. Three staff saving 10 hours a week each at a $40 loaded rate is about $62,000 a year, which pays back a $60,000 build in roughly 12 months. Across Digital Heroes internal-tool projects, 12 to 24 months is the normal payback range, and anything projecting under 6 months usually means the spreadsheet is hiding costs.
How do we migrate years of spreadsheet or Airtable data into a new internal tool?
Migration is a standard part of the build, not a separate project: the agency writes import scripts that clean, deduplicate, and map your existing rows into the new database. On typical spreadsheet and Airtable histories, Digital Heroes budgets 3 to 10 extra days, most of it spent resolving inconsistencies like the same customer spelled four different ways. The safe sequence is a trial migration first, a review of flagged conflicts with your team, then final cutover over a weekend so nobody loses a working day.
Who can build a custom internal tools system?

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