CatWatch: Computer Vision on the Edge
A family project — detecting which cat is at the door using a local model, because cloud APIs don't need to know about my cats.
We have two cats. They have different feeding schedules, different attitudes, and identical willingness to sit by the back door looking offended. CatWatch identifies which one is waiting and triggers the right Home Assistant automation.
Architecture
- Camera: Reolink PoE on the lab VLAN
- Inference: YOLO fine-tuned locally, served from the DGX Spark
- Orchestration: Home Assistant on a NUC, webhook from inference API
- Privacy: No frames leave the house. Ever.
Why not just use a cloud API?
Because the whole point of this lab is sovereignty. My cats’ faces don’t need to be training data for someone else’s model. The inference runs in ~80ms on the Spark — fast enough to unlock the cat flap before the offended meowing escalates.
Lessons for enterprise
This is a trivial project by enterprise standards. But it exercises the same patterns: edge inference, local model serving, event-driven automation, zero egress. If you can’t explain why your home AI setup doesn’t phone home, you probably can’t explain it for your client’s either.
More detail on the /projects page.
