Inspiration

After a car crash, the most important evidence disappears in seconds. What's left is two drivers with two different stories, and whoever decides what happened has to rely on memory, guesswork, and whatever a bystander happened to see. Planes have black boxes. Most cars don't, and the ones that do keep their data locked away from the person who was actually in the accident.

We wanted a reliable source of truth for accident situations: something that records what really happened at the moment of impact so the people sorting it out afterwards (drivers, insurers, attorneys) are working from evidence and not recollection.

What it does

The crash re-enactor turns the phone already in your car into a crash black box. The phone keeps a rolling buffer of motion data and video. When it detects an impact, it saves the 10 seconds before and the 5 seconds after, checks whether the driver is okay, and can alert an emergency contact.

Seconds later, our web app shows a 3D replay of the crash with the video synced to the sensor data, plus a report with the impact force, direction and speed change. An AI model describes the scene from the video and writes the report narrative. Every number is labelled as an estimate, and the report never assigns fault. It presents what was recorded.

How we built it

The capture side is a web page that uses the phone's motion sensors and camera, so there is no app to install. You scan a QR code and tap Start. The web app is built with React, TypeScript, Vite and Tailwind, with the 3D replay in three.js. The AI runs locally through Ollama, using moondream to read the video frames and Gemma 3 to write the narrative, so crash footage never leaves our own hardware. Incidents sync to Supabase and the site is hosted on Vercel.

We built a crash simulator first so we could develop the whole pipeline before any hardware worked.

Challenges we ran into

Our hardware died halfway through. The original design was a sensor pod built on an Arduino Nano 33 BLE Sense, mounted on a Lego car and streaming data over Bluetooth. It worked, and we had live data flowing into the app. Then midway through the hackathon the Nano stopped being detected by our computers entirely. Nothing we tried brought it back, and we had no spare.

That failure made the project better. We asked what else has an accelerometer, a gyroscope, a camera and a radio, and the answer was in our pockets. Moving the black box onto a phone gave us video, which the Arduino never could, and that made the AI scene description and the synced replay possible. It also meant the product went from a device you would have to manufacture to a link anyone can open.

We also dropped two other approaches along the way, an overhead tracking camera and phone LiDAR scanning, when they turned out not to fit. And we learned that phone sensors are slow compared to how fast a real crash happens, which is why we are upfront that our numbers are estimates.

Accomplishments that we're proud of

The full chain works on real hardware. Crash the car, and a replay and report appear on the laptop about 20 seconds later, then on the hosted site. We lost our core hardware mid-hackathon and still shipped something better than the original plan.

What we learned

Build the simulator first. Because our pipeline ran on simulated crashes from the start, losing the Arduino cost us a sensor and not the project. We also learned that constraints improve designs. We would not have chosen the phone if the Nano had kept working, and the phone was the right answer.

What's next for BlackBox

A native app with faster sensor access for better measurements, signed records so a report can be shown to be unaltered, and reconstruction of both vehicles when both are running it.

Built With

Share this project:

Updates

Submission history