Safety · Equipment control

Equipment that locks itself out when it fails inspection

A pre-use inspection checklist is a safety control on paper and a formality in practice. Nothing stops the box being ticked, and nothing stops the equipment being used if it isn't.

28 inspection points enforced
5-7 gated steps per check-out
Nightly reconciliation sweep
Confidential client & operation

Built for the floor operation of a contract-logistics site, covering fall-protection equipment, powered industrial trucks and personal protective equipment.

The problem

Harnesses and forklifts were checked out at a cage on a clipboard. The inspection checklist existed and people ran it, but nothing connected a failed inspection to the equipment actually being taken out of service, and nothing connected an item to the person holding it once the sheet filled up.

For a fall-protection harness, that gap is the whole point of the control. A harness with a deployed load indicator has already arrested a fall and must never be used again — but only if somebody notices the tick box and does something about it.

What we built

A badge-reader kiosk on the floor. Every check-out starts from the truck, and the truck decides the rest. Pick a counterbalance truck and the session is five steps and twelve inspection points — tyres, leaks, fluids, mast chains, brakes and lights. Pick a cherry picker or a turret truck, the ones that put someone at height, and two more steps appear for the harness and its sixteen: webbing, stitching, hardware, load indicators and labelling. Nobody chooses whether fall protection applies to them.

An unticked box is treated as a failed point, not a blank. That single decision is what makes the checklist mean something.

  • A failed inspection blocks check-out and locks the item out of the available pool until an administrator clears it
  • Management is emailed the moment an inspection is flagged — the failed points, the reported issue and who was standing at the reader — sent after the record is committed and outside it, so an unreachable mailbox can't undo the lockout
  • Harnesses assigned to an individual lock to that person's name, not their badge number, so a re-issued badge never breaks the assignment
  • Battery type drives the questions asked — water levels only where they apply
  • Unknown badges register on the spot and alert leadership, throttled so a badge left on the reader can't spam anyone

Closing the loop

Equipment left checked out overnight is force-returned by a nightly sweep that first records who was holding it, so the trail survives the reset instead of being erased by it.

That record feeds a chain-of-custody exception report: every item returned by someone other than the person who took it, or closed out by the automatic sweep rather than a human, with the duration it was actually held. It answers the question a clipboard never could — not who signed for it, but who had it.

The result

The inspection became a control instead of a formality. Failing equipment leaves the pool automatically, the failure is escalated without anyone choosing to escalate it, and every item has a custody history rather than a signature.

Built with

  • Python
  • Flask
  • SQL Server
  • HID badge readers
  • Kiosk web UI
  • Power BI

On the details we left out

Client, location, system names and volumes are withheld deliberately. We're happy to go deeper on architecture and approach on a call.

Services this draws on

Legacy Modernization & Migrations

Bring decades-old systems into the modern era without a risky rip-and-replace.

See the service →

System Integration

Connect aging systems to modern APIs, data platforms, and SaaS tools.

See the service →

More projects

Product · Quality & compliance

Audits that can't be quietly passed

Customer-facing quality audits ran on paper and a survey tool. We built a configurable audit platform with scheduling, escalation, approvals — and a gate that blocks sign-off when the scan doesn't match.

Read the story →
Controls · Reverse logistics

Financial controls on material leaving the building

End-of-life material left the site on paperwork typed by hand. We rebuilt the chain end to end and added the control nobody had: detection of inventory added after the paperwork was already filed.

Read the story →
Access Control · Internal platform

Adding a permission shouldn't mean altering the user table

Access was a boolean column on the user record, so every new screen was a schema change. We replaced it with roles that map to screens, credential checks that verify a second person without elevating the first, and a suspension path that fails closed.

Read the story →

Got a system like this?

A free assessment gives you a clear picture and a prioritized plan — no commitment.

Book a free assessment