ColdWatch

Predicts a failing fridge/freezer hours before it spoils donated food — and ignores door-opens so the alarm stays trustworthy.

WiFi: up

Food banks lose donated perishables when a fridge fails overnight. Storage rooms often have weak/no WiFi and no budget for SaaS monitoring. A $5 thermometer beeps after the food is already warm.

Not a thermometer — a verifiable edge tool, with zero LLM at runtime. The intelligence is a deterministic anomaly engine (anomaly.js — read it, it's plain JS): threshold + predictive drift + door-open discrimination. It runs identically on the ESP32 firmware. This is the portfolio's proof of embedded engineering, not prompting.

Reading
Trend
Sample cadence
🔊
Buzzer (local, offline-safe)
LED (local, offline-safe)

Alert log

How the anomaly engine decides

  1. Door-open suppression — an out-of-band reading that recovers within the grace window (180s fridge / 300s freezer) never alerts.
  2. Threshold — out-of-band longer than the grace window (it didn't recover) → critical, fires the local buzzer/LED with no network required.
  3. Predictive drift — a sustained warming trend, projected forward, that will cross the safe max within the horizon → warning, before the threshold is ever breached.

Full logic: build/anomaly.js (browser demo) and build/firmware/coldwatch.ino (real ESP32 firmware — same rules, in C).