Security Agent
Cameras that remember who they’ve seen.
A security camera system that spots people and vehicles on a tiny edge computer, recognizes them across cameras and across days, and answers questions about them in plain English.
Demo film in production
What the demo shows
- A person walks through camera 1’s view.
- Camera 2 picks them up and recognizes them as the same person.
- In chat, someone asks who the cameras saw in the last few minutes. The answer names that person.
- They set an alert: “tell me when this person comes back.” Camera 1 sees them again, and the alert fires.
The results
-
2 fps
Detection and tracking on a Raspberry Pi Zero 2. 512 MB of memory, no GPU, no fan.
-
5%
of frames ever reach the cloud. Only genuine movement gets sent.
-
XX%
Top-1 re-identification across cameras that don’t overlap, over N real crossings.
-
X s
From a person reappearing on camera to the alert in chat.
-
Capped
AI cost per event. A fixed frame budget, whether someone walks past or lingers.
-
$X
Cloud cost per camera, per month.
Three parts, one system
-
On the camera
Finds people and vehicles, follows each one from frame to frame, and keeps only the moments where something really moves.
-
In the cloud
A vision-language model describes what happened. Appearance signatures link the same person or vehicle across cameras and days, into one searchable history.
-
In your chat
Ask questions and set alerts in plain English. Alerts arrive the moment they fire.
It notices what moves, not what flickers.
Swaying branches, passing headlights, a parked car: the pixels change, but nothing is happening. The camera estimates how fast each object really moves through the scene, from a single uncalibrated lens, and wakes the cloud only when it matters.
That’s why 95% of frames never leave the device.
It knows who it has seen before.
Every person and vehicle gets an appearance signature. When the same one walks into another camera’s view, or comes back next week, the system connects the sightings.
Recurring visitors surface on their own, without anyone labeling them.
Three cameras. One car, not three.
A family house on a corner, with a camera on each way in: the driveway, the side gate, the back gate. Each one watches the house’s own ground, and none of their views overlap.
When the same car turns up at the back gate, then the side gate, then the driveway, its appearance signature ties the sightings together. You get one car and where it went, not three unrelated alerts.
Ask it. Don’t scrub through footage.
A question in chat becomes a search of the event history that the AI writes, checks and corrects on its own, then answers in plain English. Every search runs read-only, so a question can never change the data.
Alerts work the same way. Describe what you care about in your own words, and every new event is checked against it.
You
/ask who did the cameras see in the last 5 minutes?
Security Agent
One person: dark jacket, grey backpack. They crossed the driveway on camera 1 at 10:41 and reached the back gate on camera 2 at 10:42.
You
/alert add tell me when this person comes back
Security Agent
Alert #1 added.
18 minutes later
Security Agent
Alert #1, camera 1. The person in the dark jacket with the grey backpack is back, heading to the front door.
Built with
- Python
- OpenCV
- LiteRT
- Raspberry Pi
- Gemini
- FastAPI
- Google Cloud Run
- PostgreSQL + pgvector
- Discord