Problems & solutions · Custom Software

Construction Safety Software Problems: The 5 That Fail You in the Hour After an Incident

Construction Safety Compliance Software code editor and API illustration showing common problems and fixes.
The short answer

The most expensive failure is a build that models workers as user accounts instead of people. On a multi employer site the same operative exists as a paper induction sheet, a badge print and a record in a subcontractor's own system, and if your software cannot join them, the hour after an incident becomes a day of reconciliation while the client, the regulator and your insurer wait. Everything else in a safety platform, competency gating at the gate, permit accountability, corrective action ownership, depends on that one record existing, and retrofitting it later means rebuilding the system around it.

Why does worker identity get scoped as a users table?

Because the requirement arrives as a login problem. Somebody writes that supervisors and operatives need access to the app, a developer adds a users table with a role field, and the scope moves on to forms. That decision quietly determines whether the system can answer the only questions that matter after an incident.

Construction is unusual here. On a hospital extension with 400 operatives from 30 employers, the person who fell is not your employee, has never had an account, and appears in three places under two spellings. His induction was a signature on a paper sheet in the gatehouse. His confined space card sits in a folder at his employer. His site history is a set of badge swipes. Nothing links them except a human who was on shift that week.

What the model needs is one worker record per human, independent of whether that person ever logs in. That record carries their employer at a point in time, since operatives move between subcontractors, their induction with a validity period rather than a tick, their competency cards and certifications with expiry dates, their site specific training, and their access history across every project you run. Logins are a separate concept layered on top for the small share of people who need one.

Get this right and the hour after an incident becomes a query. Get it wrong and you have a well designed forms product that cannot tell you whether the man on the stretcher was inducted, which is the first question you will be asked and the one nobody accepts a delay on.

What goes wrong when you migrate paper inductions and legacy records?

Two things, and they pull in opposite directions. Teams either try to key in years of paper, which is expensive and produces records nobody trusts, or they go live with an empty database and discover that every operative already on site is now unverified, so the gate either lets everyone through or stops the job.

The construction specific complication is that your historical records are not yours alone. Inductions were run by site teams on paper, competency cards were checked visually by a supervisor and never copied, and a meaningful share of your inspection history lives in a subcontractor's account on a tool you do not control. When that supervisor leaves, the account and its evidence go with them. So a migration plan that assumes you can export your own history is usually wrong.

The approach that works is a re induction window rather than a data load. Pick a live site, set a date, and re induct the current workforce into the new system over two or three weeks using the actual induction as the capture event, with competency cards photographed and expiry dates entered at the same time. That gives you verified records created by the process that is supposed to create them, rather than transcriptions of paper somebody hopes is accurate. Historical paper gets scanned and attached to the worker record as evidence, not parsed into fields. Retention matters here, because safety records can be evidence in a proceeding years later, so decide what you must keep and for how long before you decide what you migrate.

Why do turnstile and access control integrations break after launch?

Because they are demonstrated on one gate and deployed on twelve. Turnstiles, biometric readers, badge printers and the controller software behind them each speak their own protocol, and the version installed at your busiest site is rarely the version in the vendor documentation. A build that talks to one reader over a clean network in an office will meet a site gate on a construction power supply with an intermittent link and a controller nobody has updated in three years.

The failure mode is specific and it is bad. The access decision depends on live data, induction validity, competency expiry, subcontractor suspension status and insurance currency, and when the link drops the gate has to do something. If it defaults to open, your control is theatre. If it defaults to closed, you have 200 operatives standing in the rain at 06:30 and a site manager who will disable the system by lunchtime and never turn it back on.

Design the answer before the first line of code. The reader should hold a cached decision set that is refreshed continuously and remains valid for a defined window, so a network outage degrades to yesterday's answer rather than to no answer. Refusals need a plain language reason on the guard's screen, because a guard who cannot explain a refusal will wave people through. And test with the exact hardware model at the exact site, not with a bench unit, because the difference between a demonstration and a live gate is where this work actually lives.

What happens when the permit to work regime is not fully covered?

You end up with a system that records permits without controlling them, and paper quietly comes back for the permits it does not handle. Hot work, confined space entry, live electrical, excavation, lifting operations and roof access each carry an issuer, a receiver, conditions, a time window, isolations and a closure step, and the conditions are usually dictated by the client rather than by you. Rail, aviation, utilities and operating hospitals all impose regimes that no generic permit template expresses.

The consequence is the scenario every safety director has lived. A hot work permit is issued at 14:00 for four hours, welding finishes at 16:30, the crew leaves, the fire watch is not observed because the permit was in somebody's pocket, and a smouldering ignition is found by a security guard at 21:00. The permit was compliant on paper and useless in practice, because nothing knew it was still open.

A permit has to be a live object with states: issued, active, suspended, expired, closed, each with timestamps and signatures captured on a phone. Conditions become checklist items requiring evidence, including a photograph where it matters. Expiry escalates to the issuer and the site manager before the window ends rather than after. And a site dashboard shows every open permit by location, which is also the first thing an inspector or a fire officer asks to see when they walk on. Scope two permit types properly for the first release rather than nine badly.

Should you build custom or configure what you already own?

If you are a specialty contractor whose real need is structured inspections, toolbox talks and observation capture on a phone, configure SafetyCulture and stop there. It is well built, field staff adopt it quickly, and the money left over buys a second safety advisor, which will do more for your incident rate than any software. If you already run Intelex across environmental and quality, use its safety modules before commissioning anything. And if you are a large general contractor on multi employer sites, put HammerTech on the shortlist properly, because it was designed for exactly that setting.

Build when two or more of these hold. Your permit regime is dictated by a client whose rules no product expresses. Site access must be gated on live competency and insurance through hardware you own. You run many sites and need one worker identity across all of them, including operatives who move weekly. Your safety, prequalification and certificate of insurance data need to be one system because they are one decision. Or a major client or your insurer has made an evidentiary demand that no product currently satisfies. A hybrid is often the honest answer: keep the forms product for inspections and build the identity, permit and access layer around it.

How do hidden costs get into the quote?

Access control hardware is the usual one. A quote that says integration with turnstiles has priced a protocol, not a commissioning exercise across sites with different readers, different controllers and different network conditions. Ask which reader models, at which sites, and who attends the gate at 05:30 on go live morning.

Offline capability is the second. It reads like a feature and it is an architecture. Early stage sites have no coverage, basements and plant rooms have none at any stage, and a permit that cannot be signed without signal will be signed on paper instead. Sync conflict handling has to be decided at the start, and a build that adds it later is largely a rewrite.

Then languages, because a safety induction in a language an operative does not read is not an induction, and translation touches every screen, every permit condition and every toolbox talk. Client specific permit regimes, which arrive one client at a time. And prequalification or insurance data integration, if those systems already exist.

For calibration, in Digital Heroes delivery experience a first release covering worker identity with induction and competency validity, the permit engine with live status and escalation, and observations with a closed corrective action loop runs $60,000 to $140,000 and ships in 12 to 16 weeks. Adding access control, incident management with regulator timers, subcontractor scorecards and multi site analytics takes it to $150,000 to $400,000 over 6 to 12 months.

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

The ones that work close the loop across company boundaries. A finding needs an owner at the subcontractor, a due date, evidence of correction, verification by someone other than the person who fixed it, and escalation that reaches the subcontractor's own management. Systems that only record findings produce the same finding again three weeks later from a different supervisor.

They start the regulator clocks automatically. Under OSHA rules a work related fatality is reportable within eight hours and an inpatient hospitalisation, amputation or loss of an eye within twenty four. Those clocks start during the least organised hour your project will ever have, which is exactly why they should not depend on somebody remembering. Witness statements captured on site with signatures and timestamps, while the witnesses are still there, close the other gap.

They roll out on one site with two permit types for four to six weeks before generalising, because the conditions your supervisors argue about are the real specification and they only surface in use. Going live on ten sites at once locks in a template nobody agrees with.

And they settle ownership before kickoff. You should hold the repository, the cloud accounts and the right to hire another firm. At Digital Heroes the client owns the code from the first commit. On records that may become evidence in a regulatory proceeding or a claim years later, control of the data and of the system that produced it is not a procurement preference.

Research & sources

The evidence behind this guide

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

  1. Only 22% of firms are 'future ready' having significantly transformed digitally; these companies show average revenue growth 17.3 percentage points and net margins 14.0 percentage points above their industry average. Source: MIT Center for Information Systems Research (MIT Sloan) (2022) →
  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. Criteo's Global Commerce Review found retail apps convert at 18% versus 4% on mobile web (roughly 4.5x), and travel apps convert at 20% versus 6% on mobile web (about 3.3x). Source: Criteo (2017) →
  4. A study (led by Prof. Pak-Lok Poon, published in Frontiers of Computer Science, 2024) reviewing decades of spreadsheet-quality research found that about 94% of spreadsheets used in business decision-making contain errors, illustrating the hidden risk of manual spreadsheet workarounds that custom software is built to replace. Source: Central Queensland University / phys.org (Prof. Pak-Lok Poon et al.) (2024) →
Varalika D. · Web Developer · Lucknow

Varalika turns design files into working pages, which involves more judgment than it sounds: spacing that holds at every screen width, states the mockup never showed, and interactions that need to feel right rather than merely function. She writes about the gap between a design and a built site.

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

FAQ

Frequently asked questions

Why can we not answer who was inducted within an hour of an incident?
Because the records exist in separate systems owned by different companies and are joined only by somebody's memory. The induction is a paper sheet in the gatehouse, the competency card sits with the employer, the inspection is in a subcontractor's account on a tool you cannot reach, and the badge swipe is in the access controller. One worker record per human, carrying employer, induction validity, card expiry and access history, turns that reconciliation into a query.
What should happen at the turnstile when the network drops?
The reader should fall back to a cached decision set that is refreshed continuously and stays valid for a defined window, so an outage degrades to yesterday's answer rather than to no answer. Defaulting to open makes the control theatre, and defaulting to closed leaves 200 operatives outside at 06:30 and gets the system switched off by lunchtime. Decide the fallback behaviour and the cache window before development starts, not during commissioning.
Do we need to migrate years of paper inductions into the new system?
Usually not as data. Run a re induction window instead: pick a live site, set a date, and re induct the current workforce over two or three weeks using the induction itself as the capture event, photographing competency cards and entering expiry dates at the same time. That produces verified records created by the process meant to create them. Scan historical paper and attach it to the worker record as evidence rather than parsing it into fields.
Why do permits go back to paper after a system goes live?
Because the build covered the common permit types and not the ones your client dictates. Rail, aviation, utilities and operating hospitals impose conditions no generic template expresses, so supervisors keep the carbon book for those and eventually for everything, since two parallel processes always collapse into the simpler one. Scope two permit types properly in the first release, prove the loop on a live job, then add the client specific regimes one at a time.
How do we get corrective actions closed by companies that do not work for us?
Assignment has to cross company boundaries with a named owner at the subcontractor, a due date, evidence of correction and verification by someone other than the person who fixed it. Escalation needs to reach that subcontractor's own management and, where warranted, connect to commercial consequences such as suspension from new work. Without an owner and an escalation path you get the same finding raised again three weeks later by a different supervisor.
Is offline capability really an architecture decision rather than a feature?
Yes, and treating it as a feature is one of the most common ways these builds fail. Early stage sites have no coverage and plant rooms and basements have none at any stage, so capture, permit signature and photo evidence all have to work with no signal and reconcile afterwards. Sync conflict handling, for example two supervisors editing the same permit offline, has to be designed at the start. Adding it later usually means rewriting the data layer.
What are the OSHA notification deadlines a system should enforce?
A work related fatality is reportable within eight hours, and an inpatient hospitalisation, amputation or loss of an eye within twenty four hours. Recordability on the 300 log follows its own criteria and the annual summary has its own posting dates. The system should start those clocks automatically when an incident is logged at a triggering severity, assign them to named people and escalate, because the hour they start in is the least organised hour your project will have.
Should we replace SafetyCulture or build around it?
Around it, in most cases. SafetyCulture is strong at inspections, toolbox talks and observations, and field adoption is fast, so replacing it buys little. What it has no concept of is worker identity, live permit state and access decisions, which is where the multi employer risk actually sits. Building the identity, permit and gate layer and integrating the forms product gives you the control without paying to rebuild something your supervisors already use.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
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.
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.
If we build for 20 users now, will the software cope with 500 later?
It should, without a rewrite, if it was built on a standard cloud stack; going from 20 to 500 users is mostly a hosting configuration change costing hundreds a month, not a second project. What actually breaks under growth is sloppier work: database queries never indexed for volume and features designed assuming one office's worth of data. Before signing, ask the vendor what happens to the system at ten times today's data, and listen for a specific answer.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
If an agency builds my software, who actually owns the code?
You should own everything, assigned in writing: the contract transfers full IP to you on final payment, the code lives in your GitHub organization, and hosting runs in cloud accounts you control. The red flag is a proposal that mentions the agency's proprietary platform or framework, which usually means you are renting, not buying. Digital Heroes structures every build this way precisely so a client can fire us and lose nothing but the relationship.
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 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.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
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?