Problems & solutions · Internal Tools

MSHA Compliance Software Problems: The 7 That Cost Real Money, and How to Avoid Them

Msha Compliance Software product interface illustration showing common problems and fixes.
The short answer

The most expensive failure in this category is shipping an exam app that captures the workplace examination but not the corrective action lifecycle. A supervisor records an adverse condition, the record saves, and nothing owns the fix. You have now built a searchable, timestamped, indefinitely retained archive proving your organisation knew about a condition and did not close it out. That is materially worse than the paper book it replaced, because a paper book is hard for an inspector to mine and a database is not. Every project we have seen go wrong in mining safety went wrong here first, and the remediation is not a feature, it is a rebuild of the record model.

Why does the workplace examination scope get underestimated so often?

Almost every quote for MSHA compliance software prices the examination as a form, estimates it at two or three weeks and moves on. Then design starts and the real object appears. The examination is not per site, it is per working place, which means somebody has to maintain a register of what counts as a working place and which of them were actually worked that shift. It runs at least once each shift under 30 CFR Parts 56 and 57, so the completeness question is per shift per place, not per day. The record has to name the adverse condition and the corrective action, so those are two linked objects with independent lifecycles rather than one narrative field. And the unit of aggregation across everything is the mine ID, not the plant, not the region, not the business unit.

The scope failure is specific to mining because MSHA structures its enforcement around mine IDs and shift level examinations in a way that no general safety product assumes. A developer coming from an occupational health and safety background will build a periodic inspection, which is a different shape entirely. The fix is cheap if you do it before design: write down your working place register, per site, and hand it to the developer as a deliverable. Then make the acceptance test operational rather than functional. Produce every examination record for one plant for the last six months, with corrective action status attached, in under two minutes. If the build cannot do that, it is not finished, whatever the feature list says.

What goes wrong when you migrate paper exam books and training certificates?

Migration is where these projects quietly lose a month. The training file at a mining group is not a database, it is filing cabinets of scanned certificates, a spreadsheet at corporate that tracks refresher dates for permanent staff only, and a folder per contractor firm that may or may not be current. The same person appears three times: once as a name typed by a site clerk, once as a payroll record, once as a contractor roster line with a middle initial. Nobody has a person identifier that survives across all three, so a naive migration produces a training register full of duplicates, and duplicates in a currency check mean somebody shows compliant when they are not.

The second trap is migrating too much. Historic examination books should be preserved as scanned images indexed by mine ID and date, not parsed into structured rows. Nothing operational depends on a 2019 exam being queryable, and the transcription cost is enormous.

The approach that works: build a person registry first and run a deliberate reconciliation pass with your site clerks in the room, because they are the only people who know that D. Reyes on the crusher roster and Danilo Reyes in payroll are the same man. Then migrate only two things live, current training currency per person per mine ID, and open citations with their abatement dates. Everything else is an image archive. That sequencing turns a six week migration into a two week one and removes the class of error that matters.

Why do human resources (HR) and contractor onboarding integrations break after launch?

The integration everyone builds is a nightly feed from the human resources or payroll system so the roster does not have to be maintained twice. It works in testing and starts drifting within a month, for a reason that is structural rather than technical. Your human resources system knows employment status. It does not reliably know which mine ID a person is assigned to this week, because assignments move by verbal instruction from a superintendent and get reflected in payroll only when a cost code changes. So the feed keeps the roster current and the assignment stale, and assignment is the thing your training currency check depends on.

Contractors compound it because they are not in the human resources system at all. A crew arriving Monday exists in an email from the contractor firm and in whatever the gate clerk typed, and when its composition changes midweek, nothing updates.

The fix is to stop pretending assignment is an integration problem. Treat assignment to a mine ID as data owned by the compliance system, entered by whoever actually knows it, and use the human resources feed only for identity and employment status. Then run a nightly reconciliation that produces an exception queue rather than a silent overwrite: people active in payroll with no mine ID assignment, people assigned to a mine ID who have left, contractor records with no current training verification. Give that queue a named owner. A reconciliation with no owner is a report nobody reads.

What happens when Part 50 reporting and contractor verification are not covered?

These two get pushed to phase two more often than anything else, on the reasonable argument that examinations and training are the daily volume. What actually happens is that both revert to the spreadsheet they were supposed to replace, and the spreadsheet now competes with a live system, so the group runs two records of truth for the parts that carry the sharpest deadlines.

Part 50 is a timing obligation more than a paperwork one. Certain accidents require immediate notification, injury reports run to a defined period, and quarterly employment and production data files per mine ID. When an incident is recorded in the new system but the reporting decision lives in a spreadsheet at corporate, the classification step is where the delay enters, and late or inconsistent filing is exactly what shows up when your record is looked at as a whole rather than day by day.

Contractor verification is the other one. If the gate check stays manual after the system goes live, you have a training currency engine that covers your own people and not the crew most likely to be unfamiliar with your site.

Neither needs the full workflow in phase one. What phase one needs is small: an incident capture with a classification step that puts a named person and a deadline on the record, and a contractor training status that is verifiable at the gate from a phone. Build those two thin slices with the first release. The complete Part 50 form workflow and contractor onboarding portal can wait, but the clocks cannot sit outside the system.

Should you build custom or configure what you already own?

Configure, and we will say this before quoting. If you run one or two mine IDs, a single commodity, and one training regime, a disciplined paper examination book plus a spreadsheet of training expiries genuinely satisfies the requirements, and the money belongs in guarding and training. There is no version of a custom build that beats that at that size.

If you already own VelocityEHS or Intelex, configure them first and mean it. Both have capable inspection and training modules and both will handle a group that has one dominant site pattern. Bring in the vendor's professional services, build the mining forms properly with per shift cadence and linked corrective actions, and give it two quarters. A large share of the groups who call us about a custom build have configured neither product seriously, they have configured it half way, kept a shadow spreadsheet for the awkward parts, and concluded the product failed. Predictive Solutions is worth buying if what you want is observation based leading indicator data, which it does well, but do not buy it as a compliance record system because that is not what it is.

The honest build threshold is around eight or more mine IDs, or fewer if your sites genuinely differ, if your exam records are paper and you have already had an inspection where producing them was the problem, or if the aggregation your corporate safety director needs cannot come out of the product you own without a quarterly spreadsheet exercise.

How do hidden costs get into the quote?

Five things, and they are consistent enough to check for by name. First, offline capability. Every quote says the app works offline, and the difference between caching a form and correctly reconciling a week of queued exams from four devices in a pit with no signal is weeks of work. Ask what happens when two examiners sync conflicting records for the same working place.

Second, mine ID count versus site count. Groups quote their site count, but a plant and a pit can hold separate identifiers, and every one is a separate compliance universe.

Third, standardising the examination form across plants. This is not software work at all, it is change management, and it usually takes longer than the build. Every plant manager believes their form is right.

Fourth, regulatory configuration. Training hour requirements and forms move, so they belong in configuration with effective dates. Hard coding is cheaper this quarter and a release every time a rule shifts.

Fifth, supervisor training. The system is only worth anything if foremen use it every shift, and budgeting nothing for that is the most common way a good build fails.

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

Daily use by the people at the sharp end. A compliance system that supervisors use once a week to satisfy corporate will be filled in badly, in batches, and a record that looks batch entered undermines the whole file. That is why the sequencing advice is always the same: ship workplace examinations at every site and nothing else, get the daily habit, then add the rest on top of a system people already open.

The second separator is where the rules live. If training hours, thresholds and form layouts sit in configuration with effective dates, your compliance manager can absorb a regulatory change in an afternoon. If they sit in code, you are dependent on a developer's availability for something your regulator does not consider optional.

The third is ownership. You should hold the repository, the cloud accounts and the right to hire anyone else to continue the work, agreed in writing before kickoff. At Digital Heroes the code is yours from the first commit. This matters more here than in most categories because these records have long retention obligations and may be examined in a proceeding years after the developer relationship has ended.

The last one is measurement. Pick two numbers before the build starts and track them from week one: examination completion by site and shift, and open corrective actions by age. If those are moving in the right direction six months after launch, the build worked.

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. 76% of developers are using or planning to use AI tools in their development process in 2024 (up from 70% in 2023), with current active use rising to 62% from 44%; 81% agree increasing productivity is the biggest benefit of AI tools. Source: Stack Overflow (2024) →
  3. WordPress powers 41.5% of all websites and holds 59.2% of the market among sites running a known content management system, making it by far the most-used CMS on the web. Source: W3Techs (2026) →
  4. McKinsey Global Institute estimated that about half of all work activities globally have the technical potential to be automated by adapting currently demonstrated technologies, though few occupations can be fully automated. Source: McKinsey Global Institute (2017) →
Sophie R. · Account Manager · UK Retail & Fashion · London

Sophie manages retail and fashion accounts, mostly storefront builds and the systems behind them: stock, orders, returns. She writes for merchants deciding how much of their operation should live in the shop platform and how much needs custom work around it.

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

FAQ

Frequently asked questions

Our safety team already has an exam app. Why is it not helping?
The usual reason is that it captures the examination and stops there, so an adverse condition is recorded as text with no owner, no due date and no evidence of correction. That converts your record from an operational document into a searchable archive of known, unclosed conditions, which is a worse position than paper. Check one thing: pick any recorded adverse condition from three months ago and see whether the system can show you who closed it, when, and with what evidence. If it cannot, the record model needs fixing before any new feature is added.
How long does migrating our training records actually take?
Two weeks if you migrate only current training currency per person per mine ID plus open citations, and six weeks or more if you try to parse historic examination books into structured data. The time is not spent on transfer, it is spent on person reconciliation, because the same miner exists under different name forms in payroll, on site rosters and in contractor paperwork. Put your site clerks in the room for that pass, because they are the only people who know which duplicates are the same human being.
Why does our roster keep going out of date after the human resources integration?
Because the human resources system knows employment status but not which mine ID somebody is working this week, and assignment is what training currency depends on. Superintendents move people verbally and payroll catches up only when a cost code changes. Own assignment inside the compliance system, take identity and employment status from the human resources feed, and run a nightly reconciliation that produces an exception queue with a named owner rather than silently overwriting anything.
Should Part 50 reporting be in the first release?
Not the full form workflow, but the clocks should be. Build a thin slice in phase one: incident capture with a classification step that puts a named person and a deadline on the record. Certain accidents require immediate notification and injury reports run to a defined period, so leaving the timing outside the system means the deadline lives in a spreadsheet that now competes with a live product. Confirm the current requirements for your operations with counsel or an MSHA specialist rather than with any software vendor.
Can we configure VelocityEHS or Intelex instead of building?
Often yes, and it deserves a serious attempt before you price a build. Both have capable inspection and training modules that will serve a group with one dominant site pattern. What we usually find is a half finished configuration plus a shadow spreadsheet for the awkward parts, which is not a fair test of the product. Bring in the vendor's professional services, build the per shift cadence and linked corrective actions properly, and give it two quarters before concluding it cannot work.
What is the most commonly missed cost in an MSHA build quote?
Standardising the examination form across plants, because it is not software work. Every plant manager believes their current form is correct, and getting twelve sites onto one structure is a change management exercise that regularly takes longer than the development. The second most missed is genuine offline reconciliation. Ask any developer specifically what happens when two examiners sync conflicting records for the same working place after a week with no signal.
How do we stop the system producing records that look batch entered?
Design for the shift, not for the report. Capture happens on a phone in the working place with a timestamp and, ideally, a photograph attached to any adverse condition, and the interface should make it faster to record at the point of observation than to write it up later. Then measure examination completion by site, shift and examiner from week one. A pattern of exams appearing in one sitting on a Friday is visible in your own data long before an inspector sees it, which is the point of having the data.
What happens to our system when MSHA changes a training requirement?
If requirements, thresholds and form layouts sit in configuration with effective dates, your compliance manager changes a value and the system evaluates old records against the version that was in force at the time. If they sit in code, every regulatory change becomes a development ticket and a release, and in the gap your system quietly produces records against superseded rules. Ask this question directly during selection, because the answer tells you how the developer thinks about regulated domains generally.
At what point does Retool cost more than building a custom tool?
The crossover usually lands between 25 and 50 daily users. At Retool's published Business rates of $50 per standard user and $15 per end user monthly, a 40-person deployment with a typical seat mix runs roughly $9,000 to $15,000 per year, every year, while a comparable custom tool built once for $20,000 to $30,000 carries no per-seat fees and costs about 15 to 20 percent of the build price annually to maintain. On a three-year horizon, custom comes out ahead for most growing teams in Digital Heroes engagements.
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.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
What happens to my software if the agency shuts down or we stop working together?
Nothing dramatic, if the engagement was set up correctly: the code sits in your repository, hosting runs on your cloud account, and a handover document explains how to deploy and operate the system. Any competent replacement team can then take over in days rather than months. If the agency controls the repo, the servers, or the domain, fix that now, because renegotiating access during a dispute is the most expensive place to discover the problem.
Is a custom internal tool secure enough for HR records and financial data?
A properly built custom tool is generally safer for sensitive data than the shared spreadsheet it replaces, because you get role-based access, audit logs, encrypted storage, and the ability to cut one person's access instantly. Ask the agency specifically for encryption in transit and at rest, permissions down to the field level, and an audit trail showing who viewed or changed each record. If HIPAA, GDPR, or SOC 2 expectations from enterprise clients apply to you, raise it before the quote, because compliance features add real scope.
How much should a small business budget for its first custom app or website?
For a focused first build, most small businesses land between $8,000 and $60,000: roughly $8,000 to $45,000 for a custom website and $25,000 to $60,000 for an internal tool or simple web app, based on Digital Heroes delivery across 2,000+ projects. Customer-facing products with payments, logins, or a mobile app start around $40,000. Quotes far below these bands usually mean a template with your logo on it, not software shaped around your workflow.
Who owns the code when an agency builds our internal tool?
You should, outright, with full IP transfer in the contract and the code delivered to a repository you control, such as your own GitHub organization. Digital Heroes transfers complete ownership on final payment as standard practice, and any agency that keeps the code or licenses it back to you is building a dependency you will pay for later. Confirm you also own the hosting, domain, and database accounts, since many of the vendor disputes Digital Heroes gets called into involve infrastructure registered under the agency's name.
Should we build the whole internal tool at once or start with an MVP?
Start with a version that fully replaces one workflow, ship it in 4 to 6 weeks, and let real usage set the roadmap. Internal tools have a captive audience, so you learn within days which features matter, and across Digital Heroes projects roughly a third of initially requested features never get built once staff work with version one. Phasing also spreads the spend: a $40,000 vision becomes a $15,000 phase one that starts paying for itself while phase two is scoped.
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?