Home Security: Local-First Alerts
Home Security: Local-First Alerts
In plain English: This is a local-first home monitoring build focused on dependable alerts, privacy, and clear behavior under failure.
TL;DR:
- Goal: lightweight motion detection with immediate phone-visible signal.
- Revised pipeline sends screenshot first, then uploads a fixed clip for robustness.
- Design prioritizes reliability and simplicity over feature bloat.
Overview
This project began as a practical experiment: build a lightweight home monitoring workflow that is private, customizable, and local-first. The goal was not to replicate a full commercial security stack, but to design a reliable alerting loop with minimal hardware and clear failure modes.
Goal
Keep a laptop-based camera system running while away and receive phone alerts when motion is detected, including a snapshot and a short clip. It is intentionally constrained, but useful for renters or temporary setups where permanent installation is not possible.
Constraints
- The MacBook webcam and its green LED indicator are wired together. If the camera is powered, the LED is on—so discreet monitoring isn't realistic.
- Trigger timing, clip length, and upload strategy create tradeoffs between responsiveness, reliability, and bandwidth/storage costs.
- A livestream would be ideal for real-time evidence capture, but it adds complexity and raises questions about platform policies and control flow.
Initial Design Considerations
The first design avoided auto-starting livestreams and instead used event-driven recording: detect motion, capture video, then send the clip to a private Discord channel via webhook. The weakness was obvious: if recording was interrupted after trigger, the most important part of the event might never be delivered.
Revised Design Approach
The revised workflow sends an immediate screenshot alert on motion detection, then records and uploads a fixed 30-second clip. This ensures a minimum signal is delivered even if recording fails, and makes missing-video alerts a meaningful tamper indicator. The result is a simpler and more robust pipeline with predictable behavior under failure.
Links
Source code repository for this project.
GitHub