chillcheck Beta
How it works

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.

The system

Four components. One continuous loop.

01

Zigbee sensor

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.

02

Raspberry Pi hub

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.

03

ChillCheck 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.

04

Your phone & email

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.

Setup — one time

Up and running in under an hour.

Follow these three steps once. After that, ChillCheck runs without any intervention.

01

Flash the hub

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.

02

Pair the sensors

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.

03

Configure alerts

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.

Ongoing

Once set up, ChillCheck runs quietly in the background.

What happens every minute

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.

What you actually see

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.

When a threshold is breached

Alerts that escalate until someone responds.

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.

T + 0 min

Threshold crossed — email and SMS sent

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.

T + 30 min (configurable)

Still unacknowledged — voice call placed

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.

Acknowledged

Alert closed

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.

Resolved

Temperature returns to normal

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.

Offline resilience

When the internet goes down.

The problem

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.

Hub offline · broadband dropped at 03:14

ChillCheck's response

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.

  • Local SQLite buffer — up to ~7 days per hub
  • Readings drained in recorded-at order on reconnect
  • Retrospective alerts stamped at the original breach time
  • Outage duration noted in the alert message
  • Optional 4G USB dongle failover via NetworkManager
Reconnected · 14 readings synced · 1 retrospective alert
Early access

Want early access?

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.