Problems & solutions · CRM

Sports Governing Body Software Problems: The 5 That Cost You Money and Risk, and How to Avoid Them

Sports Governing Body Software workflow illustration showing common problems and fixes.
The short answer

The most expensive failure in governing body software is a stored eligible flag recomputed overnight instead of evaluated at the point of use. A safeguarding refresher that expires at midnight on Friday still reads green at the check in table on Saturday morning, so an adult whose screening has lapsed stands on the field of play with minors and nobody in the building knows. The cost is not a support ticket. It is a safeguarding incident, an insurer asking whether cover extended to a participant who was not eligible, and a board reviewing why the system your own policy relied on reported the opposite of the truth.

Why does eligibility get scoped as a status field so often?

Because on a requirements document, member is eligible reads like an attribute of a person, and every developer alive has built a users table with a status column. It is a familiar shape and it is the wrong one.

Eligibility in a national or regional body is a conjunction of records you do not own, each on its own clock. Membership paid for the season. A background check from your approved vendor, usually on a two year cycle. Safeguarding education, which under the federal SafeSport framework in the United States means a core course plus an annual refresher, and in the United Kingdom means a Disclosure and Barring Service check plus a recognised course. Concussion education in many sports. A signed code of conduct for this season. A coaching licence at the right level for the age group. For athletes, medical clearance, age verification and often a classification record. Store the conjunction as one boolean and you have taken a photograph of something that keeps moving.

There are two tells worth checking before you accept a proposal. Ask whether eligibility is evaluated live at the moment of use or written by a nightly batch, because batch is exactly how a Friday midnight expiry survives until Saturday afternoon. Then ask what the system tells a club secretary when someone fails. Ineligible is useless. Safeguarding refresher expired on 14 March, renew here, is something a volunteer can act on before the coach turns up. A third check: ask the developer whether a person can hold several roles at once, athlete in one discipline and official in another. If that question surprises them, the schema will not survive your second sport.

What goes wrong when you migrate member and club history?

Legacy membership data is not a clean list of people. It is twenty years of clubs creating records for the same human being under a maiden name, a nickname, a misspelling and a second email address, and nobody has ever had a reason to reconcile them. Import it as it stands and your new system starts with a duplicate problem it did not create and will be blamed for.

The dangerous operation is the merge that combines two different people, because it is quiet and it corrupts service history in both directions. Treat merges as reversible events with full history rather than as destructive updates, decide before you start who is allowed to approve one, and run reconciliation reports per club so the people who created the duplicates are the people who resolve them.

Migrate at least three prior seasons. Continuous service records matter for coach licensing, official grading and long service recognition, and they are the evidence base if a historic safeguarding question is ever raised. The second trap is the expiry dates themselves, which in most legacy systems were typed by hand from certificates that no longer exist. Do not import an eligible flag from the old system. Recompute eligibility from the credential records, and expect that recomputation to show that a meaningful slice of your membership was never eligible under your own written rules. That is a finding rather than a defect, and it is far better discovered during migration than by a journalist.

Why do screening and education provider integrations break after launch?

Because a background check is a lifecycle and most integrations are built as a status pull. The real states are ordered, applicant invited, applicant completed consent, vendor processing, result returned, adjudication required, cleared or not cleared. Providers such as the National Center for Safety Initiatives and Sterling Volunteers all expose that sequence, and the single largest source of ineligible coaches on a Saturday is a person who never finished the consent form in June and has sat in one state ever since.

The failure after launch is silent rather than loud. A callback stops arriving after a vendor changes something on their side, and your system keeps displaying processing indefinitely. Processing does not look like an error, so nobody investigates, and your operations team believes checks are in flight that were never started. The fix is to treat absence of movement as an alert in its own right, with an age threshold per state, and to reconcile counts with the vendor monthly rather than assuming agreement.

Education providers break differently. The core course and the annual refresher are separate completions, and a feed that maps both onto one completed field will quietly mark refreshers as satisfied by the original course. Reconcile those counts too. The third integration is payment, and if clubs collect on your behalf or regions take a share of the fee, that is split settlement rather than a checkout, which is a different piece of work with different failure modes. Ask any developer to name the specific screening vendor, education platform, payment processor and results or timing system they have integrated. Four names, not a category.

What happens when adjudication and event day check in are not covered?

A returned screening record is rarely automatically disqualifying. Most bodies run a review panel against a rules matrix by offence type and recency, with an appeal path. If your software holds only a cleared or not cleared flag and a document store, that process is happening in email, and the audit trail that will be examined if anything goes wrong does not exist.

Adjudication needs restricted visibility built into the structure rather than into a role an administrator can change. A club secretary sees cleared or not cleared and never the underlying record. The national safeguarding lead sees the detail. Every access is logged permanently, which protects your staff as much as the applicant, because when a disclosure leaks under a role based model there is no evidence in either direction.

The other uncovered gap is the check in table itself. Sports halls do not have signal. A screen that spins is a screen that gets bypassed by a volunteer with forty athletes queueing, so the offline behaviour is a design decision rather than a detail: a local snapshot synced before the event, a visible staleness indicator so the volunteer knows how old it is, and scanning rather than typing so a transposed digit does not pass the wrong person. Two related gaps ride alongside it. Officials assigned to a sanctioned event must be re-evaluated shortly before the event date and not only at assignment, because certifications lapse in the gap. And club affiliation is an annual renewal with its own requirements, so a club that has not renewed cannot have eligible members and the system should say so in August rather than at the first fixture.

Should you build custom or configure what you already own?

If you are a single discipline body under roughly 5,000 members, you do not sanction events with insurance implications, and your safeguarding requirement is one course with one expiry, buy. Sport80 and JustGo are built for governing bodies rather than clubs, they cost far less than a build, and they will serve you properly. If what you actually operate is a league rather than a sanctioning body, SportsEngine is the right answer and a custom build would be an expensive way to arrive at the same place.

Be clear about where those products stop. They hold membership as a national record and they do it well. They were not designed to express a conditional rule set that varies by role, age, discipline and level, to run a permissioned adjudication workflow with an appeal path, to treat clubs as sub tenants with their own affiliation requirements gating member eligibility, or to tie an event sanction to a live eligibility evaluation. Those are the gaps where governing bodies reach for spreadsheets.

Build when two or more of those are true, or when you run several disciplines whose rules are genuinely different rather than variations of one another. The threshold is not member count. It is whether your rules fit in a configuration screen, and if a vendor has ever told you a requirement needs a workaround, you already have your answer.

How do hidden costs get into the quote?

Discipline count is the largest multiplier and the one most often absent. Each discipline usually brings its own categories, licences, age bandings and eligibility rules, and they are not settings. If the proposal does not name the disciplines in scope, it is priced for one.

Ranking and results feeds are the second. A national ranking is real logic with real disputes attached, and it must be reproducible historically under the algorithm that applied at the time, which is a different and more expensive thing than a leaderboard. Third, payment complexity: if clubs collect on your behalf or regions take a share, that is split settlement and it belongs in the quote as its own line. Fourth, offline check in, which is genuine engineering rather than a mobile view. Fifth, multi season migration, where the identity resolution work concentrates.

Sixth, and never in any developer's number, your own people. Someone in your office has to decide which requirements apply to which role at which level, and your safeguarding lead has to sign off the adjudication matrix. Bodies that attempt to redesign eligibility policy and build software in the same quarter run late on both. Write the rules down first, then build to them.

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

Sequence decides it. The builds that work start with the person record, credentials with issuer and expiry, and eligibility as a computed view, then add club affiliation, then sanctioning and officials. The ones that fail start with the member facing portal because it is the visible part, and end up with an attractive renewal journey feeding an eligibility model that is still a spreadsheet in the national office.

Put a volunteer in the review sessions from the first week. The people who decide whether this software works are standing at a trestle table in a sports hall with a queue in front of them and no signal, and their tolerance for a slow screen is zero. Requirements gathered only from the compliance office produce systems that are correct and unusable.

Insist that eligibility is evaluated live and that every refusal names the failing requirement and its date. Insist that merges are reversible. Then settle ownership in writing before kickoff: the repository, the cloud accounts, unrestricted exports of member data, and the right to bring in another firm. At Digital Heroes the governing body owns the code from the first commit. Settle data residency and retention at the same time, because with safeguarding records in the system those are far harder to renegotiate once you hold several seasons of history.

Research & sources

The evidence behind this guide

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

  1. 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) →
  2. 88% of customers say good customer service makes them more likely to purchase from a brand again in the future, quantifying the direct revenue link between support quality and retention. Source: HubSpot (2024) →
  3. Nucleus Research's analysis of published analytics deployment case studies found business intelligence and analytics returned an average of $13.01 in benefits for every dollar spent, up from $10.66 three years earlier. Source: Nucleus Research (2014) →
  4. Per Sensor Tower's State of Mobile 2026, worldwide consumers spent about $85 billion on apps in 2025 (up 21% YoY), and for the first time non-game apps surpassed games in consumer spending; generative-AI in-app purchase revenue more than tripled to top $5 billion. Source: Sensor Tower (via TechCrunch) (2026) →
Tahlia L. · Senior Mobile Designer · Sydney

Tahlia designs mobile apps at Digital Heroes, working close to the iOS and Android engineers who build them. Day to day that is screens, states, motion and the specs that tie them together. Her posts are for anyone weighing up what a good app actually takes to design.

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

FAQ

Frequently asked questions

Our system says a coach is eligible but his certificate expired last week. Which is right?
The certificate is right and your system is reporting a cached answer. This is the signature of eligibility stored as a flag and recomputed on a schedule rather than evaluated at the moment it is asked. Ask your developer directly whether the check runs live or as a nightly batch, and test it by setting a credential to expire overnight and looking at the check in screen the next morning. If the flag is still green, every expiry date in your system is advisory rather than enforced.
How many prior seasons of member and club history should we migrate?
At least three, and more if your coach licensing or official grading depends on continuous service. Those records are what you rely on for long service recognition and grading progression, and they are the evidence base if a historic safeguarding question is raised years later. Treat the migration as its own workstream with reconciliation reports issued to each club, because the duplicates were created club by club over many years and the club is the only party who can tell you which two records are the same person.
What do we do about coaches whose background check has been stuck at processing for months?
Alert on it. An integration that only reads the final result cannot distinguish a check genuinely in progress from one that stalled because the applicant never completed the consent form in June, and processing does not look like an error to anyone reviewing a list. Set an age threshold per lifecycle state so anything sitting too long surfaces as a work item with an owner, and reconcile counts with your screening vendor monthly rather than assuming both systems agree.
Can we stop club administrators seeing background check detail while still showing eligibility?
Yes, and it should be structural rather than a permission setting an administrator can change. Adjudication records belong in their own store with independent access control, so the club secretary sees cleared or not cleared and the national safeguarding lead sees the underlying detail and the panel decision. Log every access permanently. That log protects your staff as much as it protects the applicant, because without it a leak becomes an investigation with no evidence pointing in either direction.
What happens at event check in when the sports hall has no signal?
It has to work anyway, which makes offline capability a design decision rather than a nice extra. The usual approach is a local snapshot synced before the event with a visible indicator showing how old it is, so the volunteer knows whether they are looking at this morning or last Tuesday. Scan the credential rather than typing an identifier, because a transposed digit at a check in table is how the wrong person gets through, and a screen that spins for ten seconds gets bypassed entirely.
We run four disciplines. Does that multiply the cost by four?
Not by four, but it is the single largest cost driver in this category and it is routinely left out of quotes. Each discipline usually carries its own categories, licence levels, age bandings and eligibility conditions, and those are rules rather than configuration values. Launch one discipline first, prove the eligibility model against real events for a season, then extend. If a proposal does not name the disciplines in scope, assume it is priced for one and ask what the second costs.
Should the member facing renewal portal be in the first release?
Usually not, and putting it first is the most common sequencing mistake here. The portal is the visible part, so it attracts attention, but it does nothing about the risk, which sits in eligibility, screening lifecycle and adjudication. Members can keep renewing the way they do now for one more season. Build the person record, credentials and computed eligibility first, run it through a real event calendar, then add the portal on top of a model you trust.
How should we handle someone who is an athlete in one sport and an official in another?
Make the person the durable record and attach role assignments to it, each with its own discipline, level and credential requirements. Eligibility is then evaluated per role rather than per person, so the same individual can be cleared to compete and not yet cleared to officiate without the two contradicting each other. Ask a prospective developer this question early. If they draw a users table with a membership type field, the schema will need rebuilding the moment your second discipline arrives.
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 many developers does it take to build a custom CRM?
A typical build runs with 4 to 5 people at partial or full allocation: a project lead, one or two developers, a designer, and a QA tester, with design and QA tapering after the middle sprints. Teams larger than six rarely make a CRM ship faster and often slow it down, so do not pay for a bench. On your side, plan for one decision-maker spending 2 to 4 hours a week, because slow client feedback delays more projects than slow code does.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
What should I prepare before contacting an agency about a custom CRM?
Three things: a written list of the 5 to 10 jobs the system must do phrased as tasks (like "produce a quote from a site-visit photo"), an export or screenshots of whatever you use today, and a realistic budget range. You do not need a formal specification; a good agency writes that with you during discovery. Arriving with those three cuts weeks off scoping and gets you a firm quote instead of a padded one.
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.
How does moving our data from Salesforce or spreadsheets into a custom CRM work?
The agency exports your records, writes mapping scripts that translate old fields into the new schema, runs test migrations into a staging system for you to verify, and only then performs the final cutover. Salesforce exports cleanly through its API including notes and attachments; spreadsheets are messier and need a deduplication pass, where we commonly see 10 to 20 percent duplicate contacts. Expect migration to be 10 to 15 percent of total project effort, and be suspicious of any quote that treats it as an afterthought.
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.
What does it cost to maintain a custom CRM after launch?
Budget 15 to 20 percent of the build cost per year, so roughly $6,000 to $10,000 annually on a $40,000 system, covering hosting, security patches, dependency updates, and a pool of small improvements. Hosting itself is the minor part, typically $50 to $300 a month for companies under 100 users. For comparison, a 20-user team on Salesforce Enterprise pays about $9,900 in licenses every quarter at list price, close to a full year of that maintenance budget.
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.
At what team size does building a custom CRM get cheaper than paying for Salesforce?
The crossover usually lands between 15 and 25 users. Salesforce Enterprise lists at $165 per user per month, so a 20-person team pays roughly $39,600 a year indefinitely, while a $45,000 custom build plus $8,000 to $12,000 in annual upkeep breaks even in about 18 months. Below 10 users, Salesforce or Zoho is almost always the cheaper path and a good agency will tell you that.
Can AI features like lead scoring and email drafting be built into a custom CRM?
Yes, AI features are now a standard request: connecting a model API for lead scoring, call summarization, or drafted follow-up emails typically adds $5,000 to $15,000 to a build in recent Digital Heroes projects. The custom advantage is that the AI runs on your full data and your rules instead of a vendor's generic feature, and you are never pushed into an add-on tier the way Salesforce prices Einstein. Start with one AI feature tied to a measurable task, prove it works, then extend.
Who can build a custom CRM software system?

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