Near-Miss & Hazard Observation
Give everyone on the floor a 30-second way to report a near-miss or hazard with a photo, then triage it, assign a fix with an owner, confirm closure, and trend the hot spots - so the warning signs get acted on before someone gets hurt.
A mobile-friendly safety reporting tool where any worker submits a near-miss or hazard with a photo in seconds, a supervisor or EHS lead triages it, assigns a corrective action and owner, confirms closure, and the whole team can see trends by area and type - with login, audit trail, and an exportable observation log.
Before you start
- A free Vercel account
- A free Supabase account
- A free Resend account (for the digest email)
- Your list of plant areas / locations (a spreadsheet is fine)
The problem this kills
The injury that finally happens almost always had warnings: the spill nobody logged, the guard somebody propped open, the forklift that "almost" got someone. Those near-misses are the leading indicators of a real incident - and most plants lose them. They live in a head, a hallway conversation, or a clipboard nobody reads.
Why? Because reporting is a chore. A paper form bolted to a wall, a clunky portal that needs a desktop login, an email to "Safety" that disappears. So people shrug and move on - until the warning becomes a recordable.
This tool flips that. Reporting takes 30 seconds from a phone: what you saw, where, a photo, submit. Then every observation gets triaged, gets a corrective action with a named owner, gets closed out, and gets counted - so your hot areas light up and the fixes actually happen.
What you'll build
A simple, mobile-first web app, tailored to your plant, that does this:
- Frictionless submit. Any worker opens a link on their phone, picks an area, taps the hazard type, snaps a photo, types a sentence, and submits. No app store, no training.
- Triage queue. Supervisors and EHS leads see new observations, sort by area or severity, and review each one.
- Corrective action + owner. The lead approves a fix and assigns an owner with a due date. Nothing gets "written to the record" until a human approves it.
- Closure confirmation. The owner does the fix; the lead confirms it's actually closed.
- Trends. A dashboard shows observations by area, by hazard type, and open vs. closed over time - so you can see where the heat is.
- Weekly digest. A clean email summary goes to your EHS leads via Resend.
- Export. Download the full observation log as a CSV anytime.
What's inside the Implementation Plan
A start-to-finish runbook you paste into an AI coding agent (Claude Code). You don't write code - you answer questions and approve what it builds.
- It starts by interviewing you about your plant. This is the key difference from a generic template: before it builds anything, the plan makes the AI ask about your areas, your hazard types, your severity scale, who triages, your closure rules, and your messy edge cases - then it shapes the data model and the whole tool around your answers and reads a short spec back to you for a thumbs-up.
- Step-by-step build prompts. Each step ends with a ready-to-copy prompt. You paste, it builds, you check.
- Governance baked in (see below).
- A "No API yet?" fallback so you can launch today even if you have no system to connect to: import your area list from a Google Sheet or CSV, and export a clean observation-log CSV in the exact columns your EHS records expect.
The governance it includes (this is the point)
This isn't a toy form. The plan builds in the controls a real safety program needs:
- Login so only your team can use the tool.
- Row-level security so people only ever see their own plant's / organization's data.
- A complete audit trail - who submitted, who triaged, who approved the fix, who confirmed closure, and exactly when.
- A human-in-the-loop approval gate - the form captures the report and the AI can suggest a category, but a supervisor or EHS lead reviews and approves the corrective action and the closure. Nothing is committed to the record automatically.
- Duplicate guards - the same observation can't be processed twice (a unique observation ID is the dedupe key).
Who it's for
- Every employee on the floor - the reporters. They need it dead simple.
- Supervisors - who triage and own fixes in their area.
- EHS leads / safety managers - who set the rules, confirm closures, and watch the trends.
If you run safety for a plant, a warehouse, or a production line and you've ever wished near-misses just showed up in one place that people actually use - this is for you. No developer required.
You've got this - paste the first prompt and let's build it.