Projects

OptiArms

Software Engineer · August 2024 to January 2026

OptiArms looks at the cameras a building already has and tells someone when there's a gun in the picture. Whoever the site puts on the list gets the frame, the camera it came from, and a number for how sure it was. It's wrong a fair amount of the time, so every site measures its own false alert rate before deciding how much it can do on its own.

OptiArms is alerting for schools, businesses and homes that already have cameras up. It only works on guns somebody can actually see, so if one is under a jacket the camera has nothing to go on and neither does the software, and that's the first thing anyone asks about it so it goes at the top of the readme. When it does find one, whoever the site put on the list gets the frame it triggered on, the camera it came from, and a number for how sure it was.

It's wrong a fair amount of the time, which is why none of the response is fixed in advance by me. Every site runs it for a while and measures its own false alert rate, and then they decide how much it's allowed to do on its own.

The detection runs on a machine in the building, and that process doesn't have any network credentials or talk to the cloud at all. If the internet drops it carries on working and holds what it found until the connection comes back. The same box handles people and fire as well, so a site that wants a visual alarm out of hours, or a fire watch on a loading bay, gets that off the cameras it already put in.

Whether it's day or night comes off the image itself instead of off a clock, because a camera under a canopy can be in night mode at midday and one pointing at a lit car park will stay in day mode at two in the morning. At night everything has to score higher to count, since the same number off an infrared picture isn't worth what it would be in daylight.

Noonlight is the only company outside the building that the system will call for help through. Everything else goes into things the site already has, so mass notification, an announcement over the PA, a lockdown, a call into the access control system. There's a screen that pulls up the address and the camera and the confidence so a person can ring 911 themselves, but the software won't ever place that call for them. Outbound voice and unlocking doors aren't options in the database column that stores what an escalation is allowed to do, so even if somebody wrote the code for it there would be nowhere to save it. Police get their own view of a site once it's been shared with them, scoped to that site and logged.

The hardware is a small x86 machine with an NVIDIA card in it, running podman under systemd with the filesystem read only and the capabilities stripped out. It goes out as a rental in three sizes depending on how many cameras a site is running.

It also checks whether somebody has covered up the lens, which is the oldest way there is to beat a camera. If a frame goes flat or goes out of focus and stays like that, it gets reported as tampering instead of the thing just quietly not finding anything.