vdg · 4 August 2026

Nobody was watching. That's the point.

A fleet has more cameras than eyes. Whatever your robot saw at 14:02, nobody was watching it happen — that’s not a failure of discipline, it’s arithmetic. So over the last two weeks we built the field brain a memory, and the judgement to index it.

The black box. The robot records continuously — video, and now audio — into a ring on its own disk. About three days of footage, kept whether or not anyone is connected, surviving reboots, dead links, and every crash we’ve thrown at it. Replay doesn’t upload anything: the robot streams the requested moment back over the same encrypted path as live video. The footage stays on the machine unless an operator chooses to save a clip.

The events. A buffer you can’t search is a haystack. So the robot notices things by itself. When something moves, it looks: the event arrives saying person, animal, vehicle — or honestly, nothing — plus one sentence about what actually changed. When something makes a sound, it listens: speech becomes a transcript; a door slam stays a door slam. Every event is a timestamp into the recording, so “someone was here” is one click from watching them arrive. And the robot keeps its own copy of that index, on its own disk — ask it “did anything happen while I was away?” with the network gone, and it answers, then shows you.

MOTION no subject 7.3% 8/3/2026, 6:53:31 PM
A green leafy tree and a light-colored rectangular structure are visible on the left side of the frame.
The seconds that event indexes, straight out of the ring: the run-up, the traffic beyond the fence, golden-hour light through the doorway. The publishable window ends where the robot's own per-second classifier saw a passer-by enter frame — the recording continues; the page doesn't. Vetted by the classifier, then frame by frame by eye.

The judgement is the hard part. Three lessons from making a machine an honest witness:

  • We measured our first labelling prompt instead of trusting it: 5 of 13 frames right. The wording we shipped scores 13 of 13 on the same frames — the fix was refusing to let the model call furniture an “object”, and it made person detection sharper too.
  • The description model once reported someone “adjusting a security camera”. There was no camera — a fire-alarm box — and no adjusting. Rebuilt to report only what is visible, it stopped inventing intent and started catching people the looser wording had missed. Telling it to see less made it see more.
  • Speech recognition, handed a bang, will confidently transcribe “Thank you.” We reject those. In a log someone will trust, a quotation nobody said is worse than silence.

One more, because the ledger keeps its spine: after a reboot we found the recorder’s index claiming a window of minus 20,665 days. The robot has no battery-backed clock; it woke up believing it was 1970 and stamped one file accordingly — and one bad filename poisoned the whole index. Now it refuses to record until it knows what time it is. A black box that is briefly empty beats one that lies about when.

Watch, replay, search, ask — with no cloud, no link, and no one at the console.

More of the robot’s own footage and the numbers behind these weeks live on the field log, next to the model card that keeps the score honest.

If your robots work where nobody’s watching, talk to us.