Sensors to alert in under a minute.
Here's exactly what happens, from a sensor picking up a temperature change to you getting a phone call.
Here's exactly what happens, from a sensor picking up a temperature change to you getting a phone call.
Battery-powered sensor inside each cabinet. Reads temperature every minute and broadcasts over the Zigbee radio protocol. No Wi-Fi required; no configuration beyond pairing.
Sits in a cupboard, uses under 5W. Runs Mosquitto (MQTT broker), Zigbee2MQTT, and the ChillCheck subscriber service. Processes every reading locally and forwards to the cloud.
Supabase database stores every reading, alert, and audit event. Vercel handles alert delivery — email via Resend, SMS and voice via Vonage. All on managed infrastructure with 3-year retention.
Alerts arrive by email first, then SMS, then voice call. The dashboard updates live. Acknowledge by pressing 1 on any phone — no app needed, works from any handset anywhere.
Follow these three steps once. After that, ChillCheck runs without any intervention.
Flash Raspberry Pi OS Lite to a microSD card and run our setup script. It installs Mosquitto, Zigbee2MQTT, and the ChillCheck subscriber service automatically. Takes about 15 minutes on a standard broadband connection.
Press the button on each Sonoff sensor to put it in pairing mode. The local UI at chillcheck.local walks you through naming each sensor and assigning it to a cabinet. No wiring. No drilling.
Set warning and critical temperature bands per cabinet in the cloud dashboard. Add your contacts and choose how each should be notified — email, SMS, voice call, or all three. Out-of-hours rules let you skip SMS and go straight to a voice call at night.
Each sensor broadcasts a temperature reading over Zigbee to the hub's USB coordinator. Zigbee2MQTT receives the broadcast and publishes it to the local Mosquitto MQTT broker. The ChillCheck subscriber service reads from the broker, checks the reading against your configured thresholds, and writes it to Supabase.
The dashboard reads from a live view of the latest reading per cabinet. It shows current temperature, trend direction (compared to the previous hour's median, not just the target), and status: Stable, Drifting, Critical, or Offline.
Open the dashboard from your phone, laptop, or the back-office PC. Every cabinet you monitor appears on the home screen, sorted so problems surface first — critical cabinets at the top, stable ones below. Temperature updates automatically.
If everything is fine, you won't hear from ChillCheck at all. That's the point. You only get a notification when something needs your attention — and when you do, you'll have all the context you need to act immediately.
Every step is logged, and the delays below are the defaults — email, SMS and call timings are all configurable per alert rule (SMS can fire immediately or after a set wait). The alert stays open until it's acknowledged or the temperature returns to normal.
An alert is created and both email and SMS go out to your contacts immediately. The alert appears on the dashboard and the clock starts. SMS is included in your monthly bundle — 100 per site per month.
If no one has acknowledged, a voice call is made. A spoken message gives the cabinet name and current temperature. The contact presses 1 on any phone to acknowledge — no app, no login required.
An audit entry is created capturing who acknowledged the alert, when, and which reason code they selected: door left open, defrost cycle, false alarm, or fault.
If the temperature drops back into the safe range, the alert is auto-resolved and a second audit entry is written. The full sequence — breach, escalations, acknowledgment, resolution — is preserved in the compliance export.
Broadband is not perfectly reliable. If your router loses its connection, the hub can't write to Supabase. Without a buffer, you'd have a gap in your temperature record — and no retrospective alerts for any breaches that happened during the outage.
For food businesses with EHO obligations, a gap in records is not just inconvenient. It means you can't demonstrate due diligence for that period.
If a Supabase write fails, the reading goes into a local SQLite buffer on the hub's SD card instead. The buffer holds roughly a week of readings per hub — enough for all but the most prolonged outages.
When connectivity comes back, the hub drains the buffer in chronological order and replays threshold checks against each reading. If a breach occurred during the outage, you still get the alert — stamped at the time it actually happened, with a note in the message indicating the outage duration.
We’re onboarding kitchens in batches during the beta. Tell us about your site and we’ll get you set up. 30-day money-back guarantee, no long-term contract.