Background
Most homes can't answer two basic questions. The first one everybody asks and no off-the-shelf gear answers well: is the person at my door someone we know, or a stranger? The second one almost nobody thinks to ask: what is broadcasting around my house right now? Every phone, smartwatch, item tracker, hidden camera, hotspot, and drone within a few hundred feet is announcing itself over the air — and the typical household hears none of it.
I wanted my own home to answer both, on its own, and only bother me when the answer was "something here doesn't belong." Not a cloud subscription that pings me every time a car drives past. A sentry I own outright, running on hardware in the house, that knows my family and my devices well enough to stay quiet until it shouldn't.
That project is Eagle Eye — a self-hosted security system with two senses. It watches (a camera that recognizes the people who live here) and it listens (a passive radio scanner that catalogs the wireless devices nearby). Both feed one idea — known versus unknown — and anything unknown reaches my phone within seconds, with a face or a distance attached.
The goals going in:
- Tell my family apart from a stranger at the door — automatically, with nobody watching a monitor
- See the invisible radio layer around the house the way a normal home never does
- Get one verdict from both senses: known is silent, unknown gets my attention
- Run unattended, indefinitely, on hardware I own — no monthly fee, no third party holding the footage
- Respect privacy in my own house: process locally, keep only the exceptions
Challenge
Every layer of this had a catch.
A camera that cries wolf. Off-the-shelf cameras detect "a person" and notify you — for you, your spouse, the mail carrier, and a raccoon, identically. The alert you actually want — a person I don't recognize is here — is buried under every person who's supposed to be here. A camera that can't tell your family from a stranger isn't security; it's a motion sensor with a lens.
An entire sense going unused. The whole radio layer around a home goes unwatched. Hidden cameras, a tracker riding in a stranger's pocket, an unfamiliar phone lingering at the curb a little too long, a parked hotspot, a drone overhead — none of it shows up unless something is deliberately listening for it. A normal home has no idea any of it is there.
"Normal" is different in every house. The hard part isn't detecting faces or devices; it's knowing which ones belong. Get the baseline wrong and you either drown in false alarms — and start ignoring the system entirely — or you miss the one signal that actually mattered.
The footage can't live in someone else's cloud. A system pointed at my own family's front door shouldn't be streaming every face to a third party. Whatever I built had to do its thinking on hardware in the house and keep only the handful of frames that earned an alert.
A sentry that dies quietly is worse than none. It has to run 24/7, survive reboots and crashes, and — critically — notice and report its own failures. A security system you assume is watching, that silently stopped hours ago, is a liability dressed up as protection.
Solution
I built Eagle Eye as two sensing pipelines feeding one decision-and-alert layer, all running on a small always-on machine in the house.
The vision layer (watching)
It pulls still frames from an ordinary doorbell camera on a short, steady interval and runs face recognition entirely on the local machine — no cloud — against a small allowlist of approved household members. A frame with only known faces, or no faces at all, is discarded immediately, which is good for both storage and privacy. A frame with a face that isn't on the list is treated as a stranger: it's copied off-site so the evidence outlives the moment, and pushed to my phone with the photo attached. The match threshold is deliberately tuned toward security — "close enough" doesn't quietly wave someone through as family.
The signals layer (listening)
A passive scanner continuously catalogs every nearby Wi-Fi network and Bluetooth device. It only ever listens — it never transmits, never connects, never announces itself. For each device it reads the manufacturer block of the hardware address and fingerprints the vendor against a bundled registry of tens of thousands of them, converts raw signal strength into a rough distance, and tracks how long that device has been hanging around. My household's own gear becomes the baseline; anything outside it surfaces. A new phone that parks at the curb for an hour looks nothing like the neighbor's fridge that's sat at the same weak signal for months.
The watchlist
On top of plain "unknown," the signals layer carries a curated list of hardware you specifically don't expect outside a family home — item trackers, drones, cellular field gear, and surveillance-grade radios. A hit on that list isn't just unknown; it's its own, louder class of alert. That's the difference between "a device I haven't catalogued yet" and "a device that has no business being here."
One brain, one channel
Both senses resolve to the same simple three-way verdict: known (ignore it), unknown (tell me), or watchlisted (tell me louder). Everything worth knowing arrives the same way — a real-time push to my phone, carrying the snapshot for a face or the vendor and distance for a device, plus an off-site copy of the evidence so it survives even if whatever triggered it is still standing in the driveway. One feed, two senses, no dashboard to babysit.
Always on, never silent
Eagle Eye runs as a self-healing background service. It starts on boot, restarts itself after a crash, and — the part most home setups skip — reports its own failures to the same phone channel as everything else. If a camera goes dark or the scanner stalls, I hear about it. A security system that fails silently is just a story you tell yourself about being protected.
Results
Eagle Eye turned two of the biggest blind spots around my home into a single quiet feed that only speaks up when it should. The camera stopped crying wolf: instead of "a person is at the door" forty times a day, I get the rare, specific "someone you don't recognize is at the door," with their face attached. And the radio layer that every other house on the block is blind to is now catalogued, baselined, and watched. It costs effectively nothing to run — it leans on a camera the house already had and a small always-on machine, with no subscription and nobody else holding the footage.
Why this matters — and what I'd tell anyone building their own:
- Identity beats motion. The entire value is recognizing what belongs so the unknown stands out. A system that alerts on everything trains you to ignore it; a system that alerts on the unexpected is one you actually trust. Baseline first, alert on the delta.
- Watch the layer no one else watches. Cameras are a crowded, solved space. The radio around a home is wide open, completely passive to monitor, and tells you things a lens never can — like a device that's been circling the block three nights running.
- Local-first is a security feature, not a constraint. Processing on hardware you own and keeping only the exceptions means the system's own footage can't leak from a vendor you don't control. Privacy and security point the same direction here.
- A monitor that can't monitor itself is theater. The self-reporting failure path was the difference between a demo and something I actually rely on. Assume every component will eventually fail, and make the system tell on itself when it does.
Conclusion
Eagle Eye is a home that watches its own perimeter — both the part you can see and the part you can't. Two senses, one watchlist, real-time alerts, and a baseline of who and what belongs here so it can flag the moment something doesn't. It runs unattended on hardware I own, stays quiet almost all the time, and earns its keep on the rare occasion it speaks up.
I built this one for my own family, but the approach — baseline the known, watchlist the dangerous, alert on the rest — scales to any perimeter worth protecting. Get in touch if you want one pointed at yours.

