The monitoring app
A layer on top of a home camera recorder that tries to decide which events matter. It is parked for now.

The monitoring app on 3 October 2026. Every camera image, every place name and every time is covered with a grey box, and so are the app's name and the values in the status bar.
What it is
A home camera recorder saves everything and sends an alert for everything. The monitoring app sits on top of an open-source recorder and tries to answer one question: does this event matter? An event it recognises should become one log line. An unknown one should keep the full recording and get a written report.
We started building it on 16 August 2026. It is parked now.
How it works
The recorder detects people and cars and sends a message for each event. The app saves the event, fetches the best frame and the clip, and passes them through queues. Graphics-card work runs one job at a time. A pure decision function then sets how long to keep the recording and whether to send an alert. Claude writes reports in Norwegian and judges events from the images.
Several commits are about measurements that disproved our assumptions. Every settings save reset all fifteen settings to their defaults, so switching one Claude feature off switched the other four back on. That was fixed on 23 August.
The camera close-up failed in a quieter way: the camera had never moved once, because every pan was too short to move it. The fault was found by comparing images taken before and after a pan, and the feature was turned off.
The rule we took from it: test with something a machine can compare, not by looking at whether the result seems right.
What we expected, and what happened
Read it like a code review. Each removed line is something we expected, from a plan, a spec, a README or a code comment. The added line under it is what the history shows actually happened.
Expected: The spec said a local vision model would describe each scene for unknown events.
Happened: It never worked. The log showed 103 failed calls, and 117 of 164 summaries were templates written from metadata alone. The local model was dropped, and Claude now gets the images directly.
Expected: A pan-tilt-zoom close-up would aim the camera at whatever triggered an event.
Happened: Every pulse was too short to move the camera, so the close-up never aimed at anything. On 2026-08-23 the feature was turned off and the app was parked.
Expected: The docs set a daily budget of Claude calls (default 50) to control cost.
Happened: The budget was set to 0, so nothing slowed spending. And one call could use 147,000 input tokens and another 19,000, so a call count measured nothing useful. A daily token budget and five on/off switches were added.
Page history
- First version of this page.
- On 2026-10-03 the wording was made stricter under the monitoring app's own rules: the page no longer describes recognising people, faces or cars, and the face-recognition library is left out of the stack. No new commits since the last update.