Inspiration
In 2023, in Chelsea, Quebec, a reversing dump truck hit a parked roller. Nobody was hurt, and nothing changed. Two weeks later, on September 11, a reversing dump truck killed a worker who was refuelling a bulldozer behind it. The warning came two weeks early.
Close calls like that happen on every site, and almost none get written up. The paperwork is slow, it can feel like blaming a coworker, and nobody got hurt, so it seems like nothing happened. Sites end up learning from injuries instead of the near misses that came before them. Two of our teammates have worked on sites, and they told us something else: workers won't wear a hat that watches them all day.
What it does
Argus is a retrofit kit that clips onto the hard hat a worker already owns.
- Struck-by from behind: two rear ultrasonic sensors watch for an object closing in fast. The hat buzzes on that side right away, and the event is logged as a near miss. The wearer's own head motion is filtered out, so walking backward toward a wall doesn't set it off.
- Falls and head impacts: a motion sensor detects free fall followed by an impact. The hat saves a 30-second clip: 20 seconds before the event and 10 seconds after.
- Hat knocked off or removed: a time-of-flight sensor checks that the hat is actually on someone's head.
The camera never streams. It only keeps a clip when an event fires, and it points at the hazard, not the worker.
Each event uploads to the cloud. Gemini watches the clip, and Claude writes a first-draft incident report in the style of a Canadian OHS investigation. The report covers the sequence of events, the evidence, a 5×5 risk score, 5-whys root causes and corrective actions ranked by the hierarchy of controls. The report shows up on a live dashboard next to the video and a sensor chart synced to it. A safety manager edits it and signs it off. The original AI draft is kept, and every change is logged.
How we built it
- On the hat: a Raspberry Pi 4 running Python reads an MPU-6050, two HC-SR04 sensors, a VL6180X and an SCD41. It also drives two DRV2605L haptic drivers and keeps a rolling H.264 buffer from the Pi Camera. Events wait in an SD-card queue that keeps retrying until the cloud confirms the upload, so a Wi-Fi dead spot delays an event but never loses it.
- Cloud: a Next.js app on Vercel serves the device API, the dashboard and the report worker. Supabase provides Postgres, video storage, login and live updates.
- AI: Gemini 3.5 Flash describes the video, and Claude Sonnet 5.5 writes the report against a strict schema. Code, not the AI, computes the risk score and the fixed fields.
Built With
- claude
- ffmpeg
- gemini
- next.js
- python
- raspberry-pi
- supabase
- tailwindcss
- typescript
- vercel